仮想マシン(VM)から物理システムへの移行


124

Aka:.vdiまたは.vmdkを物理ディスク上の実際のインストールに変換するにはどうすればよいですか?

Ubuntuの仮想マシンインストールを物理マシンに移行することは可能ですか?可能であれば、これを達成するのはどれほど難しいでしょうか。また、移行の準備のためにどのステップを踏む必要がありますか。

VMでテストを行い、うまくいけば、すべてを再インストールするのではなく、そのシステムを物理ハードウェアに移行したいと思います。これは可能ですか?


回答:


98

はい、可能です。それもないこと、ハード(複数の内蔵ディスクを持っていない場合)、それだけでは、UbuntuのLiveCD、粘着性のバック・プラスチック、および外付けUSBディスクをいくつかの時間がかかります。

準備手順:ディスクを有用なものに変換します

VMWareとVirtualBox(特に)の両方は、ディスクに直接書き込まれるのに適さないディスク形式を使用します。可能です、個人的には、最初に中間の標準イメージに書き込む方が便利だと感じています。LiveCDから起動することなく、現在のシステムからこれを行うことができます。

  • ターミナルをロードして起動します:

    cd /media/wherever-the-image-is/
    
    # for VMWare
    sudo apt-get install qemu-kvm
    qemu-img convert your-vmware-disk.vmdk -O raw disk.img
    
    # For VirtualBox
    VBoxManage clonehd your-virtualbox-disk.vdi disk.img --format RAW
    
  • /media/wherever-the-image-is/disk.img書き込もうとしていない場所に移動します。現在使用しているディスクに書き込む予定がある場合は、別の内部ディスクに貼り付けるか、最悪の場合は外部ディスクに貼り付けます。

  • 次の手順は、移動したことを前提としています/media/dave/disk.imgdave外部USBディスクです)

  • あなたが深刻な書き込みを行う前に、バックアップを持っていることを確認してください。言うのは決まり文句ですが、タイプミスが1つあり、システムを破棄する可能性が非常にあります。物事が間違って行き、準備されると仮定します。CloneZillaは、データを保存する場所がある場合にディスク全体のバックアップを取るのに役立ちます。

イメージを独自のディスクに書き込みます

このようなことをしたいと思うでしょう。これは、ディスク全体を上書きすることを前提としています。Windowsと並行してインストールしたい場合は、これらの指示に従わないでください!箇条書きの後にスキップします。

  • Ubuntu Live CDを起動して、Ubuntuを試すをクリックします。

  • vmdkイメージが保存されている場所(たとえば、外部USBディスク/media/dave)をマウントします。書き込みたい場所をマウントしないでください。

  • 次に仕事に行きます:

    sudo dd if=/media/dave/disk.img of=/dev/sdX
    

    sdX宛先ディスクへの正しいパスに置き換えたい。sudoパスワードは、単にヒットリターン空白になっています。

  • その後、gparted他の何かを開くと、Ubuntuパーティションがディスク上に表示されます。展開できるはずです。

別のオペレーティングシステムと一緒にディスクにイメージを書き込む

これはおそらく、より完全に安全な方法です。Ubuntuの適切なインストールを行ってからからファイルを同期するだけで、アイデアは非常に似ていますdisk.img

  • 今回のLiveCDは、仮想インストールと同じバージョンのUbuntuである必要があります。Live CDを起動し、再度[インストール]をクリックします。

  • インストーラーに従って、必要に応じてパーティションを再分割します。約10分後、インストールされ、再起動するように求められます。再起動しないでください。誤って行っても問題ありません。次の手順のためにLiveCDに戻っていることを確認してください。

  • 新しいインストールのパーティションと、disk.img以前から保存した外部ディスクをマウントします(nautilusでそれらをダブルクリックします)。

  • disk.img ISOをターミナルにマウントします。

    sudo mkdir /media/oldinstall
    sudo mount -o loop /media/dave/disk.img /media/oldinstall
    

    -注-目的の.imgファイルを作成した後、ループデバイスとしてマウントしようとすると、次のエラーが表示されることがあります

    「NTFS署名がありません。「/ dev / loop0」のマウントに失敗しました:引数が無効ですデバイス「/ dev / loop0」に有効なNTFSがないようです。」

    .imgファイルには、マウントする実際のパーティションの前にマスターブートレコードとパーティションテーブルが含まれている場合があります。したがって、必要なパーティションのオフセットを見つける必要があります。これには、partedツールを使用できます。例については、このリンクhttp://ubuntuforums.org/archive/index.php/t-1576011.htmlの sisco311による回答をご覧ください。

    したがって、オフセットが「xxx」であると判断した場合は、次を使用してパーティションをマウントできます。

    sudo mount -o loop,offset=xxx /media/dave/disk.img /media/oldinstall
    
  • そこからファイルをチェリーピックするか、次のようなものを使用して、新しいUbuntuインストールの上にあるすべてのものをコピーできます。

    sudo rsync /media/oldinstall/ /media/my-new-install/
    
  • 再起動して、あなたがすべきであるが、ベアメタル上、インストール古いVMwareと迎えられます。厄介なgrubの問題が発生した場合は、Live CDに戻ってchrootして問題を修正することで修正できます。


7
これを自動的に行うツールを知っていますか?
the_drow

1
Windows / VirtualBoxでのセットアップの場合、VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdXコマンドは引き続き機能します。必要なのはProgram Files\Oracle\VirtualBox、最初のコマンドを実行する前にcdすることだけです。
オースト2014

2
@Aust /dev/sdXWindowsでそれが有効なターゲットであるとは思わない。私の知る限り、\\Device\Harddisk0このようなものになります。
ダナテラ

3
VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX動作しません。Linuxでは、次のエラーが発生しますVBoxManage: error: Cannot create destination file "/dev/sdX": VERR_ALREADY_EXISTS。最初にVBoxManageコマンドを使用して画像に送信する必要があります 。次に、DDを使用してイメージを物理ディスクに配置します。
LDジェームズ・

8

たぶんそれはあなたが求めているものとは正確に違うかもしれませんが、あなたがやりたいことを達成するかもしれません。

すべての設定はホームディレクトリに保存されるため、実際のディスク上の別のパーティションにバックアップコピーを作成するだけです。新しいディスクを実際のディスクにインストールしたら、バックアッププログラムをもう一度実行して、すべての設定を変更せずにホームディレクトリを復元します。

DéjàDupという非常にきちんとしたバックアッププログラムを使用できます。

Ubuntuソフトウェアセンターからの情報:

DéjàDupはシンプルなバックアップツールです。適切な方法(暗号化、オフサイト、および通常)のバックアップの複雑さを隠し、バックエンドとして重複を使用します。

特徴:

  • Amazon S3やRackspace Cloud Filesなどのローカル、リモート、またはクラウドのバックアップ場所のサポート

  • データを安全に暗号化および圧縮します

  • 増分バックアップにより、特定のバックアップから復元できます

  • 定期的なバックアップをスケジュールします

  • GNOMEデスクトップにうまく統合

ここに画像の説明を入力してください

2時間以内に完了します!

幸運を!


1
簡単ですね。本当にそのように動作することを確認できますか?
Mateng

とりわけ... UID(ユーザー番号)はその時点で異なる可能性があります。
戸町

5

試してみてくださいUDPCastを

アイデアは、vmdk全体を仮想マシンから物理マシンにストリーミングし、物理hddに書き込むことです。

手順の概要を以下に示します。

vmdkファイルがあるため、VMWareワークステーションを自由に使用できます。このvmdkが接続されている完全な仮想マシンであってもかまいません。この特定のvmdkをアタッチして仮想マシンを実行しますが、通常のブートの代わりにPartedMagic liveCDを使用してブートします。

liveCDが起動したら、メインメニューに移動してを見つけますUDPCast Disk Cloning。ダイアログは一目瞭然です(スクリーンショットを参照) UDPCastディスククローニング開始画面

この仮想マシンをにsender選択したら、ブロードキャストするドライブを選択する必要があります(/ dev / sdaなどのUnix表記を使用)。

あなたが開始した後sender、あなたが開始する必要があるreceiverとしても。あなたは物理的なHDDを持っているので、このHDDが接続された完全なPCも持っていると思います。ここでも同じです:この時間と適切な物理hdd をUDPCast Disk Cloning選択しreceiverてliveCDを起動する必要があります。

仮想マシンと物理ハードウェア間のネットワーク接続を確立するために必要なすべての準備を行う必要があることに注意してください。vmdkにプライベートデータが含まれている場合、そのコンテンツはネットワーク上で効果的にストリーミングされるため、必要な予防措置を講じる必要があります。もう1つは、ターゲットhddのストレージ容量がvmdkの容量より少なくないことです。当然ですが、ターゲットhddでイメージが1対1にレイアウトされ、新しいhddのより大きな容量を利用するには、gpartedなどで適切な操作を実行する必要があることに注意してください。


この方法は本当に簡単で、比較的簡単に実行できることに注意してください。つまり、実行する必要がある唯一の準備手順は、UDPCastをダウンロードして実行するのに十分なUDPCastを含むLiveCDを準備することです。仮想hdイメージがある場合は、すでに設定済みで準備が整っている仮想マシンで間違いなく使用している一方で、物理システムを準備し、タスクの準備もできています。
PF4Public

さらに、UDPCastはPXEから直接実行できます。udpcast.linux.lu/bootloader.html#pxe
PF4Public

4

VirtualBoxをインストールしている場合は、コマンドを使用してVDI(VirtualBoxドライブイメージ)ファイルをIMG形式に変換してVBoxManageから、物理ディスクにコピーできます。たとえば、

VBoxManage clonehd --format RAW file.vdi file.img

次にdd、コマンドを使用してファイルを物理パーティションにコピーできます。

dd if=./file.img of=/dev/<partition_here>

注:必要に応じてsudoを使用します。/ devで適切なデバイスを指定する場合は注意してください。


0

VM仮想ディスクがオンになっているマシンに新しい物理ディスクを接続している場合は、中間変換なしでVDIを物理に変換できます。これにより、時間とディスクスペースを節約できます。これは、物理ディスクが仮想ディスクの最大サイズ以上であると仮定しています。私の場合、目標はVDIをZFS zvolに変換することでしたが、アプローチはどのブロックデバイスでも同じである必要があります。

まず、ブロックデバイスを指すVMDKファイルを作成します。

VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX

次に(VMをシャットダウンして!)、VDIをVMDKに複製できます。

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

しばらく時間がかかります... 完了したら、VMDKファイルは物理デバイスを見つけるためのVirtualBoxのポインターとしてのみ使用されていたため、削除できます。

私の場合、新しいzvolは仮想ディスクとまったく同じサイズでした。物理ディスクがおそらく異なる場合は、何らかのパーティションサイズ変更メカニズムを使用してディスク全体をいっぱいにする必要があります。Gpartedまたは何か。VMマシンに接続されたまま、物理/ dev / sdXデバイスをポイントできるようにしておくと、CDの物理ホストを起動する必要がなくなります。

サイズ変更が完了したら、物理マシンでドライブをポップし、指を交差させ、電源を入れます。

VirtualBoxで物理ドライブを使用し続け、VMDKを保持し、VBoxManage storageattachそれを使用してVMに接続したい場合。


動作しているように見えますが、データが何らかの理由で破損し、OSが正常に起動しません。
セージボルシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.