近來系統環境大多數是使用VM了,
現行在公司裡將一台老舊IBM x345 Server進行P2V至Hyper-V時,
遭遇到啟動系統BSOD 0x000007b 錯誤,留下一些解決方式給大家參考。
以下Hyper-V環境為Windows Server 2008 R2,P2V 目標是Windows Server 2003
首先我們P2V是使用Disk2VHD,雖然以前的SCVMM也有這類功能,但現在的版本已經被拔掉了。

轉出來的VHD在HyperV掛載後啟動,發生了錯誤。

會不斷的自行重啟...報錯...重啟...Loop
後來看了下面這篇
其實這問題在於,某些設備是因為硬碟使用SCSI boot,
而Hyper-V是使用IDE boot,但因為我們已經把系統轉成VHD,所以只要針對系統設定修改就可以。
首先我們先找一台比較不重要,而且可以掛載VHD的主機,
因為以下的步驟你一做錯,可能掛載的載體主機就要說掰掰了。
使用磁碟管理連結VHD

這時我們可以看到轉出來的VHD磁區

打開登錄檔編輯器,載入登入檔。

選擇VHD上的Registry Hive,路徑位置在你所掛載的%system root%\system32\config\system,
檢查Registry Hive裡面的設定有沒有與下方相符。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7111]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7110&cc_0601]
"ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}"
"Service"="isapnp"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\primary_ide_channel]
"Service"="atapi"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\secondary_ide_channel]
"Service"="atapi"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IntelIde]
"ErrorControl"=dword:00000001
"Group"="System Bus Extender"
"Start"=dword:00000000
"Tag"=dword:00000004
"Type"=dword:00000001
pciide.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\PCIIde]
"ErrorControl"=dword:00000001
"Group"="System Bus Extender"
"Start"=dword:00000000
"Tag"=dword:00000003
"Type"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,70,00,63,00,69,00,69,00,64,00,65,\
00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Standard IDE/ESDI Hard Disk Controller"
atapi.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\atapi]
"ErrorControl"=dword:00000001
"Group"="SCSI miniport"
"Start"=dword:00000000
"Tag"=dword:00000019
"Type"=dword:00000001
"DisplayName"="Standard IDE/ESDI Hard Disk Controller"
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,61,00,74,00,61,00,70,00,69,00,2e,\
00,73,00,79,00,73,00,00,00
通常我是先將intelide tag改為上方值就大多數能解決問題(因P2V遇到不只一次)
再來將Registry Hive解除掛載,斷開VHD連結,將VHD掛載到VM裡。
啟動VM,正常進入系統了!!!
再來VM補裝一些Hyper-V整合服務,再次重啟後,打完收工。
後來發現在P2V轉出VHD時,選擇使用Volume Shadow Copy可以盡量的避免此問題,建議大家能打勾。