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
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".
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.
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.
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
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.
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
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.
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).
- 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
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
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
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.
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
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.)
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
(bootmgr và \ Boot \ BCD phải nằm trên phân vùng này)
list disk
sel disk 0
list vol
select volume 1
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 )
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.