Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 7

แก้ไข: BSOD Error 0x0000007B เมื่อบูต Windows 7 และ Server 2008 R2

เมื่อคุณเปลี่ยนฮาร์ดแวร์คอมพิวเตอร์หรือเซิร์ฟเวอร์ (เมนบอร์ด, คอนโทรลเลอร์ดิสก์, เป็นต้น) กู้คืน 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 ในกรณีต่อไปนี้:

  1. เมื่อกู้คืน OS จากการสำรองข้อมูลไปยังคอมพิวเตอร์ฟิสิกส์อื่น หรือ Virtual Machine Hyper-V / VMware / VirtualBox (การกู้คืนจาก Bare Metal Recovery ไปยังฮาร์ดแวร์อื่น เป็นกรณีเฉพาะ);
  2. เมื่อย้ายระบบฟิสิกส์โดยใช้ Image ของคอมพิวเตอร์ (สร้างด้วย disk2vhd ตัวอย่าง) และปรับใช้ VM ใหม่จาก Image นี้;
  3. หลังจากเปลี่ยนโหมดคอนโทรลเลอร์ SATA ใน BIOS จาก AHCI เป็น IDE หรือในทางกลับกัน;
  4. เมื่อเปลี่ยนเมนบอร์ดและ/หรือคอนโทรลเลอร์ฮาร์ดดิสก์

ในกรณีของผม ปัญหาปรากฏเมื่อย้ายเซิร์ฟเวอร์ฟิสิกส์ที่รัน Windows Server 2008 R2 เข้าสู่สภาพแวดล้อม VMWare หน้าจอสีฟ้าปรากฏที่การเริ่มต้น VM ครั้งแรก

แก้ไข: BSOD Error 0x0000007B เมื่อบูต Windows 7 และ Server 2008 R2

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

แก้ไข: BSOD Error 0x0000007B เมื่อบูต Windows 7 และ Server 2008 R2

เพื่อแก้ไขข้อผิดพลาด 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

แก้ไข: BSOD Error 0x0000007B เมื่อบูต Windows 7 และ Server 2008 R2

ใน 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)

แก้ไข: BSOD Error 0x0000007B เมื่อบูต Windows 7 และ Server 2008 R2

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

แก้ไข: BSOD Error 0x0000007B เมื่อบูต Windows 7 และ Server 2008 R2

ตอนนี้คุณสามารถรีสตาร์ทเซิร์ฟเวอร์ของคุณได้ 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