VM変換と移行
ハードウェアの統合、レガシーシステムの保存、または仮想環境でのアップグレードのテストを行う場合、Unraid 上で物理ディスクを変換したり、既存のシステムを virtual machine に移行したりする必要があることがあります。この手順は Linux と Windows の両方のシステムに適用され、インストールを Unraid サーバー内の VM として実行できるようにします。
:::note[Prerequisites]
- Unraid サーバーが仮想化のための最小 ハードウェア要件 を満たしている必要があります(下の表を参照)。
- ソースディスクは、Unraid サーバーに接続されている必要があります(SATA、USB、または未割り当てデバイスとして)。
- 新しい仮想ディスクイメージを収容できるだけの空き容量が array または cache pool にあることを確認してください。
- 変換または移行プロセスを開始する前に、重要なデータを必ずバックアップしてください。
:::
ハードウェア要件
| コンポーネント | 最低要件 | 最高のパフォーマンスのために推奨 |
|---|---|---|
| CPU | ハードウェア仮想化対応の64ビット(Intel VT-X/AMD-V) | パススルー用のVT-d/AMD-Vi対応マルチコアCPU |
| RAM | 8 GB | 16 GB以上 |
| ストレージ | 十分な空き容量のあるSSDまたはNVMe cache pool | VM ストレージ用の専用 NVMe cache pool |
| マザーボード/BIOS | 仮想化を有効にした UEFI | IOMMU/VT-d/AMD-Vi を有効にした UEFI |
物理ディスクをVMに変換する
Unraid サーバー上の virtual machine に既存の Linux または Windows システムを移行することは、ハードウェアの占有を減らし、レガシーシステムを稼働し続けたり、新しいアップグレードを安全にテストしたりするのに最適な方法です。
物理ディスクを VM に変換するには:
- Linux
- Windows
ステップ 1: 物理ディスクを準備する
- ソースディスクを Unraid サーバーに接続します(SATA または USB を使用)。
- WebGUI(
http://towerまたはhttp://tower.local)にログインします。 - Main タブをクリックします。
- Start the array if it isn’t already running.
- Unassigned Devices の下でディスクを見つけます。
- Take note of the device letter (e.g.,
sdb,sdc) and disk size. You’ll need at least this free space on your array or cache pool for the new virtual disk.
ステップ 2: 新しい仮想マシンを作成する
次の例外を除いて、仮想マシンを自分で作成する ガイドを参照してください:
- BIOS を OVMF に設定します。 最適なパフォーマンス のために、必ず VirtIO Drivers ISO を指定してください。
- Store VM images on a cache pool instead of an array for the best performance.
ステップ 3: 物理ディスクを virtual disk イメージに変換する
ターミナル(SSH またはローカルコンソール)を開き、root としてログインします。
次のコマンドを使用して、物理ディスクを virtual disk イメージに変換します:
qemu-img convert -p -O raw /dev/sdX /mnt/user/[vdisk_share]/[vmname]/vdisk1.img
コマンドの内訳:
qemu-img convert: ディスクイメージの変換に使用するツールです。-p: 進行状況をパーセンテージで表示します。-O raw: 出力形式を raw に設定します(Unraid の既定値)。/dev/sdX: ソースは物理ディスクです。/mnt/user/[vdisk_share]/[vmname]/vdisk1.img: virtual disk イメージの保存先です。
処理が完了するまで待ちます。生成される .img ファイルが、VM のプライマリディスクになります。
ステップ 1: 仮想マシンの XML を編集する
-
Next, scroll down the XML and find the
<target>tag for the<disk>that has a<source>file set tovdisk1.img. It should look like this:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/[vdisk_share]/[vmname]/vdisk1.img'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<boot order='1'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk> -
変更するには、
<target>タグの bus 属性をvirtioからideに変更します。 -
Then, remove the entire
<address>line for that<disk>. -
更新後の XML は次のようになります:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/[vdisk_share]/[vmname]/vdisk1.img'/>
<backingStore/>
<target dev='hda' bus='ide'/>
<boot order='1'/>
</disk> -
最後に、Update をクリックして、virtual machine の XML への変更を保存します。
ステップ 2: VM 内から VirtIO ドライバーをインストールする(Windows ゲストのみ)
- Windows ファイル エクスプローラー を開き、VirtIO 仮想 CD-ROM に移動して内容を表示します。
- Balloon フォルダーに移動します。
- そのフォルダー内で、Windows OS のバージョン 用のサブフォルダー(例:
w8.1)を見つけます。 - amd64 サブフォルダーに移動します。
- balloon.inf ファイルを右クリックし、コンテキストメニューから Install を選択します。(これを行うには、ファイル拡張子の表示を有効にする必要があります。)
- 次の各フォルダーについて、この手順を繰り返します:
- NetKVM
- vioserial
- viostor
- ドライバーをインストールしたら、仮想 CD-ROM に戻って guest-agent フォルダーを開きます。
- qemu-ga-x64.msi をダブルクリックして、QEMU/KVM ゲストエージェントをインストールします。
ステップ 3: ディスクバスを VirtIO に戻す
- VM が実行中の場合は、そのまま シャットダウン します。
- VMs タブで VM アイコンをクリックし、コンテキストメニューから Edit XML を選択します。
vdisk1.imgの<disk>セクションを見つけ、<target>タグ内のbus='ide'をbus='virtio'に戻します。- Update をクリックして、VM への変更を保存します。
- これで変換した virtual machine を起動できます!
物理ディスクをVMに移行する
Unraid の仮想マシン(VM)上で、物理ディスクから直接 Windows インストールを実行できます。この方法は、仮想ディスクイメージに変換せずに既存の Windows システムを移行するのに役立ちます。図解付きの手順については、Spaceinvader One のチュートリアルをご覧ください:
ハードドライブのパススルー、ディスクの変換、および Unraid VM でのパフォーマンス テストの方法(YouTube)。
Unraid で Windows インストールを VM に移行する一般的な方法は 2 つあります:
物理ディスクパススルー: これは元のディスクをそのまま VM で直接使用します。
- 利点: 最も高速な方法で、イメージ変換は不要です。
- 欠点: SATA ポートを 1 つ使用します。VM に接続されている間、Unraid はそのディスクを他の用途に使用できません。
ディスクイメージ変換: 物理ディスクを VM で使用するための virtual disk イメージ(.img)に変換します。
- 利点: より柔軟で、ディスクを Unraid 共有として使用したり、VM スナップショット に利用したりできます。
- 欠点: 変換処理に時間と空き容量が必要です。
簡単な移行をしたい場合や、ディスクをデュアルブートで使う予定がある場合はパススルーを選びます。移植性とバックアップの選択肢を重視するなら、イメージ変換を選びます。
:::note[Prerequisites]
- 開始する前に Windows のインストールをバックアップしてください。
- 復旧ツール用の予備の USB フラッシュドライブを用意してください。
- ドライバーとハードウェア抽象化レイヤー(HAL)を変更して、仮想化されたハードウェアで Windows が起動できるようにするハードウェア準備ツールを選択します:
- Microsoft Sysprep(無料で、Windows 8.1 以降に組み込み済み)
- Acronis True Image 2025(高度な移行機能を備えた商用ソリューション)
- Unraid サーバーに、物理ディスク用の空き SATA または NVMe ポートがあることを確認してください。
:::
手順 1: 移行用に Windows ディスクを準備する
物理または仮想を問わず、Windows のインストールを新しいハードウェアへ移行すると、ハードウェアの違いにより起動に失敗することがあります。以下のいずれかの方法に従って Windows システムを準備してください:
オプション A: Microsoft sysprep(推奨 - 無料)
Sysprep は Windows に組み込まれており、システム固有の情報を削除して、Windows を異なるハードウェア向けに準備します。
- ウイルス対策ソフトウェアを一時的に無効にします。
- 不要なユーザープロファイルと一時ファイルを整理します。
- sysprep の実行を妨げる可能性のある問題のある Microsoft Store アプリは修復または削除してください。
-
sysprep を実行:
-
管理者としてコマンドプロンプトを開きます。
-
sysprep ディレクトリに移動します:
cd C:\Windows\System32\Sysprep -
一般化オプション付きで sysprep を実行します:
sysprep.exe /generalize /shutdown /oobe -
システムはインストールを一般化し、その後シャットダウンします。
-
-
シャットダウン後、Unraid サーバーにディスクを取り付けます。
オプション B: Acronis True Image 2025(商用)
Acronis True Image 2025 には Universal Restore が搭載されており、ハードウェア移行を支援します。
- Acronis True Image 2025 をダウンロードしてインストールします。
- 付属のツールを使ってブータブル復旧メディアを作成します:
- Windows 風のインターフェースを選択します。
- お使いの Windows に一致するアーキテクチャ(32 ビットまたは 64 ビット)を選択します。
- Acronis の復旧メディアから Windows システムを起動します。
- 画面の指示に従って、Windows ディスクに Universal Restore を適用します。これにより、仮想化されたハードウェアとの互換性を高めるためにドライバーと HAL が更新されます。
- システムをシャットダウンし、ディスクを Unraid サーバーに取り付けます。
手順 2: Unraid で物理ディスクを特定する
- WebGUI(
http://towerまたはhttp://tower.local)にログインします。 - Main タブに移動します。
- Start the array if it’s not already running.
- Unassigned Devices の下でディスクを見つけます。
- VM 設定で使用するために、デバイス名(例:
sdb、sdc)を控えておきます。
手順 3: 新しい仮想マシンを作成する
- WebGUI の VMs タブに移動します。タブが表示されない場合は、仮想化が有効になっており、ハードウェア要件を満たしていることを確認してください。
- Add VM をクリックします。
- 独自の仮想マシンの作成 ガイドに従い、次の設定を使用します:
- BIOS を SeaBIOS に設定します(SeaBIOS で起動しない場合は OVMF を試してください)。
- OS Install ISO は空欄のままにします。
- 起動後の最適なパフォーマンスのために、VirtIO Drivers ISO を指定します。
- メインの virtual disk には、任意の場所とサイズを選択します(これは次の手順で置き換えられます)。
- Start VM after creation のチェックを外します。
手順 4: 仮想マシンの XML を編集する
物理ディスクを virtual machine に接続するために、VM の XML 設定を変更する必要があります。
-
VMs タブで VM アイコンをクリックし、コンテキストメニューから Edit XML を選択します。
-
XML を下へスクロールし、メインの virtual disk の既存の
<disk>エントリを見つけます。通常は.imgファイルを指しており、次のような形になっています:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/user/[vdisk_share]/[vmname]/vdisk1.img'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<boot order='1'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>このブロックを次の内容に置き換えます。ここで
sdXはデバイス名です。より確実なデバイス割り当てのために、可能であれば/dev/disk/by-id/[your-disk-id]を使用してください([Unraid Docs: Using a physical disk in a VM] を参照):
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source dev='/dev/disk/by-id/[your-disk-id]'/>
<target dev='hdd' bus='sata'/>
</disk>ディスクが IDE の場合は、バスを "SATA" から "IDE" に、ターゲットデバイスを "hdd" から "hda" に変更します。
再起動やハードウェア変更後もディスク割り当てを一貫させるため、
/dev/sdXよりも/dev/disk/by-id/の使用が推奨されます。 -
Update をクリックして XML の変更を保存します。
手順 5: ドライバーをインストールする
- VM を起動します。
- Windows で、スタートメニューを右クリックして Device Manager を選択し、デバイス マネージャーを開きます。
- 黄色の感嘆符が付いているデバイス(ドライバーが見つからないことを示します)を探します。それぞれを右クリックして Update driver を選択します。
- Browse my computer for drivers を選択します。
- VirtIO Drivers ISO がマウントされているドライブに指定します(通常は D: または E:)。
- Include subfolders にチェックが入っていることを確認し、Next をクリックします。
- ドライバーが不足している各デバイスについて、この手順を繰り返します。一般的には、SCSI Controller、Ethernet、Balloon、Serial デバイスが含まれます。
ウイルス対策プログラムなど、独自のドライバーをインストールするソフトウェアを使用している場合は、移行後にそれらのアプリケーションを再インストールすることを忘れないでください。
Xen から KVM への移行
Unraid は初期の 6.x バージョンから Xen をサポートしていましたが、6.2(2016 年 9 月)で非推奨となり、その後完全に削除されました。この移行ガイドは、非常に古い Unraid インストール(2017 年以前)から最新バージョンへアップグレードするユーザーに関連します。
Xen ハイパーバイザーは、複数のオペレーティングシステムを同じハードウェア上で実行できる仮想化プラットフォームです。Unraid では、Xen は歴史的に virtual machines に使用されていましたが、現在は KVM が標準です。Xen から KVM へ移行することは、最新の Unraid 機能を利用し、ハードウェアパススルーを有効にし、現在のリリースとの互換性を確保するために不可欠です。
Xen から KVM への VM の移行手順は、VM が準仮想化(PV)ゲストとして構成されているか、ハードウェア仮想化(HVM)ゲストとして構成されているかによって異なります。このガイドでは、特別な対応が必要な Xen の GPLPV ドライバーを使用している Windows VM の変換に特に焦点を当てています。
この手順を始める前に、必ず Xen の仮想ディスクをバックアップしてください。また、データ損失を防ぐため、バックアップ上で移行をテストしてください。
Windows 変換手順
Xen から KVM に Windows VM を変換するには、以下の手順に従います。始める前に、Xen ドメイン設定から PCI デバイスのパススルーをすべて削除する ことを忘れないでください。これらのデバイスは、移行完了後に再度追加できます。
手順 1: VM が Xen の GPLPV ドライバーを使用しているか確認する - クリックして展開/折りたたみ
手順 2: GPLPV ドライバー削除のために Windows を準備する - クリックして展開/折りたたみ
- 管理者としてコマンドプロンプトを開きます(Start menu →
cmdと入力 → Command Prompt を右クリック → Run as administrator を選択)。 - 次のコマンドを入力します:
bcdedit -set loadoptions nogplpv - VM を再起動します。
手順 3: GPLPV ドライバーをアンインストールする - クリックして展開/折りたたみ
再起動後、Xen Project Wiki に記載された包括的な手動削除手順を使用して、システムからすべての Xen GPLPV ドライバーを削除します。
GPLPV の削除には、レジストリの大規模な編集と手動でのファイル削除が必要です。エラーはシステムの不安定化や起動失敗の原因となるため、Xen Project Wiki の手順を記載どおりに 正確に 実行してください。
手順 4: 新しい KVM 仮想マシンを作成する - クリックして展開/折りたたみ
-
VM manager が有効になっていることを確認します:
- Settings → VM manager に移動します。
- Enable VMs を Yes に設定します。
- ドロップダウンメニューから選択して Download をクリックし、Windows 用の最新の VirtIO drivers ISO をダウンロードします。
-
VMs タブに移動して Add VM をクリックします。
-
元の Xen 仮想マシンに一致する Windows バージョンを選択します。
-
基本設定を構成します:
- Name: VM にわかりやすい名前を付けます。
- VirtIO drivers ISO: 先ほどダウンロードしたバージョンを選択します。
-
Primary vDisk Location の下で:
- 既存の Xen 仮想ディスクを参照して選択します。
-
一時的なセカンダリ vDisk を追加します:
- 緑のプラス記号をクリックします。
- サイズを 1M に設定します(これにより初回起動時に IDE バス互換性が強制されます)。
- 場所には任意の一時ディレクトリを選択します(後で削除されます)。
-
グラフィックスとサウンドの他の設定は既定値のままにして、Create をクリックします。
-
VM が自動的に起動した場合は、停止します:
- Force stop は、VM が応答しない場合を除き使わず、Stop を推奨します。
- あるいは、VM 作成時に Start VM after creation のチェックを外します。
-
VM の設定を編集します:
- VM アイコンをクリックして Edit を選択します。
- 右上の切り替えを使って XML view に切り替えます。
-
メインディスクの XML を変更します:
- メインの仮想ディスクの
<disk>セクションを見つけます。 <address>行をすべて削除します。<target>タグ内のbus='virtio'をbus='ide'に変更します。- Update をクリックします。
- メインの仮想ディスクの
手順 5: VirtIO ドライバーをインストールする - クリックして展開/折りたたみ
- VMs タブから VM を起動します。
- VM アイコンをクリックして Start with console (VNC) を選択し、VNC で接続します。
- 起動中:
- Windows は新しいハードウェアを検出しますが、ドライバーのインストールに失敗する場合があります。
- プロンプトが表示されたら Reboot later を選択します。
- Device Manager を開きます(Win+X を押して Device Manager を選択します):
- Other devices の下にある各デバイス(Ethernet Controller、PCI Device など)用のドライバーをインストールします:
- デバイスを右クリックして Update driver を選択します。
- Browse my computer for drivers を選択します。
- VirtIO ISO ドライブを指定します(例:
D:\)。 - Include subfolders を確認します。
- 表示された場合は Always trust Red Hat を承諾します。
- Other devices の下にある各デバイス(Ethernet Controller、PCI Device など)用のドライバーをインストールします:
- QEMU guest agent をインストールします:
- ファイル エクスプローラーを開き、
D:\guest-agent\に移動します。 qemu-ga-x64.msiをダブルクリックします。
- ファイル エクスプローラーを開き、
- VM をシャットダウンします。
手順 6: VM 設定を最終調整する - クリックして展開/折りたたみ
- VM を編集します:
- VM を更新します:
- Update をクリックして変更を保存します。
- 通常どおり VM を起動します。
- Device Manager で次の点を確認します:
- (任意)パフォーマンス向上のために VirtIO を有効にします:
- VM を編集して XML view に切り替えます。
- プライマリディスクの
busをideからvirtioに変更します。 - Update をクリックして VM を再起動します。
移行後にデバイスでエラーに気づいた場合:
- ISO から VirtIO ドライバーを再インストールします。
- Windows Update を確認してください。より新しいドライバーが提供される場合があります。
- 最新バージョンについては Red Hat VirtIO Drivers のページを参照してください。