知人から「パソコンが壊れて電源が入らない、急いで立ち上げて作業したい」とヘルプが入りました。見ると、確かに全く電源が入りません。単にデータを取り出すだけでよければ、HDDを別のパソコンに繋げればいいのですが、今までの環境で作業したいとなると・・・。
結局、この時は「VMware Workstation Player」で起動させて対応したのですが、いくつか手順を踏む必要があったので、ここで紹介しておきます。
取り出したHDDからVHDX形式に変換
稼働中のパソコンからVMware用のイメージを作成するには、VMwareが提供している「vCenter Converter」を使えば一発なのですが、電源が入らなくなった等で起動しない場合はこの方法が使えません。
そこで2段階で行う事にしました。
まずは、取り出したHDDをHDDケースに入れて別のパソコンに接続し、マイクロソフトの「Disk2vhd」で、Hyper-Vなどで利用できるVHDX形式の仮想HDDに変換します。
Disk2vhd
https://technet.microsoft.com/ja-jp/sysinternals/ee656415.aspx?f=255&MSPPError=-2147217396
「Disk2vhd」はシンプルなツールで、ダウンロードしたファイルを起動したら、イメージ化したいパーティションを選択して「Create」ボタンを押すだけと、操作は簡単。指定した場所にVHDX形式のイメージファイルが作られます。
VHDX形式をVMwareのVMDK形式に変換
VHDX形式のファイルが作成されたら、次はVMwareで使われるVMDK形式に変換します。出来るだけ手軽に作成しようと、今回はeuee様が作成された「NHC」を利用させて頂きました。ここでは3/13にリリースされた「NHC Ver.0 alpha47」を使っています。
NHC
http://euee.web.fc2.com/tool/nhc.html
起動したら、まず先ほど作成したVHDX形式のイメージファイルを指定します。
続いて変換先の形式を指定します。標準でVMDK形式になっているので、そのまま「次へ」を押します。
ちなみに、NHCではVMDK形式の他にも、多数の形式に変換出来るようになっています。
続いて詳細設定画面。VMwareのバージョンに合っているか確認し(今回は12でそのままの設定です)、「次へ」を押します。
出力先を指定し、「次へ」を押すと変換が始まります。
VMware Workstation Playerで起動
次は、「VMware Workstation Player」をダウンロードして起動します。今回はバージョン12.1.1を使用しました。なお、使用するには64ビット環境が必要なので注意して下さい。
VMware Workstation Player
https://my.vmware.com/jp/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0
「VMware Workstation Player」を起動したら、まず新規仮想マシンを作成。作成し終えたら、一旦仮想ハードディスクを削除し、新たに仮想ハードディスクを追加します。
環境に応じて仮想ディスクタイプを選び、
この画面では「既存の仮想ディスクを使用」を選びます。
先程変換したVMDKファイルを選択します。これで起動してみましょう。
環境によっては、起動途中で下のようなブルースクリーンが出るかもしれません。HDDを動作させるためのコントローラが違うため、起動途中でHDDを見失ってしまうためです。その場合、レジストリの修正が必要になります。
レジストリを修正する
起動時のスタートアップ修復や、WindowのCDを利用して、修復画面を表示させます。ちなみにCDやISOイメージを利用する場合、「VMware Workstation Player」で仮想マシン起動時にF2キーを押して仮想マシンのBIOS画面を表示し、起動順を変更する必要があります。
コマンドプロンプトを起動させたら、次のように入力します。「pc1」の部分は分かりやすい名前なら何でも良いです。HKLM\pc1配下に、仮想HDD内のsystemハイブを読み込むように指定しているというわけです。
cd /d d:\windows\system32\config
reg load hklm\pc1 system
regedit
regeditを実行するとレジストリエディタが起動するので、「HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services」キーを開きます。この下にある各キーのDWORD値「Start」の値をチェックしていき、有効にしたいものを「0」に、無効にしたいものを「3」にします。
aliide
amdide
cmdide
iaStorV
intelide
msahci
pciide
viaide
今回は下記のようにしました。pciideを無効にし、intelideを有効にしたというわけです。
aliide 3
amdide 3
cmdide 3
iaStorV 3
intelide 3→0
msahci 3
pciide 0→3
viaide 3
作業が終了したら、読み込んだハイブのキー(ここでは「pc1」キー)を選択した状態で、「ファイル」-「ハイブのアンロード」を選びます。
確認が表示されるので「はい」を選択。
再起動すると無事に起動出来るようになりました。