Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

ในบทความนี้ เราจะเรียนรู้ วิธีซ่อมแซม Windows bootloader บนคอมพิวเตอร์สมัยใหม่ ที่ใช้ UEFI แทนตารางพาร์ติชั่นดิสก์ BIOS และ GPT (แทน MBR) ความเสียหายของ bootloader ของ Windows สามารถเกิดขึ้นได้หลังจากติดตั้งระบบปฏิบัติการที่สอง (ในการกำหนดค่า Dual Boot) การกระทำที่ไม่ถูกต้องระหว่างการกู้คืน Windows การลบข้อมูลบางส่วนในพาร์ติชั่นที่ซ่อนอยู่ ซอฟต์แวร์ที่เป็นอันตราย (ไวรัส แรนซัมแวร์ ฯลฯ) และด้วยเหตุผลอื่นๆ

บทความนี้ให้คำแนะนำทีละขั้นตอนสำหรับการกู้คืน bootloader ที่เสียหายหรือถูกลบใน Windows 10 และ Windows 8.1 บนคอมพิวเตอร์ที่ทำงานในโหมด UEFI ดั้งเดิม (ที่ไม่ใช่รุ่นเก่า) คำแนะนำน่าจะช่วยได้หาก Windows ไม่บู๊ตเนื่องจากไฟล์การกำหนดค่าการบู๊ตหายไปหรือเสียหาย \EFI\Microsoft\Boot\BCD .

ไม่มีข้อมูลการกำหนดค่าการบูตสำหรับพีซีของคุณ:EFI\Microsoft\Boot\BCD

คอมพิวเตอร์ที่ติดตั้ง Windows 10 ในโหมดเนทีฟ UEFI จะไม่สามารถบู๊ตได้หาก EFI bootloader เสียหาย เมื่อพยายามบูตคอมพิวเตอร์ ข้อผิดพลาด BSOD (Blue Screen of Death) ต่อไปนี้ปรากฏขึ้น:

The boot configuration data for your PC is missing or contains errors.
File :\EFI\Microsoft\Boot\BCD
Error code: 0xc000000f

หรือ:

Error code: 0xc000014c

จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

ข้อผิดพลาดนี้บ่งชี้ว่าการกำหนดค่า bootloader ของ Windows – Boot Configuration Data (BCD) เสียหายหรือถูกลบออกอย่างสมบูรณ์ หากคุณพยายามซ่อมแซม bootloader บนคอมพิวเตอร์ UEFI โดยใช้ bcdedit เครื่องมือ คุณจะได้รับข้อผิดพลาดดังนี้:

The boot configuration data store could not be found.
The requested system device cannot be found.

ความจริงก็คือว่าหากติดตั้ง Windows 10 ในโหมด UEFI ดั้งเดิมบนดิสก์ GPT ดังนั้น Windows 10 EFI bootloader (Windows Boot Manager ) เก็บตัวจัดการการบูตและการกำหนดค่า BCD ใน โวลุ่ม EFI ที่ซ่อนอยู่ . แยกต่างหาก (ขนาด 100 MB กับระบบไฟล์ FAT32) เครื่องมือ bcdedit ไม่เห็นพาร์ติชัน EFI นี้ และไม่สามารถจัดการการกำหนดค่า bootloader ได้

หากคอมพิวเตอร์บู๊ตด้วยหน้าจอสีดำพร้อมข้อความ “ไม่พบระบบปฏิบัติการ” เป็นไปได้มากว่า Windows bootloader จะถูกลบออกอย่างสมบูรณ์ ทำตามคำแนะนำในลิงค์

การกู้คืน Windows Bootloader อัตโนมัติ

ขั้นตอนสำหรับการซ่อมแซม bootloader อัตโนมัติที่ใช้ใน Windows Recovery Environment (WinRE) มักไม่มีประโยชน์ในกรณีดังกล่าว แต่ก็คุ้มค่าที่จะลอง:

  1. ลองบู๊ตอุปกรณ์จากแผ่นดิสก์การกู้คืนหรือสื่อการติดตั้ง Windows 10
  2. บนหน้าจอการติดตั้ง ให้คลิก กู้คืนระบบ;
  3. จากนั้นเลือก แก้ปัญหา -> การซ่อมแซมการเริ่มต้น และเลือกระบบปฏิบัติการที่คุณต้องการกู้คืน bootloader จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร
  4. แต่มีแนวโน้มว่าผลลัพธ์จะเป็นลบ:การซ่อมแซมอัตโนมัติไม่สามารถซ่อมแซมพีซีของคุณได้ . จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

การใช้ BCDBoot เพื่อซ่อมแซม EFI Bootloader ใน Windows 10 ด้วยตนเอง

ไปที่ขั้นตอนการกู้คืน EFI Windows bootloader ด้วยตนเองบนคอมพิวเตอร์ที่มี UEFI

ในการซ่อมแซมการกำหนดค่า bootloader (BCD) คุณต้องบูตจากสื่อ Windows 10 ที่ติดตั้งดั้งเดิม (หรือดิสก์กู้คืนหรือแฟลชไดรฟ์ USB แบบพิเศษที่สามารถบู๊ตได้ UEFI) หลังจากบูตเข้าสู่สภาวะแวดล้อมการกู้คืน คุณต้องเปิดบรรทัดคำสั่ง:เลือก การคืนค่าระบบ –> แก้ไขปัญหา-> พรอมต์คำสั่ง )

คุณสามารถเรียกใช้ Command Prompt ได้หากคุณมีสื่อการติดตั้ง Windows อยู่ในมือเท่านั้น ในการดำเนินการนี้ ในหน้าจอแรกของการติดตั้ง Windows (เมื่อเลือกภาษาและรูปแบบแป้นพิมพ์) ให้กดคีย์ผสม Shift+F10 (หรือ Shift+Fn+F10 ในแล็ปท็อปบางรุ่น)

จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

ในพรอมต์คำสั่งที่เปิดขึ้น ให้เรียกใช้เครื่องมือการจัดการดิสก์โดยพิมพ์คำสั่ง:
diskpart
แสดงรายการไดรฟ์บนคอมพิวเตอร์:
รายการดิสก์
ในขั้นตอนนี้ การระบุประเภทของตารางพาร์ติชั่นบนดิสก์ที่ติดตั้ง Windows เป็นสิ่งสำคัญมาก:MBR หรือ GPT . ประเด็นคือ EFI bootloader นั้นใช้เฉพาะบนดิสก์ที่มีตารางพาร์ติชั่น GPT

หากดิสก์มีดอกจัน (* ) ในคอลัมน์ Gpt ตารางพาร์ทิชัน GPT จะถูกใช้ หากไม่เป็นเช่นนั้น MBR จะถูกใช้

จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

หากดิสก์ของคุณใช้ตารางพาร์ติชั่น GPT ให้ทำตามขั้นตอนด้านล่างในคำแนะนำเพื่อซ่อมแซม Windows EFI bootloader

หากคุณมีตารางพาร์ติชั่น MBR บนดิสก์ของคุณ คำแนะนำนี้ใช้ไม่ได้กับคอมพิวเตอร์ของคุณ เป็นไปได้มากว่าคุณมีคอมพิวเตอร์ที่เปิดใช้งานตัวเลือก BIOS หรือ Legacy/Compatibility Support Mode (CSM) ในการตั้งค่า UEFI

บนดิสก์ MBR bootloader ของ Windows จะถูกเก็บไว้ในพาร์ติชั่น System Reserved แยกต่างหาก ไม่ใช่ในพาร์ติชั่น EFI (ไม่ว่าในกรณีใดๆ อย่าแปลงตารางพาร์ติชั่น MBR เป็น GPT จนกว่าคุณจะแก้ไข Windows bootloader !!) ใช้คำแนะนำอื่นเพื่อกู้คืน BCD bootloader บนดิสก์ MBR (Master Boot Record)

เลือกดิสก์ที่ติดตั้ง Windows (หากมีฮาร์ดดิสก์อยู่ในระบบ ดัชนีควรเป็น 0):
sel disk 0
แสดงรายการพาร์ติชั่นและโวลุ่มบนดิสก์:
list partition
list volume

จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

ในตัวอย่างนี้ คุณจะเห็นว่าบูตพาร์ติชัน EFI (สามารถระบุได้ง่ายด้วยขนาด 100 MB และระบบไฟล์ FAT32 ส่วนใหญ่มักเป็นป้ายกำกับ System EFI ) มีดัชนีพาร์ติชั่น 2 (aka Volume 5 พร้อม ซ่อน ฉลาก). พาร์ติชั่นหลักที่มี Windows ที่ติดตั้งพร้อมระบบไฟล์ NTFS (เป็นได้ทั้ง Windows 10 และ Windows 8.1) คือวอลุ่ม 2 ต้องมี MSR ด้วย (Microsoft System Reserved ) พาร์ติชันขนาด 16 MB สำหรับ Windows 10 (หรือ 128 MB สำหรับ Windows 8.1)

หากคุณไม่มีพาร์ติชัน EFI หรือ MSR แยกต่างหาก คุณสามารถสร้างใหม่ได้ด้วยตนเอง ตรวจสอบบทความการกู้คืนพาร์ติชันระบบ EFI และ MSR ที่ถูกลบ

กำหนดอักษรระบุไดรฟ์ K:ให้กับไดรฟ์ข้อมูล EFI ที่ซ่อนอยู่:
เลือกไดรฟ์ข้อมูล 1
กำหนดตัวอักษร K:
ข้อความว่าอักษรระบุไดรฟ์ไปยังพาร์ติชัน EFI สำเร็จควรปรากฏขึ้น:

DiskPart is successfully assigned the drive letter or mount point.

ปิดส่วนดิสก์:
exit
ไปที่ไดเร็กทอรี bootloader บนโวลุ่มที่ซ่อนอยู่:
cd /d K:\efi\microsoft\boot\
ในกรณีนี้ K:คืออักษรระบุไดรฟ์ที่กำหนดให้กับพาร์ติชัน EFI ด้านบน หากไดเรกทอรี \EFI\Microsoft\Boot\ หายไป (ข้อผิดพลาด ระบบไม่พบเส้นทางที่ระบุ ) ให้ลองใช้คำสั่งต่อไปนี้:

cd /d K:\Boot\
หรือ
cd /d K:\ESD\Windows\EFI\Microsoft\Boot\

ณ จุดนี้ คำแนะนำจำนวนมากแนะนำให้รันคำสั่งต่อไปนี้ ซึ่งควรเขียนทับพาร์ติชั่นบูตเรคคอร์ด ค้นหา Windows ที่ติดตั้งและเพิ่มลงใน BCD:

bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

หรือแม้แต่:
bootrec /FixMbr (การกู้คืนระเบียน MBR สำหรับดิสก์ GPT ดูแปลก)

คำสั่งทั้งหมดเหล่านี้ใช้ได้กับดิสก์ที่มี MBR เท่านั้น หากคอมพิวเตอร์ของคุณบูทในโหมด UEFI จำเป็นต้องใช้ตารางพาร์ติชั่น GPT (เช่นในกรณีของเรา) ดังนั้น เมื่อคุณเรียกใช้ bootrec คำสั่ง คุณจะเห็นข้อผิดพลาด:การเข้าถึงถูกปฏิเสธ

ในการแก้ไขบันทึกการบูตบนพาร์ติชัน EFI คุณต้องใช้ BCDBoot เครื่องมือ. เครื่องมือ BCDBoot ช่วยให้คุณกู้คืนไฟล์ bootloader บนพาร์ติชั่นระบบได้โดยการคัดลอกไฟล์จากไดเร็กทอรีระบบบนพาร์ติชั่น Windows การกำหนดค่า BCD bootloader ถูกสร้างขึ้นใหม่โดยใช้ %WINDIR%\System32\Config\BCD-Template ไฟล์.

ใช้คำสั่ง attrib เพื่อลบแอตทริบิวต์ที่ซ่อนอยู่ อ่านอย่างเดียว และระบบออกจากไฟล์ BCD:

แอตทริบิวต์ BCD -s -h -r

ลบไฟล์คอนฟิกูเรชัน BCD ปัจจุบันโดยเปลี่ยนชื่อไฟล์ (ซึ่งจะทำให้คอนฟิกูเรชันการบูตแบบเก่าเป็นข้อมูลสำรอง):
ren BCD BCD.bak
การใช้ bcdboot.exe ยูทิลิตี คุณต้องสร้างที่เก็บ BCD ใหม่โดยคัดลอกไฟล์สภาพแวดล้อมการบูต UEFI ไปยังพาร์ติชันสำหรับเริ่มระบบจากไดเรกทอรี Windows:
bcdboot C:\Windows /l en-us /sk:/f ALL

  • C:\Windows – เป็นพาธไปยังไดเร็กทอรีที่ติดตั้ง Windows 10;
  • /f ทั้งหมด – หมายความว่าคุณต้องการคัดลอกไฟล์ Windows Boot Environment รวมถึงไฟล์สำหรับคอมพิวเตอร์ UEFI และ BIOS (ความสามารถในการบู๊ตในระบบ UEFI และ BIOS) ในการคัดลอกเฉพาะ EFI bootloader ให้ใช้ /f UEFI คำสั่ง;
  • /l en-us — เป็นประเภทของโลแคลระบบ โดยค่าเริ่มต้น en-us – English (USA) ถูกใช้
  • /c – นี่คือตัวเลือก BCDBoot ใหม่ใน Windows 10 ที่ให้คุณเขียนทับเร็กคอร์ดการบูตที่มีอยู่ (รวมถึงการตั้งค่าการดีบัก) ใช้ตัวเลือกนี้เพื่อละเว้นการตั้งค่าการบูตแบบเก่าและสร้างการกำหนดค่า BCD ใหม่ทั้งหมด
  • /v – ใช้เพื่อเปิดใช้งาน BCDBoot verbose output.
คำแนะนำ . หากคุณใช้ Windows 10 เวอร์ชันที่แปลภาษาแล้ว คำสั่งจะแตกต่างออกไป ตัวอย่างเช่น ในเวอร์ชัน Windows สำหรับสหราชอาณาจักร ให้ใช้คำสั่งต่อไปนี้
bcdboot c:\Windows /l en-uk /s K:/f ALL
Windows 10 ภาษาดัช:
bcdboot c:\Windows /l nl-NL /s K:/f ALL
Windows 10 Deutch (ภาษาเยอรมัน):
bcdboot c:\Windows /l de-DE /s K:/f ALL

ตอนนี้ หากคุณเรียกใช้ bcdedit คำสั่ง คุณจะเห็นสิ่งต่อไปนี้ :

รายการควรปรากฏในส่วน Windows Boot Manager ซึ่งมีพาธแบบเต็มไปยังไฟล์บูต UEFI (\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI ). ในตัวอย่างนี้ จะอยู่ที่เล่ม 2 (partition=\Device\HarddiskVolume2 )

จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร

ข้อผิดพลาดที่เป็นไปได้:

  • ข้อผิดพลาด BFSVC: ไม่สามารถเปิดที่เก็บเทมเพลต BCD . สถานะ – [c000000f] – ตรวจสอบว่าคำสั่งที่ป้อนถูกต้องหรือไม่ และคุณได้ติดตั้งเวอร์ชัน Windows ที่แปลแล้วหรือไม่ ในกรณีนี้ คุณต้องระบุรหัสภาษาท้องถิ่นที่ถูกต้อง เครื่องมือ bcdboot จะคัดลอกไฟล์เทมเพลต BCD จากไดเร็กทอรี \Windows\System32\Config หากเทมเพลต BCD ในโฟลเดอร์นี้เสียหายหรือถูกลบ ให้ลองตรวจสอบความสมบูรณ์ของไฟล์ระบบแบบออฟไลน์โดยใช้ sfc.exe เครื่องมือ (คุณต้องมีแผ่นดิสก์การติดตั้ง Windows – ไดรฟ์ D :): sfc /scanow /OFFBOOTDIR=C:\ /OFFWINDIR=D:\WINDOWS
  • ข้อผิดพลาด BFSVC:เกิดข้อผิดพลาดในการคัดลอกไฟล์บูตจาก Last Error =0x570 – ลองตรวจสอบไดรฟ์โดยใช้คำสั่ง CHKDSK K:/F
  • ข้อผิดพลาด BFSVC:ไม่สามารถตั้งค่าอุปกรณ์แอปพลิเคชันองค์ประกอบ สถานะ =[ค 000000bb ] – ตรวจสอบพาร์ติชัน EFI และ Windows 10 ด้วย chkdsk.exe . ตรวจสอบว่าแอตทริบิวต์ที่ซ่อนและแอตทริบิวต์ระบบของไฟล์ BCD ถูกล้าง ลบออก:
    attrib -s -h \EFI\Microsoft\Boot\BCD
    del \EFI\Microsoft\Boot\BCD

    จะซ่อมแซม EFI / GPT Bootloader บน Windows 10 ได้อย่างไร
  • ล้มเหลวเมื่อเริ่มต้นโวลุ่มระบบไลบรารี – ตรวจสอบให้แน่ใจว่าคุณใช้พาร์ติชัน FAT32 ที่ถูกต้องกับ EFI (คุณอาจมีหลายพาร์ติชันที่คล้ายกัน)

ตอนนี้ คุณต้องรีสตาร์ทคอมพิวเตอร์และยกเลิกการเชื่อมต่อสื่อที่ใช้บู๊ตได้ จากนั้น Windows Boot Manager ปรากฏในรายการอุปกรณ์ที่สามารถบู๊ตได้ ซึ่งคุณสามารถเลือกระบบปฏิบัติการที่ต้องการบู๊ตได้ กู้คืน EFI bootloader และการกำหนดค่า BCD เรียบร้อยแล้ว!