Windows8のVHDブート(VHDXブート)に関して

新たにVHDブートでWindows8をインストール方法については既に各所に情報が上がっているかと思いますので、そちらをご参照ください。

これとか
http://www.computerworld.jp/topics/560/201934

今回は、普通にインストールしていたWindows8をVHDブートに移行する方法についてです。

手順としては以下の通り

  1. システムイメージのバックアップを作成する
  2. 容量固定のVHD(VHDX)に変換する
  3. bcdeditをごにょごにょする
  4. 再起動する

1.システムイメージのバックアップを作成する

まずはシステムのバックアップを取ることで、HDDを丸ごとVHDXイメージに変換します。

「コントロール パネルすべてのコントロール パネル項目Windows 7 のファイルの回復」からシステムイメージのバックアップを作成します。

なかなか見つかりにくいので、スタートメニューで適当に検索した方が早い気がします。(アプリではなく設定の中にあります。)

既にバックアップの設定をしてある場合は、今すぐバックアップで最新の状況をVHDX化してください。また、バックアップを初めて行う場合や、内容に「システムイメージ」が含まれていない場合は、「設定の変更」などから設定画面を開きます。

vhd1

VHDを保存する場所を指定します。

vhd2

バックアップ対象を「自分で選択する」にして、次へ。

vhd3

「次のドライブのシステムイメージを含める~」にチェックを入れて、次へ。

vhd4

「システムイメージ」が含まれていることを確認して、「設定を保存して終了」。

vhd5

あとは終了するまで数十分~数時間(?)程度待ってください。

2.容量固定のVHD(VHDX)に変換する

さてさて、「(バックアップ先)WindowsImageBackup(コンピューター名)(バックアップ日時)」のフォルダの中にいくつかのVHDXファイルが出来上がっているかと思います。

vhd6

容量から推測してそれらしきもの(ほかは1GBもないはずです)が先ほどバックアップを取ったVHDXファイルになります。ファイル名が長いので、適宜変更します。(あとで設定時にファイル名を使います)

さて、このままbcdeditでブート構成データをいじって再起動かけたくなるところですが、先ほど作成したVHDXファイルは容量が可変のVHDXになります。そこから起動しようとすると、VHDXの最大容量以上HDDに空きがないと「VHD BOOT VOLUME NOT ENOUGH SPACE」といったエラーが出てしまって起動しない状況になります。

例えば、VHDXの容量が100GBなどであっても、可変VHDXの最大容量がもともとのディスク(256GBだったり2TBだったり)容量あるので、それ以上の空がHDDにないとダメということになるようです。

VHDを編集する方法は複数ありますが、今回は「プログラムと機能」から「Windowsの機能の有効化または無効化」を選択して、

vhd7

Hyper-V関係のものに全てチェックを入れてOKをし、Hyper-Vを有効化します。

Windows8からクライアントOSに標準でHyper-Vが入ったのは個人的にすごく助かっています。

vhd8

これも多少時間がかかりますが、有効化が終わったら「Hyper-Vマネージャー」を起動します。

右側のメニューから「ディスクの編集」を選択し、先ほど名前を変更したVHDXファイルを選んで、「変換」、「VHDX」、「容量固定」と進んで、最後に保存場所を選択します。

ファイルの場所は分かりやすい場所(ドライブ直下など)に移動しておきましょう。

vhd9

これで、容量可変のVHDXファイルとは別に、容量固定のVHDXファイルが新たに作成されます。おそらく元のディスクの容量のファイルが出来上がるので、結局ファイルサイズがアホほどでかくなります。

そんなに空き容量がないっていう場合は、

http://www.atmarkit.co.jp/fwin2k/win2ktips/1390shrvhd/shrvhd.html

あたりを参考に、VHD Resizerとかを使って容量固定のVHD/VHDXに変換してください。(VHDX対応してるのかな…?)

3.bcdeditをごにょごにょする

あとは、http://skaz.jp/archives/3737に書いてある内容とほぼ同じですが、管理者権限でコマンドプロンプトを立ち上げ、

takeown /F (VHDXファイル名)

bcdedit /copy {current} /d “(起動時の名称)″

いずれもカッコはなしで、ダブルクォートはつけてください。

「エントリは{~}に正しくコピーされました。」となるはずなので、その値を右クリック、「範囲選択」、ドラックしてEnterでコピーして、以下のコマンドを実行します。

(なお、ドライブレターは[]でくくらないとダメですのでお気をつけて)

bcdedit /set {~} device vhd=[E:](VHDXファイル名)

bcdedit /set {~} osdevice vhd=[E:](VHDXファイル名)

問題なく完了したら、そのまま再起動します。

あとは、起動選択画面が出るはずなので、先ほどコマンドでつけた名称の方を選択してください。

(もともとの方はWindows8とか表示されるかと思います)

問題なく起動すればVHDブート完了です。

「コンピューター」を開くと、今まであったドライブ+1個のドライブが見つかるかと思います。

電源投入時に毎回選択画面が出るのが嫌な場合には、Win+Rキーで「ファイル名を指定して実行」から「msconfig」を実行し、「ブート」タブから既定を変更したり、古い方を適宜削除するなどしてください。

まあ、消した後で戻したくなったとかのとき面倒なんで、しばらくはそのまま放置が良いかと。

何かあっても責任は取りません。

以上。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください