Windows 7インストール済環境を後からVHD Bootに切り替えてみる。(中編)

 前回に続いて作業ステップですよ。

 ◆Step:1

 まず、今使っている端末からHDDを取り外し、新しいHDDを接続する。
 今まで使っていたHDDは取り外して、取り敢えず置いておきましょ。

 ◆Step:2

 このHDDに対してHyper-V Server 2008 R2、Windows Server 2008 R2、Windows 7のどれかをインストールする。但しこの時、HDDは80GB程度を残して領域を確保し、残った「最後尾の領域」にこのOSをインストールする。

 ポイントは「わざと前を空けておく」ということ。
 一般にHDDは「前の方」がアクセスが高速なので、「普段使うVHD化されたWindows7」をその「前の方」に置くために空けておくんですな。

 一方、この時インストールされたOSは、VHDのメンテナンスが必要な時や、VHDが逝ってしまった時に使用するもの。
 なので、個人的にはHyper-V Serverの導入がお薦め。Windows 7が真っ当に動く環境ならほぼ確実にHyper-Vも真っ当に使えるので仮想環境でも遊べるし、おまけにタダ。
 Hyper-V Server 2008 R2ならば、一度設定を済ませてしまった後には他のWindows 7なPCからほぼGUIで管理出来るしね。

 #仕事等で2008 R2に触れる環境なら、ソレが一番便利だけど。
  これだけのために個人で買うには高過ぎるよ、Server OSは。

 まあ、緊急時にもWindows 7のGUIが使いたいというならば、ここにWindows 7を入れるというのもアリかね。

 ◆Step:3

 ここでHDDを再度古いモノに付け替える。
 そして、先ほどOSをインストールした新しいHDDも何らかの手法で接続する。

 一番簡単なのは端末内部にある増設用のコネクタを使って新旧2台接続状態にすることなのだが、最近の小型端末ではHDDの内部増設用コネクタが無いものもある。
 この場合、そこら辺に転がっているUSB変換アダプタを使って接続するのがオーソドックス。コネクタとケーブルがあればeSATAも便利。

 #アダプタが転がっていない人は買ってくるか、知人のツテで借りてくるか。
  新品でも¥3千とかそんな値段で買える程度のものだが、最近はこういうアクセサリも中古で出回っているようで、中古品があれば更にお手軽価格。

 ◆Step:4

 普段使っていたWindows 7を起動する。
 起動後、新しいHDDも認識されて、大きな空きドライブが見えていることをエクスプローラから確認、と。

 #「ドライブ~フォーマットしますか?」とか訊かれたら「はい」でフォーマットする。

 ついでに、これからVHD化する領域の全体容量を確認しましょ。
 通常はC:の、全容量。空き領域でも使用領域でもなく、全容量ね。これをメモっておくこと。

 ここで、Windows標準の「バックアップと復元」を起動する。
 「システムイメージの作成」を起動して「バックアップの保存先」に、先程の空きドライブを指定して、バックアップ開始。

 ◆Step:5

 暫く待っていれば、普段使いWindows 7のVHDが新しいHDDの上に作成される。

 #具体的には¥WindowsImageBackup¥マシン名¥バックアップを取った日付とシリアル番号¥管理ID.vhd。

 但し、目的にVHDの他にもイロイロと作成されるので、余計なモノは削除する。
 この作業中「このフォルダーにアクセスする許可が~アクセスを取得します」とか訊かれたら「はい」で続ける。

 そして余計なモノを削除していくと.VHDが2つ残るが、容量が小さい方は今回は必要無いので削除。

 #この小さいのはHDD先頭の100MB分のイメージ。
  ちなみに複数のドライブのバックアップを一気に取るとドライブの数だけVHDが増えまっせ。

 こうして最後に1つ残ったのが、普段使い環境がそのままイメージに変換されたVHDですよ。
 標準でついている名前はややこしいので、簡単な名前に変更して分かり易いフォルダに移動しておきましょ。

 #ルート直下とか。

 ◆Step:6

 再度古いHDDを取り外し、新しいHDDを本体内部に接続、端末起動。
 無事起動したら、VHDの入っているドライブをエクスプローラで開いて。

 VHDファイル本体サイズ+空き領域>Step:4でメモった容量

 であることを確認。
 もしこの法則が成り立っていない場合、このVHDから起動は出来ないので、諦めてもっと大容量のHDDを用意して作業を最初からやり直すこと。

 #何故かというと、このVHDは圧縮されているため。
  実際に起動してみると分かるが、起動中はこのVHDの圧縮は解除されて、VHD化する前と同じだけの容量を占有する(正確には「しているように見える」)。
  このため、圧縮解除出来るだけの空き領域が必要なんですな。

 ◆Step:7

 さて、ここからはコマンドラインでの操作。
 Windows 7ではAdministrator特権でコマンドプロンプトを開いてね、と。

 まずはこのコマンドを打って下準備。

 takeown /F (VHDファイル名)

 VHDファイル名、はドライブレターを含めたフルパスで。
 例えば E:¥Windows7.vhd が対象のVHDならば、こういうこと。

 takeown /F E:¥Windows7.vhd

 #この下準備、正確には「アクセス権を確保する」という作業を忘れるととっても悲惨なことになるので注意。具体的には、Step:1から全部の作業をやり直すハメになる。

 ◆Step:8

 準備が終わったら、いよいよbcdeditで起動パーティションに設定を突っ込みますよ。
 先程開いたコマンドプロンプトで引き続きコマンドを打ち込みます。

 ◇コマンドその1

 bcdedit /copy {current} /d “VHD Windows 7”

 ””の中はお好みに応じて変更可能。但し英語以外は使わない方が無難ではある。
 そしてコマンドラインの画面に注目。

 >エントリは{うだうだうだ}に正しくコピーされました。

 この中で{}で囲まれた部分が今回使うID。この後使う時は、マウスで範囲選択してコピペが一番簡単。

 ◇コマンドその2・その3

 コマンドを打つ前に、VHDが置いてある場所を確認。
 ここではE:¥Windows7.vhdということにするが、これは勿論環境次第なので、読み替えること。

 確認が出来たら、コマンドを打ちますよ。

 bcdedit /set {さっきのうだうだうだ} device vhd=[E:]¥Windows7.vhd
 bcdedit /set {さっきのうだうだうだ} osdevice vhd=[E:]¥Windows7.vhd

 2つのコマンドで途中の2文字以外違わないので、下のコマンドは上のコマンドの履歴を呼び出して修正して再度打てば簡単。

 ポイントはドライブレターを[](「角括弧、とか言うらしい」)で囲う必要があること。何でこんな仕様にしたんだろね、下逸クン。

 #言い忘れていたが、ここまでの記述は表記上¥が全て全角になっているのでコピペ注意。ホントは半角ね、当然。

 ◆Step:9

 コマンドを全部打ち終えたらここで 再起動。
 すると今まで出たことのない起動選択画面が表示されますよ。

 ここで画面上から「VHD Windows 7」(若しくは先程変更した文字列)を選択して、Enter。
 するとVHDからWindows 7を起動開始。
 ここですんなり起動出来れば、これでおしまい。

 ・・・が、イロイロやってみたが、大抵、一発目の起動はコケるのがお約束の模様。
 コケたら自動的に修復画面が表示されるので、この表示画面に従って再構成を行う。
 ハードウェアが違うとこう簡単ではないようだが、同一ハードウェア上でのVHDへの移行なら、ほぼこれで問題ない模様。
 自動的に再起動がかかりますよ。

 ◆Step:10

 そして再び、起動選択画面が表示・・・されるのだが、何故か画面が英語に。
 ・・・何でやねん。

 まあこれは後で直すので、取り敢えず再度「VHD Windows 7」を選択して起動してみる。大抵はまあここで起動する筈。

 #これで起動出来ない場合、あちこち手を入れれば起動出来る可能性はあるものの、正直簡単ではないので「環境そのままVHDに移行」は諦めた方が。
  多分新しくVHDを作ってインストールし直した方がラクでしょう。

 無事起動しても、初回の起動完了はやったら遅いのが普通のようなので、暫く待ってあげること。
 次からは通常の早さで起動するので気にする必要無し。

 ◆Step:11

 起動が終わったら、取り敢えず起動選択画面を日本語に戻しましょ。
 再び管理者権限でコマンドプロンプトを起動し、以下のコマンドを叩き込む。

 bcdedit /deletevalue {bootmgr} path

 #上は何故か追加されてしまう不要なパラメータを削除するコマンド。
  今のところKB等MSの情報には出ていない模様だが、世間では一般的。

 ここで再起動してみると、起動画面が日本語に戻っている筈。

 #極希にコレでは直らないこともあるらしい。
  その場合は、もう一回管理者権限でコマンドプロンプトを開いて、以下のコマンドを打ってみれば、確実に直る筈。・・・つか、これでダメなら起動エリアが壊れてしまっている可能性が高いので、作業は最初(Step:1)からやり直し。

  bcdedit /set {bootmgr} locale ja-JP

 ◆Step:12

 再度「VHD Windows 7」を選択して起動。

 この後、システムが無事に動いていることを確認出来たら、最後の作業。
 またまた管理者権限でコマンドラインを起動し、以下のコマンドを実行。

 bcdedit /default {current}

 これでおしまい。

 ◆

 以上。
 だ~いぶ長くなってしまったが、今のところコレが一番手間の少ない方法、だと思われる。

 この後の回で、ちょっと気づいたことなんかをまとめて、この続きモノも終了にしましょ。

Share