XenSeverからエクスポートしたVMをVMwareにインポート(OVFのデプロイ)をしたときにつまづいた状況をメモ。
結論から言うと、何やってもダメでした。結局、エクスポート&インポートは辞めて、Acronis True ImageまたはAcronis BackupによるI2Vで移行しました。
なので、ここに書いてある内容は、解決の役に立ちません。後に解決策が見つかれば続きを追記したいと思います。
SCSIハードディスク追加でVMDKをマウントすると起動時エラーになる
Xen Centerから書き出したVHDをStarwind V2V converterでVMDKに変換し、VMwareにインポートしたVMにVMDKをマウントすると、Windows起動途中でエラーが出る。
停止コード:SYSTEM THREAD EXCEPTION NOT HANDLED 恐らくVMwareのSCSIドライバがないためエラーになっていると思われる。
しかし、WindowsPE(回復環境)のコマンドプロンプトからDISKPARTでlist volumeを実行したところHDDが接続されていない状況だったので、コマンドでドライバーを入れたり、削除したりしてもHDDが見えない以上、何もできない状況。
IDEで接続して余計なドライバを削除してみる
SCSI接続ではVMからドライブが見えない状態だったので、IDE接続に変更し、再度、WindowsPE(回復環境)のコマンドプロンプトからDISKPARTを起動して、ボリュームを確認。
ボリューム確認コマンド
> diskpart
> list volume
上記のコマンドでWindowsが入ったボリュームはC:だということを確認。
ドライバ確認コマンド
以下のコマンドでドライバを確認。
> dsim /image:c:\ /get-drivers
ドライバを削除するコマンド
起動を邪魔していると思われるCitrix関連ドライバを削除(実際には関係なかったけど)
> dism /imagec:\ /remove-driver /driver:oem10.inf
ちなみに削除したドライバ
--------------------------------------------------
公開名 : oem10.inf
元のファイル名 : cvhdbus6.inf
インボックス : いいえ
クラス名 : SCSIAdapter
プロバイダー名 : Citrix
日付 : 2011/07/14
バージョン : 2.4.0.2705
--------------------------------------------------
公開名 : oem2.inf
元のファイル名 : xennet.inf
インボックス : いいえ
クラス名 : Net
プロバイダー名 : Citrix
日付 : 2017/01/11
バージョン : 8.2.0.103
--------------------------------------------------
公開名 : oem3.inf
元のファイル名 : xenvif.inf
インボックス : いいえ
クラス名 : System
プロバイダー名 : Citrix
日付 : 2017/01/11
バージョン : 8.2.0.103
--------------------------------------------------
公開名 : oem4.inf
元のファイル名 : xenvdb.inf
インボックス : いいえ
クラス名 : SCSIAdapter
プロバイダー名 : Citrix
日付 : 2017/01/03
バージョン : 8.2.0.156
--------------------------------------------------
公開名 : oem5.inf
元のファイル名 : xeniface.inf
インボックス : いいえ
クラス名 : System
プロバイダー名 : Citrix
日付 : 2016/12/12
バージョン : 8.2.0.61
--------------------------------------------------
公開名 : oem6.inf
元のファイル名 : xenbus.inf
インボックス : いいえ
クラス名 : System
プロバイダー名 : Citrix
日付 : 2016/12/12
バージョン : 8.2.0.85
--------------------------------------------------
ドライバを削除したら停止コードが変わった
ドライバを削除してVMを再起動したらWindows途中に表示されるエラーが以下に変わりました。
停止コード:INACCESSIBLE BOOT DEVICE
更にドライバ削除
他にもあるドライバを削除したらうまくいくかな?と、更に以下も削除。
--------------------------------------------------
公開名 : oem7.inf
元のファイル名 : vboxusb.inf
インボックス : いいえ
クラス名 : USB
プロバイダー名 : Oracle Corporation
日付 : 2020/09/04
バージョン : 6.1.14.40239
--------------------------------------------------
公開名 : oem8.inf
元のファイル名 : vboxnetadp6.inf
インボックス : いいえ
クラス名 : Net
プロバイダー名 : Oracle Corporation
日付 : 2020/09/04
バージョン : 6.1.14.40239
--------------------------------------------------
公開名 : oem9.inf
元のファイル名 : vboxnetlwf.inf
インボックス : いいえ
クラス名 : NetService
プロバイダー名 : Oracle Corporation
日付 : 2020/09/04
バージョン : 6.1.14.40239
--------------------------------------------------
追加で更にドライバ削除
状況変わらず、更に以下のドライバも削除。
--------------------------------------------------
公開名 : oem0.inf
元のファイル名 : prnms009.inf
インボックス : いいえ
クラス名 : Printer
プロバイダー名 : Microsoft
日付 : 2006/06/21
バージョン : 10.0.14393.0
--------------------------------------------------
公開名 : oem1.inf
元のファイル名 : prnms001.inf
インボックス : いいえ
クラス名 : Printer
プロバイダー名 : Microsoft
日付 : 2006/06/21
バージョン : 10.0.14393.0
--------------------------------------------------
結局、状況変わらず…。
セーフモードで起動させるためにBCDを変更
WindowsPE(回復環境)のコマンドプロンプトから、Windowsの起動に関係するBCDを編集してみました。
> c:
> bcdedit /v
> bcdedit /set {default} safeboot minimal
> bcdedit /set {default} bootmenupolicy legacy
> bcdedit /set {default} bootmenupolicy standard
> bcdedit /set {default} bootmenupolicy legacy
> bcdedit /set {default} hypervisorlaunchtype off
状況変わらず。
BCD/MBR修復
以下のページを参考に一通り試したが状況変わらず。
参考ページ [
](https://docs.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows-boot-failure)
不要なドライバのロード、または不足しているドライバがあるっぽい
参考ページ
ドライバの確認とコピー
c:\windows\system32\driversに以下の物があるか確認し、なければ正常稼働しているVMからコピーする。
- symmpi.sys
- vmscsi.sys
- BusLogic.sys
- lsi_sas.sys
正常起動のVMからドライバをコピー
正常に起動しているVMのDriversフォルダの中で、直近で登録された.sysファイルをコピーしてみる。
方法としては正常に起動するVMDKでVMを起動し、Dドライブを作り、そこのドライバを保存。
再度、正常起動しないVMDKを接続し、Windows10のインストールメディアから起動。
コマンドプロンプトからcopyコマンド等で、DドライブからCドライブのDriversフォルダにコピーする。
- vm3dmp.sys
- vm3dmp_loader.sys
- vm3dmp-debug.sys
- vm3dmp-stats.sys
- vmxnet3.sys
- vmmouse.sys
- vmmemctl.sys
- vmci.sys
- vsock.sys
コピー後、再起動したが状況変わらず。
更に追加でコピー
更に、以下も追加でコピーしてみました。
- cvhdbus6.sys
- e1i63x64.sys
- pvscsi.sys
- vmscsi.sys
結局、コピーしても起動できませんでした。
DismコマンドでWindowsの修復を試みた
最後に、OSがイカれてしまったのではないかと、修復を試してみました。
Dism /Image:c:\ /Cleanup-Image /StartComponetCleanup
Dism /Image:c:\ /Cleanup-Image /RestoreHealth
結局、これもダメでした。