Cách sửa lỗi File BCD và Master Boot Record (MBR) trong Windows 10

0
1168
Lỗi BCD khi khởi động Windows 10
Lỗi BCD khi khởi động Windows 10

Boot Manager trong các phiên bản mới của Windows sử dụng file BCD (Boot Configuration Data) để khởi động hệ điều hành trên máy tính. File này chứa thông tin về hệ điều hành đã cài đặt và các thông số để khởi động. Windows sẽ không thể khởi động bình thường nếu thiếu, hỏng file BCD. Ngoài ra bạn cũng không thể khởi động được Windows nếu Master Boot Record (MBR) bị hỏng. Trong bài viết này chúng tôi sẽ hướng dẫn bạn cách sửa lỗi, hoặc rebuild lại các file khởi động BCD và sửa lỗi MBR trên Windows 10.

Nếu file BCD bị thiếu hoặc bị hỏng (thường do bạn xóa nhầm hoặc format nhầm) phân vùng System Reserved (khoảng 500MB) hoặc phân vùng khôi phục OEM đặc biết của nhà sản xuất máy tính. Lỗi xuất hiện khi khởi động máy tính cài hệ điều hành Windows 10.

Your PC needs to be repaired.

The Boot Configuration Data file is missing some required information.
File: \Boot\BCD.
Error code: 0xc0000034

Lỗi BCD khi khởi động Windows 10
Lỗi BCD khi khởi động Windows 10

Một vài trường hợp lỗi giống như sau:

The Boot Configuration Data for your PC is missing or contain errors.

File: \boot\bcd

Error Code: 0xc000000f

Nếu MBR bị hỏng, có thể xảy ra lỗi “No operating system found”.

Nếu lỗi có đề cập đến file winload.efi, hãy chuyển đến bài viết Winload.efi bị thiếu trong Windows 10.

Làm thế nào để sửa chữa tự động Bootloader trong Windows 10?

Nếu lỗi này xuất hiện, trước hết, hãy thử khắc phục sự cố khởi động hệ điều hành bằng chế độ Startup Repair mode (có thể được khởi động từ Windows Recovery Environment (Windows RE)).

Thủ thuật: Bạn nên thường xuyên kiểm tra định kỳ tình trạng WinRE và nếu nó không hoạt động. Hãy sử dụng phương pháp được mô tả trong bài viết “Cách khôi phục WinRE trong Windows 10” để khôi phục nó.

Nếu bạn sử dụng chế độ tự động sửa lỗi bằng Startup Repair mà không được. Bạn hãy khởi động với đĩa DVD, USB chứa hệ điều hành. hoặc môi trường WinRE (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt). Từ cửa sổ câu lệnh hay thử tạo một file BCD mới và update MBR từ đó.

Recovery WIndows bằng câu lệnh
Recovery WIndows bằng câu lệnh

Trong ví dụ này tôi sử dụng đĩa cài đặt là Windows 10. (Để boot được thì bạn chọn thiết bị khởi động chính trong BIOS nhé). Khi khởi động máy đến mục cài đặt Windows bạn nhấn Shift+ F10 tại màn hình lựa chọn ngôn ngữ. Bạn sẽ thấy cửa sổ Command Prompt.

Đánh câu lệnh sau:

bootrec /RebuildBCD

Khởi động lại máy tính và kiểm tra xem Windows có boot bình thường chưa (Nhớ rút đĩa khởi động ra và chỉnh lại BIOS để thay đổi cách khởi động từ thiết bị nào nhé). Nếu nó vẫn chưa được, bạn boot lại bằng đĩa và khởi động lại Command Prompt.

Xác Định Kiểu Phân Vùng Ổ Đĩa Và Tên Ổ Đĩa

Điều này rất quan trọng. Bởi vì tất cả các hướng dẫn dưới đây đều phù hợp với các máy tính tiêu chuẩn BIOS có sử dụng bảng phân vùng MBR. Đối với máy tính dựa trên UEFI, bạn cần sử dụng Hướng dẫn cách sửa lỗi khởi động EFI Bootloader trong Windows 10, 8.1 hoặc trong Windows 7.

Làm thế nào để biết được bạn sử dụng máy tính với BIOS hoặc UEFI? Cách đễ nhất là kiểm tra bảng disk partition trên Windows được cài đặt là gì: GPT hoặc MBR. Sử dụng câu lệnh sau để kiểm tra:

diskpart

Xuất một list ổ đĩa bằng lệnh sau:

list disk

Nếu ổ đĩa có đấu (*) trên cột GPT, thì đó là kiểu partition GPT table sử dụng trên ô đĩa này (điều này có nghĩa là máy tính của bạn sử dụng chuẩn UEFI và bạn nên đọc bài viết này để  để khôi phục Windows bootloader). Nếu không có dấu * trên cột GPT thì ổ đĩa của bạn đang sử dụng chuẩn MBR Partition trên ổ đĩa. Vậy tiếp tục xem bài viết dưới đây để biết các khôi phục lại bootloader.

Tiếp theo, bạn cần xác định ổ đĩa cục bộ và ổ đĩa trên máy tính của mình (rất có thể ký tự ổ đĩa được gán sẽ khác với ký tự bạn thấy khi làm việc trong môi trường Windows). Nó dễ dàng hơn để làm điều đó bằng cách sử dụng diskpart. Chạy các câu lệnh sau:

diskpart
list vol

Bạn thấy trong danh sách trên. Chúng ta thấy được tên của ổ đĩa và kích thước của chúng. Trong trường hợp của chúng tôi, có một ổ cứng vật lý chia thành 02 phân vùng.

Phân vùng System Reserved có kích thước 500 MB và ký tự ổ đĩa là C: được gán cho nó. Theo mặc định, file BCD nằm trong phân vùng dịch vụ nhỏ này. Phân vùng NTFS với kích thước 39 GB và ký tự ổ đĩa là D: được gán cho nó. Phân vùng này chứa Windows, chương trình và dữ liệu người dùng đã cài đặt.

Lưu ý: Bạn phải nhớ ký tự ổ đĩa để sử dụng các câu lệnh sau này tránh trường hợp bị sai sẽ gây mất dữ liệu của bạn.

Sửa lỗi Master Boot Record (MBR) trong Windows 10

Sử dụng câu lệnh dưới đây, bạn sẽ ghi đề dữ liệu mới lên Master Boot Record trên boot sector của ổ cứng. Nó sẽ thêm thành công bootloader trong Windows 10.

bootrec.exe /fixmbr
bootsect.exe /nt60 all /force

Trước khi tiếp tục, hãy thử tạo tự động lại cấu hình bộ nạp khởi động BCD bằng các lệnh sau (đây là cách dễ nhất cho người mới bắt đầu):
bootrec / FixBoot – lệnh tạo lại khu vực khởi động trên phân vùng hệ thống;
bootrec / ScanOs
bootrec / RebuildBcd – quét tất cả các đĩa và tìm kiếm Windows đã cài đặt, thêm các bản sao tìm được vào cấu hình bộ nạp khởi động BCD.

Khởi động lại máy tính và kiểm tra xem Windows đã khởi động được chưa?. Nếu hệ điều hành không khởi động, hãy làm theo hướng dẫn bên dưới.

Cách tạo thủ công Boot Configuration File trên Windows 10

Sau khi sử dụng BCDedit command để tạo mới Boot Configuration Data file. Xóa phân vùng BCD lỗi trên System Reserved Partition và tạo mới bằng các lệnh dưới đây:

del c:\boot\bcd

Nếu bạn không nhớ ổ đĩa System Reserved Partition thì bạn có thể sử dụng lại lệnh diskpart bằng câu lệnh:
diskpart
Chọn ổ local disk (tìm nó bằng lệnh list disk): Select disk 0
Màn hình xuất hiện Volume 1 là phân vùng System Reserved Partition. Chọn nó: Select volume 1
Gán ký tự ổ đĩa (tôi đã gán ký tự C :, nhưng bạn có thể sử dụng bất kỳ ký tự nào khác, trong trường hợp này, hãy thay đổi đường dẫn trong các lệnh sau): assign letter C
Sau đó thoát ra bằng lệnh: exit

Tạo một file tạm thời trống bcd.tmp:

bcdedit /createstore c:\boot\bcd.tmp

Tạo một mục cho Boot Manager (bootmgr):

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

Import cấu hình từ file bcd.tmp đến BCD của bạn:

bcdedit.exe /import c:\boot\bcd.tmp

Chỉ định Boot Manager nằm trên phân vùng System Reserved (ký tự là C đượ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

Vì vậy, chúng tôi có một tệp với các tham số của bộ nạp khởi động (bootloader). Bây giờ bạn phải thêm các mục về Windows đã cài đặt.

Tạo một cầu hình BCD mới cho Windows 10

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

Lệnh sẽ trả về bộ nhận dạng duy nhất (GUID) của bootloader entry.

The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.

Chỉ định bootmgr phải sử dụng mục này theo mặc định (sau thời gian timeout, sử dụng mục này để khởi động)

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

Bây giờ bạn có thể chỉ định đường dẫn để cài đặt Windows 10 trong Bootloader mới. Chúng ta có thể thấy WinPE chọn ổ đĩa D được gán cho phân vùng của Windows. Sử dụng ký tự ổ đĩa này trong các 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

Hiển thị bản ghi khởi động này trong BCD, vì nó bị ẩn theo mặc định:

bcdedit.exe /displayorder {default} /addlast

Như vậy, chúng tôi đã hướng dẫn bạn cách sửa lỗi File BCD và Master Boot Record trong Windows 10. Đồng thời sửa khu vực khởi động trên MBR. Bây giờ bạn có thể khởi động lại máy tính của mình và đảm bảo rằng Windows 10 khởi động như bình thường.

Chúc các bạn thành công.