Boot Manager ใน Windows รุ่นใหม่ใช้ BCD (ข้อมูลการกำหนดค่าการบูต) ไฟล์เพื่อบู๊ตระบบปฏิบัติการที่ติดตั้งบนคอมพิวเตอร์ ไฟล์นี้มีข้อมูลเกี่ยวกับระบบปฏิบัติการที่ติดตั้งและพารามิเตอร์การบู๊ต Windows ไม่สามารถบู๊ตได้ตามปกติหากไฟล์ BCD ถูกลบหรือเสียหาย นอกจากนี้ คุณจะไม่สามารถบูต Windows ได้หาก Mater Boot Record (MBR) บนฮาร์ดดิสก์เสียหาย ในบทความนี้เราจะแสดงวิธีการสร้าง Windows Boot Manager ใหม่ ไฟล์การกำหนดค่า BCD และแก้ไข MBR ใน Windows 10 และ 11 อย่างถูกต้อง
ไฟล์ข้อมูลการกำหนดค่าการบูตหายไปใน Windows 10 หรือ 11
หากไฟล์ BCD หายไปหรือเสียหาย หากคุณลบ/ฟอร์แมตพาร์ติชั่นดิสก์แยกต่างหากด้วย System Reserved ป้ายชื่อ (และขนาด 500 MB) หรือพาร์ติชันการกู้คืนแบบพิเศษของ OEM ผู้ใช้มักจะเห็นข้อความต่อไปนี้เมื่อพยายามบูต Windows:
Your PC needs to be repaired The Boot Configuration Data file is missing some required information File: \Boot\BCD Error code: 0xc0000034
นอกจากนี้ ข้อผิดพลาดอาจมีลักษณะดังนี้:
The Boot Configuration Data for your PC is missing or contains errors. File: \boot\bcd Error Code: 0xc000000f
หาก MBR เสียหาย อาจมีข้อผิดพลาด "ไม่พบระบบปฏิบัติการ"
หากข้อความแสดงข้อผิดพลาดอ้างถึง winload.efi ให้ไปที่บทความ Winload.efi หายไปใน Windows 10
จะซ่อมแซม Windows Bootloader โดยอัตโนมัติได้อย่างไร
หากข้อผิดพลาดนี้ปรากฏขึ้น อันดับแรก ให้ลองแก้ไขปัญหาเกี่ยวกับการบูตระบบปฏิบัติการโดยใช้ โหมดการซ่อมแซมการเริ่มต้นระบบ ที่สามารถเริ่มต้นได้จาก Windows Recovery Environment (Windows RE)
เคล็ดลับ ขอแนะนำให้ตรวจสอบความสมบูรณ์ของสภาพแวดล้อม WinRE เป็นระยะ และหากไม่ได้ผล ให้ใช้วิธีการที่อธิบายไว้ในบทความ “วิธีการกู้คืน WinRE ใน Windows” เพื่อซ่อมแซมหากการซ่อมแซมอัตโนมัติโดยใช้ Startup Repair ไม่ช่วย ให้บูตคอมพิวเตอร์จากดิสก์บูต/ติดตั้ง Windows หรือในสภาพแวดล้อม WinRE (ซ่อมแซมคอมพิวเตอร์ของคุณ -> แก้ไขปัญหา -> ตัวเลือกขั้นสูง -> พร้อมรับคำสั่ง ). เริ่มพรอมต์คำสั่ง พยายามสร้างไฟล์ BCD ใหม่ และอัปเดตระเบียน MBR ตั้งแต่เริ่มต้น
ในตัวอย่างนี้ ฉันจะใช้ดิสก์การติดตั้ง Windows 10 เปลี่ยนอุปกรณ์บู๊ตหลักเป็นไดรฟ์ดีวีดีหรือ USB แฟลชไดรฟ์ด้วยไฟล์การตั้งค่า Windows ในการตั้งค่า BIOS (ขึ้นอยู่กับอุปกรณ์ที่คุณต้องการบู๊ตคอมพิวเตอร์) บูตคอมพิวเตอร์จากอิมเมจการติดตั้ง Windows แล้วกด Shift + F10 บนหน้าจอการเลือกภาษา คุณจะเห็นพรอมต์คำสั่ง
พยายามซ่อมแซมไฟล์ BCD โดยอัตโนมัติโดยใช้คำสั่งนี้:
bootrec /RebuildBCD
รีบูตเครื่องคอมพิวเตอร์และตรวจสอบว่า Windows บู๊ตหรือไม่ (อย่าลืมเปลี่ยนลำดับความสำคัญของอุปกรณ์บู๊ตในการตั้งค่า BIOS) หาก Windows ไม่บู๊ต ให้บูตจากสื่อการติดตั้งอีกครั้งแล้วเปิดพรอมต์คำสั่ง
การระบุเลย์เอาต์ของพาร์ติชันดิสก์และอักษรระบุไดรฟ์
สำคัญมาก คำแนะนำทั้งหมดด้านล่างนี้เหมาะสำหรับ BIOS มาตรฐาน คอมพิวเตอร์ (หรือบูตในโหมดดั้งเดิม UEFI) ด้วย MBR ตารางพาร์ทิชัน ในคอมพิวเตอร์ที่มีเฟิร์มแวร์ UEFI คุณต้องใช้คำแนะนำต่อไปนี้เพื่อซ่อมแซม EFI bootloader ใน Windows 10 หรือเพื่อกู้คืนพาร์ติชั่น EFI ที่ถูกลบจะเข้าใจได้อย่างไรว่าคอมพิวเตอร์ของคุณมี BIOS หรือ UEFI วิธีที่ง่ายที่สุดคือตรวจสอบตารางพาร์ติชั่นดิสก์ที่ติดตั้ง Windows:GPT หรือ MBR ในการดำเนินการนี้ ให้รันคำสั่ง:
diskpart
จากนั้นแสดงรายการดิสก์ที่มี:
list disk
- หากดิสก์มีดอกจัน (
*
) ใน Gpt ตารางพาร์ติชั่น GPT จะถูกใช้บนดิสก์นี้ ซึ่งหมายความว่าคุณมีคอมพิวเตอร์ที่มี UEFI และในการกู้คืน Windows bootloader คุณต้องใช้บทความจากลิงก์ด้านบนนี้ - หากไม่มีเครื่องหมายดอกจันในคอลัมน์ GPT แสดงว่าคุณมีตารางพาร์ติชั่น MBR บนดิสก์ และคุณสามารถทำตามคำแนะนำนี้ต่อไปได้
ถัดไป คุณต้องระบุไดรฟ์และไดรฟ์ในเครื่องในคอมพิวเตอร์ของคุณ (เป็นไปได้มากว่าอักษรระบุไดรฟ์ที่กำหนดให้กับไดรฟ์เหล่านี้จะแตกต่างจากที่คุณเห็นเมื่อทำงานใน Windows) มันง่ายกว่าที่จะทำโดยใช้ diskpart รันคำสั่งเหล่านี้:
diskpart
list vol
คุณจะเห็นรายการพาร์ติชั่น อักษรระบุไดรฟ์ที่กำหนดให้กับพาร์ติชั่น และขนาดของพาร์ติชั่น ในกรณีของเรา มีฮาร์ดไดรฟ์หนึ่งตัวในคอมพิวเตอร์ที่มีไดรฟ์ข้อมูลสองชุด:
- สงวนระบบ พาร์ติชันที่มีขนาด 500 MB และอักษรระบุไดรฟ์ C: มอบหมายให้กับมัน ตามค่าเริ่มต้น ไฟล์ Windows Boot Manager และ BCD จะอยู่บนพาร์ติชันบริการขนาดเล็กนี้ (อ่านเพิ่มเติม)
- พาร์ติชัน NTFS ด้วยขนาด 39 GB และตัวอักษร D: ที่ได้รับมอบหมาย. พาร์ติชันนี้ประกอบด้วย Windows โปรแกรม และข้อมูลผู้ใช้ที่ติดตั้งไว้
ซ่อมแซมมาสเตอร์บูตเรคคอร์ด (MBR) ใน Windows 10/11
คุณสามารถใช้เครื่องมือ bootrec.exe เพื่อเขียนทับข้อมูลใน MBR และบูตเซกเตอร์ และเพิ่มเส้นทางที่จำเป็นไปยัง Windows Boot Manager
ลองเขียนทับมาสเตอร์บูตเรคคอร์ด (MBR) ของพาร์ติชันระบบเพื่อให้เข้ากันได้กับบูตโหลดเดอร์ของ Windows (ตารางพาร์ติชั่นที่มีอยู่จะไม่ถูกเขียนทับ)
bootrec.exe /fixmbr
เพิ่มรหัสลงในบูตเซกเตอร์ของดิสก์เพื่อโหลดไฟล์ bootmgr (Windows Boot Manager):
bootsect.exe /nt60 all /force
หากไม่พบคำสั่ง bootsect.exe ให้ลองระบุพาธแบบเต็มไปที่:X:\boot\bootsect.exe /nt60 all /force
bootrec /FixBoot
– คำสั่งสร้างบูตเซกเตอร์ใหม่บนพาร์ติชันระบบและเขียนทับบันทึกการบูตของพาร์ติชัน PBRbootrec /ScanOs
– สแกนไดรฟ์ทั้งหมดและมองหาสำเนาของ Windows ที่ติดตั้งซึ่งไม่ได้อยู่ในร้านการกำหนดค่าการบูต
หากการสแกนสำเร็จ คุณจะได้รับแจ้งให้เพิ่มรายการเกี่ยวกับอินสแตนซ์ของ Windows ที่พบในการกำหนดค่า BCD:
Scanning all disks for Windows installations. Please wait, since this may take a while... Successfully scanned Windows installations. Total identified Windows installations: 1 [1] D:\Windows Add installation to boot list? Yes/No/All:
bootrec /RebuildBcd
– สร้างที่เก็บการกำหนดค่า bootloader ขึ้นใหม่ เพิ่มสำเนาของ Windows ที่พบในคอมพิวเตอร์ไปยัง BCD bootloader
หลังจากนั้น ให้รีสตาร์ทคอมพิวเตอร์และตรวจสอบว่า Windows บู๊ตอย่างถูกต้องหรือไม่ หากระบบปฏิบัติการไม่บู๊ต ให้ทำตามคำแนะนำด้านล่าง
จะสร้าง Windows Boot Configuration (BCD) ขึ้นมาใหม่ได้อย่างไรจากศูนย์
ต่อไป ใช้ BCDedit คำสั่งให้สร้างไฟล์ Boot Configuration Data ใหม่ (ซึ่งควรจะเป็น คุณไม่มีไฟล์สำรอง BCD)
ขั้นตอนต่อไปของคุณขึ้นอยู่กับว่าดิสก์มีพาร์ติชั่น System Reserved แยกต่างหากหรือไม่ รันคำสั่ง:
diskpart
list vol
ตรวจสอบว่ามีพาร์ติชั่น System Reserved บนฮาร์ดดิสก์หรือไม่ ระบุได้ด้วยป้ายกำกับระดับเสียง หรือระบุให้ชัดเจนยิ่งขึ้นด้วยขนาด (500 MB สำหรับ Windows 10+, 350 MB สำหรับ Windows 8.1 และ 100 MB สำหรับ Windows 7)
- หากไม่มีพาร์ติชั่นที่สงวนไว้ของระบบ (บางทีคุณอาจเผลอลบพาร์ติชั่นนั้นไปโดยไม่ได้ตั้งใจ) คุณสามารถจัดเก็บไฟล์ Boot Manager ไว้ในไดรฟ์ระบบที่มีไดเร็กทอรี Windows อยู่ ในการสร้างไฟล์การกำหนดค่า Bootmgr และ BCD bootloader บนไดรฟ์ที่ระบุ ให้เรียกใช้คำสั่ง:
bcdboot C:\Windows /S C:
ข้อความควรปรากฏขึ้น:Boot files successfully created.
- ถ้าคุณมีพาร์ติชั่นที่สงวนไว้สำหรับระบบ ให้ลบไฟล์ BCD เก่า (เสียหาย) และสร้างไฟล์ใหม่แทน:
del c:\boot\bcd
diskpart
เลือกดิสก์ในเครื่องของคุณ (ในกรณีของฉัน มีการเชื่อมต่อฮาร์ดดิสก์เพียงตัวเดียว แต่คุณสามารถแสดงรายการดิสก์ในเครื่องด้วย รายการดิสก์ คำสั่ง):select disk 0
ภาพหน้าจอด้านบนแสดงให้เห็นว่าพาร์ติชั่น System Reserved เรียกว่า Volume 1 . Select it:select volume 1
กำหนดอักษรระบุไดรฟ์ (ฉันกำหนดอักษรระบุไดรฟ์ C:แต่คุณสามารถใช้อักษรอื่นใดก็ได้ ในกรณีนี้ ให้เปลี่ยนเส้นทางในคำสั่งต่อไปนี้):assign letter C:
exit
สร้างไฟล์ชั่วคราวที่ว่างเปล่า bcd.tmp:
bcdedit /createstore c:\boot\bcd.tmp
สร้างรายการสำหรับ Windows Boot Manager (bootmgr):
bcdedit.exe /store c:\boot\bcd.tmp /create {bootmgr} /d "Windows Boot Manager"
นำเข้าการตั้งค่าจาก bcd.tmp ไปยัง BCD ของคุณ:bcdedit.exe /import c:\boot\bcd.tmp
access denied
, the store import operation has failed
, the required system device cannot be found, the volume does not contain a recognized file system. please make sure that all required file system drivers are loaded and that the volume is not corrupted
) ลองลบแอตทริบิวต์ที่ซ่อนอยู่ อ่านอย่างเดียว และแอตทริบิวต์ของระบบออก:
attrib C:\Boot\BCD -s -h -r
ระบุว่า Windows Boot Manager อยู่ในพาร์ติชั่น System Reserved (กำหนดอักษรระบุไดรฟ์ C:):
bcdedit.exe /set {bootmgr} device partition=c:
กำหนดค่าการหมดเวลาเพื่อเลือกระบบปฏิบัติการ:
bcdedit.exe /timeout 10
ลบไฟล์ชั่วคราว:del c:\boot\bcd.tmp
ดังนั้น คุณได้สร้างไฟล์ BCD เปล่าด้วยการตั้งค่า bootloader ตอนนี้คุณต้องเพิ่มรายการเกี่ยวกับ Windows ที่ติดตั้ง
สร้างรายการใหม่ในการกำหนดค่า BCD สำหรับ Windows 10:
bcdedit.exe /create /d "Windows 10" /application osloader
คำสั่งจะส่งคืนตัวระบุเฉพาะ (GUID) ของรายการ bootloader นี้
The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.
ระบุว่า bootmgr ควรใช้รายการนี้โดยค่าเริ่มต้น (หลังจากหมดเวลา รายการนี้จะถูกใช้เพื่อบูต Windows):
bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
ตอนนี้คุณต้องระบุพา ธ ไปยังสำเนา Windows 10 ที่ติดตั้งในรายการ bootloader ใหม่ เราพบก่อนหน้านี้ว่าอักษรระบุไดรฟ์ D: ถูกกำหนดให้กับพาร์ติชัน Windows ใน WinPE ใช้อักษรระบุไดรฟ์นี้ในคำสั่งต่อไปนี้:
bcdedit.exe /set {default}device partition=d:
bcdedit.exe /set {default} osdevice partition=d:
bcdedit.exe /set {default} path \Windows\system32\winload.exe
bcdedit.exe /set {default} systemroot \Windows
ทำให้รายการบูตนี้มองเห็นได้ใน BCD เนื่องจากถูกซ่อนไว้โดยค่าเริ่มต้น:
bcdedit.exe /displayorder {default} /addlast
ดังนั้นเราจึงได้สร้าง bootloader ของ Windows 10 (bootmgr) และไฟล์ BCD ขึ้นใหม่ทั้งหมด และเขียนทับบูตเซกเตอร์ MBR
ตอนนี้คุณต้องเปิดใช้งานพาร์ติชันที่มีไฟล์ bootmgr และ BCD ที่มีการกำหนดค่า bootloader ของ Windows (การควบคุมการถ่ายโอน BIOS ไปยัง OS bootloader บนพาร์ติชัน MBR ที่ใช้งานอยู่) ตัวอย่างเช่น พาร์ติชันต่อไปนี้มีอยู่ในคอมพิวเตอร์ของคุณ
- Volume 0 – แฟลชไดรฟ์สำหรับติดตั้ง (อิมเมจ ISO) ที่คุณบูตเครื่องคอมพิวเตอร์
- เล่มที่ 1 – พาร์ติชันที่สงวนไว้ของระบบ (ขนาด 500 MB) พร้อมไฟล์ Windows bootmgr และ BCD
- เล่มที่ 2 – พาร์ติชั่นที่มีโฟลเดอร์ระบบ Windows (%Windir%, ไฟล์โปรแกรม, ผู้ใช้ และอื่นๆ)
ในตัวอย่างนี้ คุณต้องทำให้ไดรฟ์ข้อมูล 1 เป็นพาร์ติชันที่ใช้งานอยู่ (ในกรณีของคุณ คุณต้องค้นหาหมายเลขพาร์ติชันของคุณ) คุณสามารถทำให้พาร์ติชันใช้งานได้โดยใช้ diskpart:
diskpart
(bootmgr และ \Boot\BCD ต้องอยู่ในพาร์ติชันนี้ )
list disk
sel disk 0
list vol
select volume 1 active
exit
ตรวจสอบว่าเล่ม 1 เปิดใช้งานอยู่:
select vol 1
detail partition
(Active: Yes )
ตอนนี้คุณสามารถรีสตาร์ทคอมพิวเตอร์และตรวจสอบว่า Windows บู๊ตได้ตามปกติ