web-dev-qa-db-ja.com

LinuxマシンをVirtualBoxに変換する

物理的なCENTOS6マシンをVirtualBoxVMに変換するのに問題があります。

私はこれに従いました: https://www.linux.org/threads/physical-to-virtual-p2v-using-virtualbox.10928/ これはClonezillaとVboxManageを使用します

Clonezillaでイメージを作成できますが、VBoxMangerを実行すると次のエラーが発生します。

VBoxManage convertfromraw --format VDI sda6.ext4-ptcl-img.uncomp.aa target.vdi
Converting from raw image file="sda6.ext4-ptcl-img.uncomp.aa" to file="target.vdi"...
Creating dynamic image with size 553033589122 bytes (527414MB)...
VBoxManage: error: VD: The given disk size 553033589122 is not aligned on a sector boundary (512 bytes)
VBoxManage: error: Error code VERR_VD_INVALID_SIZE at /home/vbox/vbox-5.2.26/src/VBox/Storage/VD.cpp(6220) in function int VDCreateBase(VDISK*, const char*, const char*, uint64_t, unsigned int, const char*, const VDGEOMETRY*, const VDGEOMETRY*, const RTUUID*, unsigned int, VDINTERFACE*, VDINTERFACE*)
VBoxManage: error: Cannot create the disk image "target.vdi": VERR_VD_INVALID_SIZE

「セクター境界(512バイト)に整列されていない」の解決策を検索したところ、bsとconv = syncフラグを指定してLinuxコマンドddを使用すると言われていましたが、bsはディスクよりも大きく設定されていました。私のディスクは大きすぎて、大きな数(600Gなど)のbsを使用できません。私が走るとき:

dd if=sda6.ext4-ptcl-img.uncomp.aa of=padded-sda6.ext4-ptcl-img.uncomp.aa bs=600G conv=sync

エラーが発生します:

dd: memory exhausted

512境界の問題をどのように回避しますか?

1
user1018033

別のアプローチを試してください。

  1. 元のサイズとほぼ同じサイズの空のディスクイメージを作成します。疑わしい場合は、小さすぎるのではなく大きすぎます。 VMに接続します。

  2. VM Clonezillaを含むレスキューディスクISOから起動します(Clonezilla LiveCD、GRML、Ubuntuも機能しますが、インターネットからClonezillaをインストールする必要があります)。

  3. ゲストのネットワーク経由でホスト上のディスクイメージにアクセスできるようにします。 Linuxホストでは、sshfsを使用できます。Windowsホストの場合、ネットワーク共有が最も簡単な方法です。

  4. VMのネットワークカードをホストオンリーまたはNATに構成します。ホストのIPを見つけます。

  5. ゲストでClonezillaを実行し、この共有リソースを作業ディレクトリとしてマウントします(/home/partimag)。 Clonezillaは、sshベースの共有とWindowsネットワーク共有(samba)の両方を支援します。

  6. Clonezillaを使用して、イメージからゲストのディスクを復元します。

1
gronostaj