28 June 2019

Dell Inspiron mini 10vのWindows 10をVMware vCenter Coverterで仮想マシンに変換

Dell Inspiron mini 10vは最新OSを動かすには非力すぎ、軽いLinuxエディション専用マシンに転換するため、インストールされているWindows 10 ProをVMware用の仮想マシンに変換して保存することにする。

VMware vCenter Converterで仮想マシンに変換

無償で配布されているVMware vCenter Converterを、仮想マシン化したいWindows 10(稼働中)にインストールする。

今回用いたのは、現在配布中のインストール ファイル VMware-converter-en-6.2.0-8466193.exe

vCenter Converterを起動したのち、つぎのような設定で仮想マシン変換した

20190627-vcenter01.jpg
最初に、『Convert Machine』ボタンを選択すると変換設定画面に遷移する

20190627-vcenter02.jpg
変換元は、 Powerd-on (稼働中のマシン) ・ This Local machine (このマシン) を選択する

20190627-vcenter03.jpg
変換先の形式は、VMware Workstation or other VMware virtual machine を選択して、VMwareのバージョン番号を指定する。

VMwareのバージョン番号は、デフォルトで最も新しい物が設定されるので、特にいじらなくても良い

20190627-vcenter04.jpg
不要なパーティションの変換を行わないよう、チェックを外す

20190627-vcenter05.jpg
追加設定で、VMware Toolsのインストールをしておけば、この記事の後半で “苦労した” セーフモードでのインストール作業を省くことができる

変換して作成された仮想マシンのディスク(vmdkファイル)と、設定ファイル(vmxファイル)を、仮想マシンを実行するコンピュータにコピーして起動する

仮想マシンの初回起動時に VMware Toolsのドライバは必須

仮想マシンを起動すると、ブルースクリーン(BSoD)が表示される。エラーは“ IRQL NOT LESS OR EQUAL ”であるが、一体どのデバイスの認識に失敗しているのか分からない。不親切なエラー表示だ…。

Google検索すると、『ディスクコントローラのドライバが正しく読みこまれていないため、回復コンソール(「回復オプション」の「コマンドプロンプト」)を起動して、intelide や pciide ドライバの有効・無効を切り替える』という方法が紹介されていた。

・『壊れたパソコンの環境を別のパソコンのVMwareで立ち上げる

結果としてこの方法は、今回の事象では有効ではなかった。

原因は、ディスクコントローラではないところのように感じたので、セーフモードで起動してみることとする

20190627-win10firstboot01.jpg
仮想マシンの初回起動時のみ、起動OSの選択メニューが表示される

※エラー回復せずに再起動すると、このメニューまでたどり着かない

画面下の『既定の起動設定やその他オプションの変更』を選択すると、「回復オプション」画面に入ることができる。ここに、セーフモードに移行するためのメニューがある

20190627-win10firstboot02.jpg
「回復オプション」の「スタートアップ設定」

OS選択メニューやF8連打を行っても、どうしても「スタートアップ設定」メニューが表示できない場合は、Windows 10セットアップDVD(isoイメージ)で起動して回復コンソールに入る。

回復コンソール(コマンドプロンプト)でbcdedit /set {default} safeboot minimalという設定を行うと、起動モードを強制的にセーフモードにする裏ワザなどを使う。

20190627-win10firstboot03.jpg
再起動すると「スタートアップ設定」が表示される

今回は、セーフモードよりも制限が緩い『3)低解像度ビデオを有効にする』を選択した。

理由は、なんとなく“ビデオドライバが怪しそう”と感じたので…

そうすると、Windows 10が起動しログオンすることができた。コントロールパネルの「デバイスマネージャ」を表示すると、2つのデバイスが認識されていないのが判る。

20190627-win10safemooddevice.jpg
“基本システムデバイス”が認識されていない。イベントビューアで詳細なログを確認すると、Kernel-PnPが認識せず致命的だ。

Windows 10にはVMwareの仮想ハードウエア用のドライバが含まれていないため、VMware Toolsをインストールすることで、これら仮想ハードウエア用ドライバも同時にインストールする

20190627-win10vmtool.jpg
VMware Toolsをインストール

しかし、“マルチメディア オーディオコントローラ”はこの時点でも認識しない。 Google検索すると、VMware側の仮想マシン設定で、(仮想マシンが起動している状態で)いったんサウンドデバイスを削除して、再度新規作成すれば良いとのこと。

この方法は効果があり、ドライバが組み込まれたのをデバイスマネージャーで確認できた。

VMware Toolsのドライバが組み込まれることで、仮想マシンはセーフモードだけでなく、通常モードでも正常に起動可能となった。

デュアルブート設定の解除

Dell Inspiron mini 10vは、Windows 10 と Windows XPのデュアルブート構成だったので、Windows XPを削除してデュアルブートを解除する。

Windows 10を起動した状態で、管理者権限のコマンドプロンプトを開き、まず現在のBCD設定を表示する。

bcdedit /v

20190627-bcdedit01.jpg

削除する必要があるのは “Windows レガシ OS ローダ” のエントリ。次のコマンドで、Windows XPの起動メニューを削除できる

bcdedit /delete {466f588-0af2-4f76-9038-095b170dc21c} /f

ブートパーテイション内のWindows XP関連ファイルは、適宜削除する

NTLDR関連のファイル(ntldr や boot.ini , ntdetect.com , io.sys , msdod.sys , config.sys , autoexec.bat)を削除する(バックアップ用ディレクトリを作りそこに放り込む)
Windows Boot Managerのファイル(bootmgr , bootnxt , bootディレクトリ)は残す

ライセンス認証

当然のことながら、ハードウエアの「全部交換」扱いになっているので、ライセンス認証が解除されてしまっている

20190627-newlicense01.jpg

ライセンス認証するために、「トラブルシューティング」というメニューを実行せよと『Microsoftのヘルプページ』では推奨しているので、その通りに…

20190627-newlicense02.jpg
トラブルシューティングは、失敗に終わる

画面下部に“このデバイス上のハードウエアを最近変更しました”という選択肢があるので、そこをクリックする。

Microsoftアカウントに接続され、オンライン上に保存されていた過去の認証を引き継ぐかどうかの指定が出来る。これを待ってました…

20190627-newlicense03.jpg
過去の認証を引き継ぐため、「アクティブ化」を選択

しかし、アクティブ化は出来なかった。 このメニューは、ユーザをぬか喜びさせるためのダミー画面ですか…

ライセンス認証に躓いた場合の『Microsoft サポートに問い合わせる』(TEL 0120-54-2244)に電話する。

自動音声案内のたらい回し状態で、オペレーターにつながるまで各種選択肢を試行錯誤して5分以上掛かる。 大企業病…

オペレーターの回答は、『Windows 10 Proを購入したときのライセンスキー、またはアップグレード前のWindows7/8のライセンスキーを入力すれば良い』とのこと。なお、『Windows XPのライセンスキーは対象外』とのこと。ライセンスキーを入力してもエラーが出たら、サポートセンターに再度電話しろということのようだ

果たして、ライセンスキーはどこにあるのかな …

メールサーバで検索掛けると、2017年10月27日に Windows 8 Proを3,300円でデジタル配信購入した時の記録が出てくる。そこに、ライセンスキーも記載されている。

Windows 8 のライセンスキーを、Windows 10に入力するのは気持ち悪かったが、ちゃんと認識されてライセンス認証が行われた。

20190627-newlicense04.jpg
ライセンス認証完了前後のslmgr /dlvの出力を並べてみた

ダイアログの下から4行目付近、『ライセンスの状態:通知』が、ライセンス認証完了後には『ライセンスの状態:ライセンスされています』に変化している。

これでOK

起動時のF8連打で「詳細ブートオプション」画面を表示可能にする

Windowsが通常起動している時、管理者として開いたコマンドプロンプトでbcd設定を行う

bcdedit /set {default} bootmenupolicy legacy

20190627-bcdedit02.jpg
bootmenupolicy が “Standard” から “Legacy” に変わればOK

起動時にF8連打で表示される詳細ブートオプションは次のような画面。ここから、セーフモードを起動できる。

20190627-f8-bootmenu.jpg
詳細ブートオプション画面

回復環境(コンピューターの修復)を使えるようにする

詳細ブートオプションで、「コンピューターの修復」メニューが実行不可能な場合、

次のコマンドで、Windows REのパス(ブートパーティション内)を指定する

reagentc /setreimage /path d:\Recovery\WindowsRE