システムイメージバックアップを復元せずに起動する (1)
2016年01月20日

システムイメージバックアップを起動
こんにちは、ハニービーンです。
我が家のLet'sNote CF-J10は、こちらの記事のとおり、先日Windows7からWindows10にアップグレードしました。
ところが、とある理由により、元のWindows7を起動する必要が発生しました。
アップグレードする前にWindows7の最後の状態のシステムイメージバックを取ってありますが、これを復元してもう一度マシンをWindows7に戻し、用が済んだら再度Windows10に戻すのは気が引ける作業です。
そこで、システムイメージバックアップをマシンに復元するのではなく、仮想マシン上で起動してみることにしました。その方法を備忘録として書き留めておきたいと思います。
なお、Let'sNote CF-J10は、レガシーBIOS機でHDDはMBRディスク、Windows7はHome Premium 64bitです。
この作業が何のために必要だったかは、別の記事で紹介したいと思います。
作業の流れ
今回の作業の大まかな流れは以下のようになります。
(1) システムイメージバックアップの中身の確認
(2) Cドライブが保存されたVHDファイルの中身をコピー
(3) VHDファイルの中身をブートできるように処理
(4) VirtualBoxの仮想マシンにVHDファイルをマウント
(5) 仮想マシンを起動
VirtualBoxで仮想ディスクを起動
システムイメージバックアップの中には、パーティションを丸ごと仮想ディスクとして保存したVHDファイルが複数入っています。
このVHDファイルのうち、Cドライブが保存されているものを仮想マシンの仮想HDDとしてマウントすれば、中のWindows7を起動できます。
方法としては色々あるかと思いますが、無料で使えるVirtualBoxを使います。
VirtualBoxはこちらのページからダウンロードできます。

なお、この記事ではVirtualBoxのインストールや使い方についての説明は省略します。
起動の準備
VirtualBoxは、いろいろな形式の仮想ディスクファイルを使用できますが、VHD形式もサポートされています。

仮想マシンで起動すると、VHDファイルの上限サイズまで展開されて起動するので、通常は物理HDDの容量が足りなくなります。
そこで適当な上限サイズのVHDを作成しておき、元のVHDの中身をコピーして使います。
システムイメージバックアップの中身の確認
まず、外付けHDDに保存してあるシステムイメージバックアップのフォルダの中を見てみます。
ドライブ直下に「WindowsImageBackup」フォルダがあり、その下に「コンピューター名」のフォルダ、その下に「Backup+日時」のフォルダがあります。

この「Backup+日時」フォルダの中には、VHDファイルが入っています。今回は2つありました。

ファイル名は複雑なので見てもわかりませんが、ファイルサイズを見ると、大きい方が74GBくらいで、元Cドライブであろうことがわかります。
右クリックしてマウントしてみます。

すると仮想ディスクがマウントされ、Hドライブになりました。

ところでこのHドライブのサイズを見てみると、

220GBもあります。
220GBというのは元Cドライブのサイズ全体であり、そのうち使用済み+αがVHDファイルのサイズ74GBなわけです。
この仮想ディスクを仮想マシンにマウントする場合、物理ディスクに220GB以上の空き容量がないと仮想マシンが起動しません。
Cドライブが保存されたVHDファイルの中身をコピー
物理ディスクの空き容量が220GB以上あれば、このコピー作業は省略できます。
我が家ではそうはいかないので、物理HDDに収まる、最大サイズの小さなVHDを作成して、そこに中身をコピーします。
ディスクの管理を起動し、

操作>VHDの作成から作成します。

VHD形式で容量固定、サイズは74GBにゆとりを持たせ、HDDの空き容量以下である必要があります。今回は90GBにし、名前はWin7.vhdにしました。

この方法で作成すると、かなり時間がかかるので、それがイヤな人はVhdTool.exeというものを探して来て使うと、早く作れて便利です。
作成したら、操作>VHDの接続でマウントします。

Hドライブの中身を全部コピーしますが、無料で使えるMiniTool Partition Wizard Freeを使いました。
パーティションをリサイズしながらコピーすることが可能です。

数十GBあるファイルなので、コピーには時間がかかります。
コピーが終わったら、安全のためHドライブをアンマウントし、外付けHDDも外しておきます。
VHDファイルの中身をブートできるように処理
このVHDファイルを仮想マシンの仮想Cドライブとしてマウントしてもこのままでは起動しません。
次の2つの作業が必要です。
(1) パーティションをアクティブにマーク (diskpart)
(2) ブートファイルの設定 (bcdboot)
パーティションをアクティブにマーク (diskpart)
アクティブにマークするために、Win7.vhdを右クリックしてマウントします。

Fドライブになりました。

次にコマンドプロンプト(管理者)を開き、diskpartを実行します。

サイズを参考にdiskを選択、partition 1を選択し、activeを実行します。

これで、起動可能パーティションになりました。
Exitと入力し、diskpartを終了します。
ブートファイルの設定 (bcdboot)
引き続きコマンドプロンプト(管理者)上で、今度はブートファイルを設定するために次のコマンドを実行します。
bcdboot F:\windows /s F: /f BIOS /l ja-jp

これで起動準備完了です。
エクスプローラーのF:ドライブを右クリックして「取り出し」でアンマウントします。

VirtualBoxの仮想マシンにVHDファイルをマウント
VirtualBoxを起動し、新規仮想マシンを作成します。名前はLetsNoteWin7としました。

メモリは2GBほど割り当て、仮想ディスクの選択で「すでにある既存の仮想ハードディスクファイルを使用する」を選択し、Win7.vhdを選び、仮想マシンを作成します。

仮想マシンを起動
できた仮想マシンを起動します。

最初の起動は時間がかかりますが、ひたすら待ちます。

そして・・起動しました !
しばらく見なかった画面が久しぶりに表示されました。

これで、以前のWindows7環境での作業をすることが可能になりました。
シェアしていただけると大変うれしいです。
更新情報はこちらからどうぞ