web-dev-qa-db-ja.com

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

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

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

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

123
dting

はい、可能です。それは難しいことでもありません、少し時間がかかります、Ubuntu LiveCD、スティッキーバックプラスチック、および外部USBディスク(複数の内部を持っていない場合ディスク)。

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

VMWareとVirtualBox(特に)の両方は、ディスクに直接書き込まれるのに適さないディスク形式を使用します。あなたはcanができますが、個人的には最初に中間の標準イメージに書き込む方が便利だと感じています。 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として)。書き込みたい場所をnotマウントします。

  • 次に仕事に行きます:

    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ツールを使用できます。例については、このリンクのsisco311による回答をご覧ください http://ubuntuforums.org/archive/index.php/t-1576011.html

    したがって、オフセットが「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して問題を修正する で修正できます。

97
Oli

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

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

DéjàDupと呼ばれる、本当にすてきなバックアッププログラムを使用できます。

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

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

特徴:

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

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

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

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

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

enter image description here

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

幸運を!

8
danizmax

試す DPCast

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

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

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

LiveCDが起動したら、メインメニューに移動してUDPCast Disk Cloningを見つけます。ダイアログは一目瞭然です(スクリーンショットをご覧ください) UDPCast Disk Cloning start screen

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

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

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

5
PF4Public

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

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

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

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

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

4
kenorb

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

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

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

次に(VM shutdown!を使用して)VDIをVMDKに複製できます。

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

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

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

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

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

0
pendor