Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Trình quản lý khởi động trong các phiên bản Windows hiện đại sử dụng BCD (Dữ liệu cấu hình khởi động) tập tin khởi động hệ điều hành được cài đặt trên máy tính. Tệp 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 không thể khởi động bình thường nếu tệp BCD bị xóa hoặc bị hỏng. Ngoài ra, bạn sẽ không thể khởi động Windows của mình nếu Bản ghi khởi động Mater (MBR) trên đĩa cứng bị hỏng. Trong bài viết này, chúng tôi sẽ hướng dẫn cách tạo lại chính xác Windows Boot Manager, tệp cấu hình BCD và sửa lỗi MBR trên Windows 10 và 11.

Tệp dữ liệu cấu hình khởi động bị thiếu trong Windows 10 hoặc 11

Nếu tệp BCD bị thiếu hoặc bị hỏng, nếu bạn đã xóa / định dạng một phân vùng đĩa riêng biệt với Hệ thống dành riêng nhãn (và kích thước 500 MB) hoặc phân vùng khôi phục OEM đặc biệt, người dùng có thể thấy thông báo sau khi cố gắng khởi động Windows:

Your PC needs to be repaired
The Boot Configuration Data file is missing some required information
File: \Boot\BCD
Error code: 0xc0000034

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Ngoài ra, lỗi có thể trông giống như sau:

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

Nếu MBR bị hỏng, có thể xảy ra lỗi "Không tìm thấy hệ điều hành".

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

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

Làm cách nào để Tự động sửa chữa Bộ nạp khởi động Windows?

Nếu lỗi này xuất hiện, trước hết, hãy cố gắng khắc phục sự cố khởi động hệ điều hành bằng cách sử dụng Chế độ sửa chữa khởi động có thể được khởi động từ Môi trường Khôi phục Windows (Windows RE).

Mẹo. Bạn nên kiểm tra định kỳ tình trạng của môi 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” để sửa chữa nó.

Nếu việc sửa chữa tự động bằng Startup Repair không hữu ích, hãy khởi động máy tính của bạn từ đĩa khởi động / cài đặt Windows hoặc trong môi trường WinRE ( Sửa chữa máy tính của bạn -> Khắc phục sự cố -> Tùy chọn nâng cao -> Dấu nhắc lệnh ). Bắt đầu lời nhắc lệnh, cố gắng tạo tệp BCD mới và cập nhật bản ghi MBR từ đầu.

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Trong ví dụ này, tôi sẽ sử dụng đĩa cài đặt Windows 10. Thay đổi thiết bị khởi động chính thành ổ đĩa DVD hoặc ổ đĩa flash USB với các tệp thiết lập Windows trong cài đặt BIOS (tùy thuộc vào thiết bị bạn muốn khởi động máy tính từ đó). Khởi động máy tính của bạn từ hình ảnh cài đặt Windows và nhấn Shift + F10 trên màn hình lựa chọn ngôn ngữ. Bạn sẽ thấy một dấu nhắc lệnh.

Cố gắng sửa chữa tệp BCD tự động bằng lệnh sau:

bootrec /RebuildBCD

Khởi động lại máy tính của bạn và kiểm tra xem Windows có khởi động hay không (đừng quên thay đổi mức độ ưu tiên của thiết bị khởi động trong cài đặt BIOS). Nếu Windows không khởi động, hãy khởi động lại từ phương tiện cài đặt và mở dấu nhắc lệnh.

Xác định Bố cục Phân vùng Đĩa và Chữ cái Drive

Rất quan trọng. Tất cả các hướng dẫn đưa ra bên dưới đều phù hợp với BIOS tiêu chuẩn máy tính (hoặc khởi động ở chế độ kế thừa UEFI) với MBR bảng phân vùng. Trên máy tính có chương trình cơ sở UEFI, bạn cần sử dụng các hướng dẫn sau để sửa chữa bộ nạp khởi động EFI trên Windows 10 hoặc khôi phục phân vùng EFI đã xóa.

Làm thế nào để hiểu nếu bạn có máy tính với BIOS hoặc UEFI? Cách dễ nhất là kiểm tra bảng phân vùng đĩa mà Windows được cài đặt trên đó:GPT hoặc MBR. Để thực hiện việc này, hãy chạy lệnh:

diskpart

Sau đó liệt kê các đĩa có sẵn:

list disk

  • Nếu đĩa có dấu hoa thị (* ) trong Gpt thì bảng phân vùng GPT được sử dụng trên đĩa này. Điều này có nghĩa là bạn có một máy tính với UEFI và để khôi phục Windows bootloader, bạn cần sử dụng bài viết từ liên kết ở trên;
  • Nếu không có dấu hoa thị trong cột GPT, thì bạn có bảng phân vùng MBR trên đĩa và bạn có thể tiếp tục làm theo hướng dẫn này.

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

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 cho chúng sẽ khác với ký tự ổ đĩa bạn thấy khi làm việc trong Windows). Nó dễ dàng hơn để làm điều đó bằng cách sử dụng diskpart. Chạy các lệnh sau:

diskpart
list vol

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Bạn sẽ thấy danh sách các phân vùng, ký tự ổ đĩa được gán cho chúng 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 trên máy tính với hai ổ trên đó:

  • Hệ thống được Bảo lưu phân vùng có kích thước 500 MB và ký tự ổ đĩa C: được giao cho nó. Theo mặc định, Windows Boot Manager và tệp BCD nằm trên phân vùng dịch vụ nhỏ này (đọc thêm);
  • Phân vùng NTFS với kích thước 39 GB và chữ cái D: giao. Phân vùng này chứa Windows, chương trình và dữ liệu người dùng đã cài đặt.
Quan trọng. Hãy nhớ các ký tự ổ đĩa được gán, vì chúng sẽ được sử dụng trong các lệnh sau này.

Repair Master Boot Record (MBR) trên Windows 10/11

Bạn có thể sử dụng công cụ bootrec.exe để ghi đè dữ liệu trong MBR và khu vực khởi động, đồng thời thêm đường dẫn cần thiết vào Windows Boot Manager.

Thử ghi đè bản ghi khởi động chính (MBR) của phân vùng hệ thống để tương thích với bộ tải khởi động Windows (bảng phân vùng hiện có không bị ghi đè).

bootrec.exe /fixmbr

Thêm mã vào các cung khởi động của đĩa để tải tệp bootmgr (Trình quản lý khởi động Windows):

bootsect.exe /nt60 all /force

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

Trước khi tiếp tục, hãy thử tự động xây dự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 một khu vực khởi động mới trên phân vùng hệ thống và ghi đè lên bản ghi khởi động của phân vùng PBR.
bootrec /ScanOs - quét tất cả các ổ đĩa và tìm các bản sao đã cài đặt của Windows không có trong kho lưu trữ Cấu hình Khởi động
Nếu quá trình quét thành công, bạn sẽ được nhắc thêm các mục nhập về các phiên 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 kho lưu trữ cấu hình bộ nạp khởi động, thêm các bản sao của Windows được tìm thấy trên máy tính vào bộ nạp khởi động BCD.

Sau đó, khởi động lại máy tính của bạn và kiểm tra xem Windows có khởi động đúng cách hay không. 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.

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Cách tạo lại cấu hình khởi động Windows (BCD) từ Scratch?

Tiếp theo, sử dụng BCDedit lệnh để tạo tệp Dữ liệu cấu hình khởi động mới (đúng ra là bạn không có tệp sao lưu BCD).

Các bước tiếp theo của bạn phụ thuộc vào việc đĩa có phân vùng dành riêng cho hệ thống hay không. Chạy các lệnh:

diskpart
list vol

Kiểm tra xem có phân vùng dành riêng cho hệ thống trên đĩa cứng hay không. Nó có thể được xác định bằng nhãn khối lượng hoặc chính xác hơn là theo kích thước của nó (500 MB cho Windows 10+, 350 MB cho Windows 8.1 và 100 MB cho Windows 7).

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

  • Nếu không có phân vùng dành riêng cho hệ thống (có lẽ bạn đã vô tình xóa nó), bạn có thể lưu trữ các tệp Trình quản lý khởi động trên ổ đĩa hệ thống có thư mục Windows. Để tạo tệp cấu hình bộ nạp khởi động Bootmgr và BCD trên ổ đĩa được chỉ định, hãy chạy lệnh:
    bcdboot C:\Windows /S C:
    Một thông báo sẽ xuất hiện:

    Boot files successfully created.
  • Nếu bạn có phân vùng Dành riêng cho Hệ thống, hãy xóa tệp BCD cũ (bị hỏng) và tạo một tệp mới thay thế:
    del c:\boot\bcd
Nếu ký tự ổ đĩa không được gán cho phân vùng Dành riêng cho Hệ thống (theo mặc định), bạn có thể tự gán nó bằng cách sử dụng diskpart. Chạy:diskpart

Chọn đĩa cục bộ của bạn (trong trường hợp của tôi, chỉ một đĩa cứng được kết nối, nhưng bạn có thể liệt kê các đĩa cục bộ với đĩa danh sách lệnh):select disk 0

Ảnh chụp màn hình ở trên cho thấy phân vùng dành riêng cho hệ thống được gọi là Tập 1 . Chọn nó:select volume 1

Gán ký tự ổ đĩa (tôi đã gán ký tự ổ đĩa 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:

exit

Tạo tệp tạm thời trống bcd.tmp:

bcdedit /createstore c:\boot\bcd.tmp

Tạo mục nhập cho Trình quản lý khởi động Windows (bootmgr):

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

Nhập cài đặt từ bcd.tmp vào BCD của bạn:
bcdedit.exe /import c:\boot\bcd.tmp

Nếu lệnh bcdedit trả về lỗi khi truy cập tệp BCD (quyền truy cập 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 ), hãy thử xóa các thuộc tính ẩn, chỉ đọc và hệ thống khỏi nó:

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

Chỉ định rằng Windows Boot Manager nằm trên phân vùng System Reserved (ký tự ổ C:được gán cho nó):

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

Định cấu hình thời gian chờ để chọn một hệ điều hành:

bcdedit.exe /timeout 10

Xóa tệp tạm thời:
del c:\boot\bcd.tmp

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Như vậy, bạn đã tạo một tệp BCD trống với cài đặt bộ nạp khởi động. Bây giờ bạn phải thêm các mục về Windows đã cài đặt.

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

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

Lệnh sẽ trả về số nhận dạng duy nhất (GUID) của mục nhập bộ nạp khởi động này.

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

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Chỉ định rằng bootmgr nên sử dụng mục này theo mặc định (sau khi hết thời gian chờ, mục này sẽ được sử dụng để khởi động Windows):

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

Bây giờ bạn phải chỉ định các đường dẫn đến bản sao Windows 10 đã cài đặt trong mục nhập bộ nạp khởi động mới. Trước đó, chúng tôi đã phát hiện ra rằng ký tự ổ đĩa D: được gán cho phân vùng Windows trong WinPE. 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ị mục khởi động này trong BCD vì nó bị ẩn theo mặc định:

bcdedit.exe /displayorder {default} /addlast

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Vì vậy, chúng tôi đã tạo lại hoàn toàn bộ nạp khởi động Windows 10 (bootmgr) và tệp BCD và ghi đè khu vực khởi động MBR.

Bây giờ bạn cần kích hoạt phân vùng chứa tệp bootmgr và BCD với cấu hình bộ nạp khởi động Windows (BIOS chuyển quyền điều khiển đến bộ nạp khởi động hệ điều hành trên phân vùng MBR đang hoạt động). Ví dụ:các phân vùng sau có sẵn trên máy tính của bạn

  • Khối lượng 0 - ổ đĩa flash cài đặt (hình ảnh ISO) mà bạn đã khởi động máy tính từ đó;
  • Tập 1 - Phân vùng dành riêng cho Hệ thống (kích thước 500 MB) với tệp bootmgr và BCD của Windows;
  • Tập 2 - phân vùng với các thư mục hệ thống Windows (% Windir%, Tệp chương trình, Người dùng, v.v.)

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (MBR)?

Trong ví dụ này, bạn cần đặt Tập 1 làm phân vùng hoạt động (trong trường hợp của bạn, bạn cần tìm số phân vùng của mình). Bạn có thể kích hoạt một phân vùng bằng diskpart:

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

Kiểm tra xem tập 1 hiện đang hoạt động hay không:

select vol 1
detail partition

(Active: Yes )

Làm thế nào để sửa chữa Windows Boot Manager, BCD và Master Boot Record (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 khởi động bình thường.