Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Boot Manager trong các phiên bản Windows hiện đại dùng file BCD (Boot Configuration Data) để boot hệ điều hành cài trên máy tính. File này chứa thông tin về OS cài đặt và tham số boot. Windows không boot bình thường nếu file BCD bị xóa hoặc hỏng. Cũng không boot được nếu Master Boot Record (MBR) trên ổ cứng bị hỏng. Trong bài này, chúng ta chỉ cách rebuild đúng Windows Boot Manager, file cấu hình BCD, và sửa MBR trên Windows 10 và 11.

File Boot Configuration Data bị thiếu trong Windows 10 hoặc 11

Nếu file BCD thiếu hoặc hỏng, nếu bạn xóa/format partition disk riêng có nhãn System Reserved (và dung lượng 500 MB) hoặc partition recovery OEM đặc biệt, người dùng có thể thấy thông báo sau khi cố boot Windows:

Your PC needs to be repaired The Boot Configuration Data file is missing some required information File: \Boot\BCD Error code: 0xc0000034
Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Lỗi cũng có thể trông như sau:

The Boot Configuration Data for your PC is missing or contains errors. File: \boot\bcd Error Code: 0xc000000f

Nếu MBR hỏng, có thể lỗi “An operating system wasn’t found”.

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Nếu văn bản lỗi đề cập đến file winload.efi, xem bài "Winload.efi is missing in Windows 10".

Cách tự động sửa Windows Bootloader?

Nếu lỗi xuất hiện, trước hết thử sửa vấn đề boot OS dùng chế độ Startup Repair có thể khởi động từ Windows Recovery Environment (Windows RE).

Mẹo: Nên định kỳ kiểm tra sức khỏe môi trường WinRE, và nếu nó không hoạt động, dùng phương pháp trong bài “How to Recover WinRE in Windows” để sửa nó.

Nếu sửa tự động bằng Startup Repair không giúp, boot máy tính từ đĩa cài/boot Windows hoặc trong môi trường WinRE (Repair your computer → Troubleshoot → Advanced options → Command Prompt). Mở command prompt, thử tạo file BCD mới và cập nhật bản ghi MBR từ đầu.

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Trong ví dụ này, tôi dùng đĩa cài Windows 10. Đổi thiết bị boot chính sang ổ DVD hoặc USB flash drive chứa file cài Windows trong cài đặt BIOS (tùy thiết bị bạn muốn boot). Boot máy tính từ ảnh cài Windows và bấm Shift + F10 trên màn hình chọn ngôn ngữ. Bạn sẽ thấy command prompt.

Thử sửa file BCD tự động bằng lệnh:

bootrec /RebuildBCD

Khởi động lại máy tính và kiểm tra Windows boot (đừng quên đổi thứ tự ưu tiên boot trong BIOS). Nếu Windows không boot, boot từ media cài lại và mở command prompt.

Xác định bố cục partition ổ đĩa và ký tự ổ

Rất quan trọng. Tất cả hướng dẫn dưới đây phù hợp cho máy tính BIOS tiêu chuẩn (hoặc boot chế độ UEFI legacy) với bảng partition MBR. Trên máy tính firmware UEFI, bạn cần dùng hướng dẫn sửa EFI bootloader Windows 10 hoặc khôi phục partition EFI bị xóa.

Cách hiểu bạn có máy tính BIOS hay UEFI? Cách dễ nhất kiểm tra bảng partition ổ đĩa cài Windows: GPT hay MBR. Chạy lệnh:

diskpart

Sau đó liệt kê ổ đĩa:

list disk
  • Nếu ổ đĩa có dấu sao (*) trong cột Gpt, nghĩa là bảng partition GPT dùng trên ổ này. Có nghĩa bạn có máy tính UEFI, và để khôi phục bootloader Windows, cần dùng bài từ link trên;
  • Nếu không có dấu sao trong cột GPT, nghĩa là bạn có bảng partition MBR trên ổ đĩa, và bạn có thể tiếp tục hướng dẫn này.

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Tiếp theo, cần xác định ổ cục bộ và volume trên máy tính (ký tự ổ gán cho chúng nhiều khả năng khác với những gì bạn thấy khi làm việc trong Windows). Dễ hơn làm bằng diskpart. Chạy lệnh:

diskpart
list vol
Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Bạn sẽ thấy danh sách partition, ký tự ổ gán cho chúng, và kích thước. Trong trường hợp của tôi, có một ổ cứng trên máy tính với hai volume:

  • Partition System Reserved dung lượng 500 MB và ký tự ổ C: gán cho nó. Mặc định Windows Boot Manager và file BCD nằm trên partition dịch vụ nhỏ này (đọc thêm);
  • Partition NTFS dung lượng 39 GB và ký tự D:. Partition này chứa Windows cài đặt, chương trình, và dữ liệu người dùng.

Quan trọng. Nhớ ký tự ổ gán, vì chúng sẽ dùng trong lệnh sau.

Sửa Master Boot Record (MBR) trên Windows 10/11

Bạn có thể dùng công cụ bootrec.exe ghi đè dữ liệu trong MBR và boot sector, thêm đường dẫn cần thiết đến Windows Boot Manager.

Thử ghi đè master boot record (MBR) của partition hệ thống để tương thích với Windows boot loader (bảng partition hiện tại không bị ghi đè).

bootrec.exe /fixmbr

Thêm code vào boot sector của ổ đĩa để load file bootmgr (Windows Boot Manager):

bootsect.exe /nt60 all /force

Nếu lệnh bootsect.exe không tìm thấy, thử chỉ định đường dẫn đầy đủ:
X:\boot\bootsect.exe /nt60 all /force

Trước khi tiếp tục, thử tự động rebuild cấu hình bootloader BCD với các lệnh sau (cách dễ nhất cho người mới):

bootrec /FixBoot – lệnh tạo boot sector mới trên partition hệ thống và ghi đè boot record partition PBR.
bootrec /ScanOs – quét tất cả ổ đĩa tìm bản cài Windows chưa có trong Boot Configuration store
Nếu quét thành công, bạn sẽ được nhắc thêm entry về bản Windows tìm thấy vào cấu hình 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  – tạo lại bootloader configuration store, thêm bản Windows tìm thấy trên máy tính vào BCD bootloader.

Sau đó, restart máy tính và kiểm tra Windows boot đúng. Nếu OS không boot, làm theo hướng dẫn dưới.

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Cách tạo lại cấu hình Boot Windows (BCD) từ đầu?

Tiếp theo, dùng lệnh BCDedit tạo file Boot Configuration Data mới (giả sử bạn không có file backup BCD).

Các bước tiếp theo phụ thuộc vào ổ đĩa có partition System Reserved riêng hay không. Chạy lệnh:

diskpart
list vol

Kiểm tra xem có partition System Reserved trên ổ cứng không. Có thể nhận diện bằng nhãn volume, hoặc chính xác hơn bằng kích thước (500 MB cho Windows 10+, 350 MB cho Windows 8.1, 100 MB cho Windows 7).

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)
  • Nếu không có partition system reserved (có thể bạn xóa nhầm), bạn có thể lưu file Boot Manager và BCD bootloader trên ổ hệ thống chứa thư mục Windows. Để tạo file Bootmgr và BCD bootloader trên ổ chỉ định, chạy lệnh:
    bcdboot C:\Windows /S C:
    Thông báo xuất hiện:

    Boot files successfully created.
  • Nếu có partition System Reserved, xóa file BCD cũ (hỏng) và tạo mới:
    del c:\boot\bcd

Nếu ký tự ổ không gán cho partition System Reserved (mặc định), bạn có thể gán thủ công dùng diskpart. Chạy: diskpart

Chọn ổ cục bộ (trong trường hợp tôi, chỉ một ổ cứng kết nối, nhưng bạn liệt kê ổ cục bộ bằng list disk): select disk 0

Ảnh trên cho thấy partition System Reserved gọi là Volume 1. Chọn nó: select volume 1

Gán ký tự ổ (tôi gán C:, nhưng bạn dùng ký tự khác, trong trường hợp đó đổi đường dẫn trong lệnh sau): assign letter C:

exit

Tạo file tạm bcd.tmp trống:

bcdedit /createstore c:\boot\bcd.tmp

Tạo entry cho Windows Boot Manager (bootmgr):

bcdedit.exe /store c:\boot\bcd.tmp /create {bootmgr} /d "Windows Boot Manager"

Import cài đặt từ bcd.tmp vào BCD:
bcdedit.exe /import c:\boot\bcd.tmp

Nếu lệnh bcdedit trả về lỗi truy cập file BCD (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), thử gỡ thuộc tính hidden, read-only, system:

attrib C:\Boot\BCD -s -h -r

Chỉ định Windows Boot Manager nằm trên partition System Reserved (ký tự ổ C: gán cho nó):

bcdedit.exe /set {bootmgr} device partition=c:

Cấu hình timeout chọn OS:

bcdedit.exe /timeout 10

Xóa file tạm:
del c:\boot\bcd.tmp

Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Vậy bạn đã tạo file BCD trống với cài đặt bootloader. Bây giờ phải thêm entry về Windows cài đặt.

Tạo entry mới trong cấu hình BCD cho Windows 10:

bcdedit.exe /create /d "Windows 10" /application osloader

Lệnh trả về định danh duy nhất (GUID) của entry bootloader này.

The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.
Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Chỉ định bootmgr dùng entry này mặc định (sau timeout, entry này dùng boot Windows):

bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}

Bây giờ chỉ định đường dẫn đến bản Windows 10 cài trong entry bootloader mới. Chúng ta tìm ra trước đó ký tự ổ D: gán cho partition Windows trong WinPE. Dùng ký tự ổ này trong lệnh sau:

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

Làm cho entry boot trong BCD hiển thị, vì mặc định nó ẩn:

bcdedit.exe /displayorder {default} /addlast
Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Vậy chúng ta đã hoàn toàn tạo lại bootloader Windows 10 (bootmgr) và file BCD và ghi đè boot sector MBR.

Bây giờ cần làm cho partition chứa bootmgr và file BCD với cấu hình bootloader Windows trở thành active (BIOS chuyển điều khiển đến OS bootloader trên partition active MBR). Ví dụ, các partition sau có sẵn trên máy tính:

  • Volume 0 – USB cài đặt (ISO image) boot máy tính;
  • Volume 1 – partition System Reserved (500 MB) với Windows bootmgr và file BCD;
  • Volume 2 – partition chứa thư mục hệ thống Windows (%Windir%, Program Files, Users, v.v.)
Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Trong ví dụ này, bạn cần làm Volume 1 thành partition active (trong trường hợp bạn, tìm số partition). Bạn có thể làm partition active dùng diskpart:

diskpart
list disk
sel disk 0
list vol
select volume 1 (bootmgr và \Boot\BCD phải trên partition này)
active exit

Kiểm tra volume 1 giờ là active:

select vol 1
detail partition
(Active: Yes )
Cách sửa Windows Boot Manager, BCD và Master Boot Record (MBR)

Bây giờ bạn có thể restart máy tính và đảm bảo Windows boot bình thường.