今頃Windows7のPCを購入し、Windows7の売りの1つあるXPモードをOracle VM VirtualBoxで使用しているが、何となくバックアップを取ってみたくなった。
ちなみにVirtualBoxでXPモードを使用する方法についてはhttp://yakushima-tonbo.com/windows/VMLite_XP_Mode/を参考。現在のOracle VM VirtualBoxのバージョンは4.1.22、バックアップ元の仮想メディア名称は「VMLite XP Mode」にしている。
■1.仮想メディアのバックアップ
(1) Oracle VM VirtualBoxを起動。
(2) メニューバー「ファイル」→「仮想メディアマネージャ」を開き、VMLite XP Mode.vhdを選択し(自分のとこは仮想メディア名がVMLite XP Modeという名なので。以後記述略)、「Copy」をクリック。
(3) 「Welcome to the virtual disk copying wizard」で、VirtualDiskをバックアップ元のVMLite XP Mode.vhdにする。
(4) 「Virtual disk file type」で、バックアップ時のVirtualDiskのタイプを選択(折角なのでVirtualBox用のVDIを選択)。
(5) 「Virtual dist storage details」で、バックアップ時のVirtualDiskのストレージタイプを選択(自分はサイズ可変のdynamically allocatedを選択)。
(6) 「Virtual disk file location」で、バックアップ時のVirtualDiskの仮想メディア名(ファイル名)を指定。
(7) 「概要」でCopyボタンを押す。
無事終了すると、C:\Users\(VMLiteをインストールしたユーザ名)\.VirtualBox\VMLite XP Mode 直下に(6)で指定した名称のバックアップが生成される。
次にバックアップを使用する方法。2-1.または2-2.の方法がある。
■2-1.新規仮想メディアを作成してバックアップを起動
(1) Oracle VM VitualBoxを閉じる。
(2) C:\Users\(VMLiteをインストールしたユーザ名)\.VirtualBox 直下にある「VirtualBox.xml」と「VirtualBox.xml-prev」をテキストエディターで開く。
(3) 双方のファイルの<ExtraData>~</ExtraData>タブ間の最終行に、以下を追加する。
<ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/BiosRom" value="C:\Program Files\VMLite\VMLite Workstation\pcbios.bin"/>
注意:value値はVMLiteをインストールした箇所のpcbios.binを指す。
(4) Oracle VM VirtualBoxを再起動(変更したVirtualBox.xmlを有効にするため)。
(5) 新規ボタンを押す。
(6) 「仮想マシンとOSタイプ」で、適切な名前を入力し、OS:Microsoft Windows バージョン:Windows XPにする。
(7) 「メモリ」で自分の好きなメモリ容量を設定。
(8) 「仮想ハードディスク」で、「既存のハードディスクを使用」を選び、フォルダのアイコンボタンをクリックしてバックアップしたVirtualDiskファイルを選択する。
(9) 「概要」で、Createボタンを押す。
(10) 作成した仮想メディアを起動。
大事なのは、バックアップを起動したときに新しくXPのアクティベート申請が発生してしまうので、その申請を回避する為に(3)の作業が必要になる。
■2-2.ストレージを差し替えしてバックアップを起動
(1) Oracle VM VirtualBoxを起動。
(2) VMLite XP Modeを選択し、「設定」ボタンを押す。
(3) 「ストレージ」を選択し、IDE ControllerのIDEプライマリーマスターをVMLite XP Mode.vhdからバックアップしたVirutalDiskファイルに差し替える。(属性のところにあるハードディスクアイコンを押すと「仮想ハードディスクファイルの選択」が出るので、そこで切り替えが可能)
(4) OKボタンを押したら、メニューバー「ファイル」→「仮想メディアマネージャ」を開く。
(5) VMLite XP Mode.vhdを選択し、「除去」ボタンを押す。
(6) 最初の質問には「除去」、次の質問には「保持」を選択しClose。
(7) VMLite XP Mode仮想メディアを選択し、起動。
2-2.の場合アクティベートを考慮する必要はない(バックアップ元にあるxmlにアクティベートの記述があり、差し替えの場合はそのxmlを使いまわしているので)。ただし、(5)のバックアップ元のディスクの除去を必ず行う。行わないとVirtualBox.xmlの
個人的にはバックアップがVDIに変換出来るのが良いかも。ちなみにライセンスが必要なソフトについてはバックアップ環境でも普通に使えている(ライセンス系は某ウィルス対策ソフトしかインストールしてないけど…)。
補足:2014/05/17
VirtualBox 4.3.10に更新すると、2-1.の<Extra…>の記述がある場合、SATAコントロールが認識されなくなるっぽい…。XPMode未使用時はコメントしてかないとダメみたい。今更なネタですが。
補足2:2017/05/24
VirtualBox 4.3.10でSATAコントロールが認識される状態で、さらに2-1.の方法で起動する方法。
まずSATAコントロールが認識されるように、2-1.(2)(3)で<Extra…>の記述を消去してから以下を行います。
(1) コマンドプロンプトを「管理者権限で実行」で開く。
(2) 以下を実行する。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "※1" VBoxInternal/Devices/pcbios/0/Config/BiosRom "C:\Program Files\VMLite\VMLite Workstation\pcbios.bin"
※1:2-1.の(6)で入力した適切な名前(Oracle VM VirtualBoxマネージャーの左側に表示される自分で入力したOSの文言のこと)
※2:空白が入るのでダブルクオート付きでそのまま実行します。
(3) VirtualBoxを起動して2-1.で(6)で入力したOSの文言をダブルクリックして起動。
ちなみにVirtualBox最新バージョン5.1.22で上記のコマンドを実行すると、何故かVirtualBoxが起動しなくなるのでご注意ください。