เมื่อคุณเปลี่ยนฮาร์ดแวร์คอมพิวเตอร์หรือเซิร์ฟเวอร์ (เมนบอร์ด, คอนโทรลเลอร์ดิสก์, เป็นต้น) กู้คืน System Image จากการสำรองข้อมูล หรือย้ายโฮสต์แบบ Physical เข้าสู่สภาพแวดล้อม Virtualization (P2V) BSOD พร้อมข้อผิดพลาด 0x0000007B อาจปรากฏครั้งแรกที่คุณบูต Windows Server 2008 R2 หรือ Windows 7
STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000).
รหัสหยุดนี้นี้สอดคล้องกับข้อผิดพลาด INACCESSABLE_BOOT_DEVICE และเกี่ยวข้องกับความแตกต่างของคอนโทรลเลอร์ฮาร์ดดิสก์ของเซิร์ฟเวอร์ใหม่ (คอมพิวเตอร์หรือ Virtual Machine) จากอุปกรณ์ต้นฉบับ เมื่อบูต ไดรเวอร์ที่จำเป็นสำหรับการบูตจากคอนโทรลเลอร์ใหม่ไม่ได้ถูกโหลด Windows จึงไม่สามารถเริ่มต้นได้เนื่องจากสิ่งนี้
แอดมินอาจเจอข้อผิดพลาด 0x0000007B ในกรณีต่อไปนี้:
- เมื่อกู้คืน OS จากการสำรองข้อมูลไปยังคอมพิวเตอร์ฟิสิกส์อื่น หรือ Virtual Machine Hyper-V / VMware / VirtualBox (การกู้คืนจาก Bare Metal Recovery ไปยังฮาร์ดแวร์อื่น เป็นกรณีเฉพาะ);
- เมื่อย้ายระบบฟิสิกส์โดยใช้ Image ของคอมพิวเตอร์ (สร้างด้วย disk2vhd ตัวอย่าง) และปรับใช้ VM ใหม่จาก Image นี้;
- หลังจากเปลี่ยนโหมดคอนโทรลเลอร์ SATA ใน BIOS จาก AHCI เป็น IDE หรือในทางกลับกัน;
- เมื่อเปลี่ยนเมนบอร์ดและ/หรือคอนโทรลเลอร์ฮาร์ดดิสก์
ในกรณีของผม ปัญหาปรากฏเมื่อย้ายเซิร์ฟเวอร์ฟิสิกส์ที่รัน Windows Server 2008 R2 เข้าสู่สภาพแวดล้อม VMWare หน้าจอสีฟ้าปรากฏที่การเริ่มต้น VM ครั้งแรก

ในโหมด Debug คุณสามารถเห็นได้ว่า Windows บูตหยุดที่ขั้นตอนการโหลดไดรเวอร์ CLASSPNP.SYS

เพื่อแก้ไขข้อผิดพลาด 0x0000007B คุณต้องบูตจากสื่อติดตั้ง Windows ใดๆ (ที่มี Windows 7 / 2008 R2 หรือสูงกว่า) หรือดิสก์บูต (เช่น DART) หากคุณใช้ดิสก์ติดตั้ง Windows ให้กด Shift+F10 บนหน้าจอติดตั้งแรก (ตอนที่คุณเลือกภาษาและรูปแบบคีย์บอร์ด) หน้าต่าง Command Prompt จะปรากฏ ซึ่งคุณต้องรันคำสั่ง:
Regedit.exe
ในหน้าต่าง Registry Editor ไปที่ Registry Hive HKEY_LOCAL_MACHINE และเลือก File -> Load Hive บนไดรฟ์เซิร์ฟเวอร์ท้องถิ่น (อย่าสับสนกับดิสก์ WinPE) เลือกไฟล์ \Windows\System32\config\SYSTEM ไฟล์นี้จัดเก็บส่วนระบบของ Registry ของ Windows ท้องถิ่นของคุณ
ดังนั้น คุณจะมาท์ (ตัวอย่างเช่น ภายใต้ชื่อ local_hkey) Registry Hive ของระบบของคุณจากฮาร์ดดิสก์ไปยัง Registry Editor

ใน Hive ที่โหลดแล้ว ไปที่ Registry Key HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services\.
ค้นหา Registry Keys เหล่านี้:
- Atapi;
- Intelide;
- LSI_SAS.
ค้นหาพารามิเตอร์ REG_DWORD ชื่อ Start ในแต่ละ Key เหล่านี้ และเปลี่ยนค่าของพวกมันเป็น 0 (0x00000000)
หากคุณได้เปลี่ยนโหมดคอนโทรลเลอร์ SATA เป็น AHCI ก่อนที่ข้อผิดพลาดนี้จะปรากฏ คุณควรตั้งค่า Start = 0 ในส่วน msahci ด้วย
หมายเหตุ ค่า Start=0 หมายถึงบริการจะเริ่มต้นเมื่อ Windows เริ่มต้น Start=3 หมายถึงบริการจะเริ่มต้นด้วยตนเอง (Manual)

เพื่อบันทึกการเปลี่ยนแปลงในไฟล์ Registry ท้องถิ่นบนดิสก์ ไปที่ Registry Key HKEY_LOCAL_MACHINE\local_hkey และเลือก Unload Hive ในเมนู

ตอนนี้คุณสามารถรีสตาร์ทเซิร์ฟเวอร์ของคุณได้ Windows ควรบูตปกติ มันจะค้นหาและติดตั้งไดรเวอร์สำหรับคอนโทรลเลอร์ดิสก์ใหม่ของคุณ
ในกรณีของ VMWare คุณจะเพียงต้องติดตั้ง VMWare Tools เท่านั้น
หากหลังจากการเปลี่ยนแปลงเหล่านี้ Windows ของคุณยังคงส่งคืนข้อผิดพลาด INACCESSABLE_BOOT_DEVICE เดียวกันเมื่อบูต แสดงว่าคุณใช้ประเภทคอนโทรลเลอร์ดิสก์อื่น ลองเปลี่ยนค่าพารามิเตอร์ Start ใน HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services ตามตารางด้านล่าง
Windows Service Name VMWare Virtual Machine Physical PC Running Windows x64 with Native SATA Adapter Physical PC with RAID Controller aliide 3 3 3 amdide 3 3 3 atapi 0 0 0 cmdide 3 3 3 iastorv 3 3 3 intelide 0 3 3 msahci 3 0 0 pciide 3 0 3 viaide 3 3 3 LSI_SAS 0 3 3