気まま研究所ブログ

ITとバイク、思ったことをてきとーに書きます。

VHDでデュアルブートをしよう

f:id:AonaSuzutsuki:20161114143810p:plain

こんにちは。
前回Windowsが起動しなくなった時のデータ救出法という記事を書きました。
そこでかる~くVHDブートについて触れましたが、どうせなのでこちらも記事にしておきます。


必要なもの

  1. Windows 7以降のWindows OS
  2. インストールするWindows OS
  3. ミスってもめげないメンタル

①について、VHDブートはWindows 7で搭載された仮想ハードディスクを取り扱う機能を必要とします。
そのため、Windows 7以降のOSが必要です。
ただし、Windows 7の場合だけはUltimateまたはEnterpriseのみVHDブートに対応していますのでどちらかを利用している方のみとなります。
今回はWindows 10 Pro x64を用いました。

②について、おそらくどのOSでもインストールできると思いますが、私はWindows 7, 8, 8.1 ,10しか試してないです。
ちなみにですが、Windows 7nVidiaのドライバと相性が悪いのか毎回デスクトップ関連のプロセスが落ちる不具合がありました。

③について、当たり前ですが、この手のことは自己責任の上でお願いします。
トラブルが起きても私はなんの責任も負いません。


VHDってなんぞや

VHDはVirtual Hard Diskといい、ハードディスクドライブのフォーマットを仮想的に表現したファイル形式で、仮想OSはもちろんのこと、デュアルブートにも利用できます。
詳しい仕様は調べてませんが、VHDに対応しているOSであれば通常のハードディスクドライブと同じように使用することができます。
つまり、ハードディスクやSSD内部にファイルとして保管するハードディスクみたいな感ですね。
今回はそれを利用してOSを中に入れて起動させます。


VHDを作成する

では早速始めましょう。
まずはVHDファイルを作ります。
手順はとっても簡単、「ディスクの管理を開く→VHDを作成する」だけです。

まずディスクの管理を開きましょう。
今回はコンピュータの管理からディスクの管理を開きます。
Windowsマークを右クリックし、コンピュータの管理またはディスクの管理を開きます。
f:id:AonaSuzutsuki:20161112203819p:plain
ディスクの管理を開くとこのような画面になるので、操作にてVHDファイルを作成します。
f:id:AonaSuzutsuki:20161112203837p:plain
ウィザードが立ち上がるので、適当に入力します。
フォーマットに関してはVHDでもVHDXでもどちらでもいいです。
f:id:AonaSuzutsuki:20161112203853p:plain
うまく作成されると下に初期化されていないディスクとして登録されます。
f:id:AonaSuzutsuki:20161112203904p:plain
これでVHDの作成は完了です。
とっても簡単ですね!


VHDにOSをインストールしよう

さて、次が本題です。
作成したVHDにはまだ空の状態ですのでOSをインストールします。

OSのインストールディスクをドライブに突っ込み、ディスクブートします。
見慣れた画面が出てきますが、ドライブは二つしかありません。
f:id:AonaSuzutsuki:20161112204554p:plain
うーん、どう見ても先程作ったVHDではありません。
それもそのはずで、VHDは物理的に接続するわけではないので、手動で接続処理を行う必要がります。

Shift+F10」でコマンドプロンプトを立ち上げましょう。
次に、diskpartを立ち上げ、ボリュームのチェックを行います。
f:id:AonaSuzutsuki:20161112204714p:plain
作成時はCドライブにありましたが、インストーラを実行した段階でCドライブではなく、そのほかのドライブレターが割り当てられる場合が多いので確認する必要があります。
今回はDにあるらしいのでこれを覚えておきます。

次に、VHDを選択肢、アタッチします。

select vdisk file=ファイルパス
attach vdisk

f:id:AonaSuzutsuki:20161112204725p:plain
こんな感じに成功するとアタッチされます。
これでコマンドプロンプトの作業は終わりです。
インストーラに戻りましょう。

するとドライブが一つ増えてますね。
f:id:AonaSuzutsuki:20161112204741p:plain
あとはこいつをフォーマットしてインストールするだけです。
この時、「このドライブにWindowsをインストールすることはできません」とでますが、インストールできるので無視して問題ないです。

あとはいつもどおりインストール作業をすすめると自動で終わります。
最後にブートマネージャーが立ち上がれば完了です。
f:id:AonaSuzutsuki:20161112204755p:plain

もしインストールできたのにでないぞ?って方がいらっしゃいましたら次の項目を試してみてください。


VHDブートを止めたい

VHDブートを止めたい場合はホストOS上でVHDエントリーを消去してしまいます。 Windowsキー+Rキーを押し、「msconfig」を実行します。
f:id:AonaSuzutsuki:20161112204008p:plain
あとは消したいOSを選択して削除を押すだけです。


既にあるVHDを再度適用する

過去にVHDを作っていたが、リカバリーなどでデュアルブート設定が消えてしまう・・・なんてことが多々あります。
そんな時はブートエントリーだけ追加してやりましょう。

コマンドプロンプトを立ち上げて・・・といきたいところですが、面倒なのでソフトウェアに任せます。
巷には便利なアプリケーションが転がってるもので、少し調べれば一瞬で出てきます。
http://neosmart.net/EasyBCD/
今回はEasyBCDというアプリケーションをお借りします。
EasyBCDではブート関係の設定を結構細かく変更できます。

立ち上げるといろいろメニューがありますが、Add New Entryをクリックします。
f:id:AonaSuzutsuki:20161112204025p:plain
すると二つの項目が出てくるので、下の項目で設定を行います。
Typeはそのままに、名前とパスを適切に設定します。
あとはAdd Entryを押すと完了です。

念のためView Settingsを確認すると新しいエントリーが追加されていると思います。
f:id:AonaSuzutsuki:20161112204032p:plain

再起動してみるとブートマネージャーに先程設定したエントリーが現れているはずです。
あとはいつもどおりデュアルブート環境を利用しましょう。


終わりに

以上がVHDブートの方法でした。
ちょっと面倒な作業がいくつかありますが、緊急用に置いておくと割りと便利です。
前回のような状態になった時に真っ先にデータ救出で同じく素のWindows OSが使えるのでめちゃくちゃ楽です。
また、Windows 10で動かないゲームを動かす時にもたまにですが大活躍していました。
しかし、その分のストレージを消費するのでそこだけは考えどころです。

追記 ブートマネージャに追加し忘れてOS起動しなくなった時

つい最近OSがまたしても起動しなくなり、修復しようと思ったときにブートマネージャに追加し忘れてて焦ったので同じ境遇に遭遇した方向けに備忘録的に残しておきます。

https://technet.microsoft.com/ja-jp/library/dd799299(v=ws.10).aspxの内容とほぼ同じです。

> diskpart
> select vdisk file={VHD File Path}
> attach vdisk
> list volume
> select volume {Volume Number}
> assign letter=v
> exit

> cd v:\windows\system32
> bcdboot v:\windows

なお、ドライブレターはわざわざ割り当てる必要はありません。コマンドを載せる上で共通化できるのでドライブレターを割り当てています。

○追記
コマンドプロンプトWindowsインストーラのF10で出せるものを使いました。