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

Cách sửa chữa Bootloader EFI/GPT trên Windows 10

cách sửa chữa bootloader Windows trên máy tính hiện đại sử dụng UEFI thay vì BIOS và bảng phân vùng đĩa GPT (thay vì MBR). Hỏng hóc của bootloader Windows có thể xảy ra sau khi cài đặt hệ điều hành thứ hai (trong cấu hình Dual Boot), các thao tác không đúng trong quá trình khôi phục Windows, xóa một số dữ liệu trên các phân vùng ẩn, phần mềm độc hại (virus, ransomware, v.v.) và một số lý do khác.

Bài viết này cung cấp hướng dẫn từng bước để khôi phục bootloader bị hỏng hoặc xóa trên Windows 10 và Windows 8.1 trên các máy tính chạy ở chế độ UEFI gốc (non-legacy). Hướng dẫn sẽ giúp nếu Windows không khởi động do thiếu hoặc hỏng tệp cấu hình boot \EFI\Microsoft\Boot\BCD.

Dữ liệu cấu hình boot cho PC của bạn bị thiếu: EFI\Microsoft\Boot\BCD

Máy tính cài Windows 10 ở chế độ UEFI gốc sẽ không khởi động nếu bootloader EFI bị hỏng. Khi cố gắng khởi động máy tính, lỗi BSOD (Màn hình xanh tử thần) sau xuất hiện:

The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f

hoặc:

Error code: 0xc000014c

Cách sửa chữa Bootloader EFI/GPT trên Windows 10

Lỗi này cho thấy dữ liệu cấu hình boot của Windows – Boot Configuration Data (BCD) đã bị hỏng hoặc thậm chí bị xóa hoàn toàn. Nếu bạn thử sửa bootloader trên máy tính UEFI bằng công cụ bcdedit, bạn sẽ nhận được lỗi như sau:

The boot configuration data store could not be found. The requested system device cannot be found.

Thực tế là nếu Windows 10 được cài đặt ở chế độ UEFI gốc trên đĩa GPT, thì bootloader EFI của Windows 10 (Windows Boot Manager) lưu trữ boot manager và cấu hình BCD trên một phân vùng EFI ẩn riêng biệt (kích thước 100 MB với hệ thống tệp FAT32). Công cụ bcdedit không thấy phân vùng EFI này và không thể quản lý cấu hình bootloader trên đó.

Nếu máy tính khởi động với màn hình đen có thông báo "Operating System not found", có khả năng bootloader Windows đã bị xóa hoàn toàn. Hãy làm theo hướng dẫn tại liên kết.

Khôi phục tự động Bootloader Windows

Thủ tục khôi phục tự động bootloader được sử dụng trong Windows Recovery Environment (WinRE), thường vô dụng trong các trường hợp như vậy. Nhưng vẫn đáng để thử:

  1. Thử khởi động thiết bị từ đĩa khôi phục hoặc phương tiện cài đặt Windows 10;
  2. Trên màn hình cài đặt, nhấp vào Restore System (Khôi phục hệ thống);
  3. Sau đó chọn Troubleshoot → Startup Repair (Khắc phục sự cố → Sửa chữa khởi động) và chọn hệ điều hành mà bootloader bạn muốn thử khôi phục;Cách sửa chữa Bootloader EFI/GPT trên Windows 10
  4. Nhưng kết quả có khả năng cao là tiêu cực: Automatic Repair couldn't repair your PC. Cách sửa chữa Bootloader EFI/GPT trên Windows 10

Sử dụng BCDBoot để sửa chữa thủ công EFI Bootloader trong Windows 10

Chuyển sang thủ tục khôi phục thủ công bootloader EFI Windows trên máy tính UEFI.

Để sửa chữa cấu hình bootloader (BCD), bạn phải khởi động từ phương tiện cài đặt Windows 10 gốc (hoặc đĩa khôi phục hoặc USB bootable UEFI đặc biệt). Sau khi khởi động vào môi trường khôi phục, bạn cần mở dòng lệnh: chọn System Restore → Troubleshoot → Command Prompt).

Bạn có thể chạy Command Prompt nếu chỉ có phương tiện cài đặt Windows. Để làm điều này, trên màn hình đầu tiên của cài đặt Windows (khi chọn ngôn ngữ và bố cục bàn phím), nhấn tổ hợp phím Shift+F10 (hoặc Shift+Fn+F10 trên một số mẫu laptop).

Cách sửa chữa Bootloader EFI/GPT trên Windows 10

Trong dấu nhắc lệnh mở ra, chạy công cụ quản lý đĩa bằng lệnh:
diskpart
Hiển thị danh sách các ổ đĩa trên máy tính:
list disk
Ở giai đoạn này, rất quan trọng để xác định loại bảng phân vùng trên ổ đĩa cài Windows: MBR hoặc GPT. Điểm mấu chốt là bootloader EFI chỉ được sử dụng trên đĩa có bảng phân vùng GPT.

Nếu ổ đĩa có dấu sao (*) ở cột Gpt, thì bảng phân vùng GPT được sử dụng, nếu không, MBR được sử dụng.

Cách sửa chữa Bootloader EFI/GPT trên Windows 10

Nếu ổ đĩa của bạn sử dụng bảng phân vùng GPT, hãy làm theo các bước dưới đây để sửa chữa bootloader EFI Windows.

Nếu bạn có bảng phân vùng MBR trên ổ đĩa, hướng dẫn này sẽ không hoạt động cho máy tính của bạn. Có khả năng lớn bạn có máy tính với BIOS hoặc tùy chọn Legacy/Compatibility Support Mode (CSM) được bật trong cài đặt UEFI.

Trên đĩa MBR, bootloader Windows được lưu trữ trên phân vùng System Reserved riêng biệt, không phải trên phân vùng EFI (dù sao cũng đừng chuyển đổi bảng phân vùng MBR sang GPT cho đến khi bạn sửa chữa bootloader Windows!). Sử dụng hướng dẫn khác để khôi phục bootloader BCD trên đĩa MBR (Master Boot Record).

Chọn ổ đĩa cài Windows (nếu chỉ có một ổ cứng trong hệ thống, chỉ số của nó nên là 0):
sel disk 0
Hiển thị danh sách các phân vùng và volume trên ổ đĩa:
list partition
list volume

Cách sửa chữa Bootloader EFI/GPT trên Windows 10

Trong ví dụ này, bạn có thể thấy phân vùng boot EFI (dễ dàng nhận diện bằng kích thước 100 MB và hệ thống tệp FAT32, thường có nhãn System EFI) có chỉ số phân vùng 2 (hay Volume 5 với nhãn Hidden). Phân vùng chính cài Windows với hệ thống tệp NTFS (có thể là cả Windows 10 và Windows 8.1) là volume 2. Cũng phải có phân vùng MSR (Microsoft System Reserved) 16 MB cho Windows 10 (hoặc 128 MB cho Windows 8.1).

Nếu bạn không có phân vùng EFI hoặc MSR riêng biệt, bạn có thể tạo lại chúng thủ công. Xem bài viết Restoring deleted EFI and MSR system partitions.

Gán ký tự ổ K: cho volume EFI ẩn:
select volume 1
assign letter K:
Thông báo ký tự ổ đã được gán thành công cho phân vùng EFI sẽ xuất hiện:

DiskPart is successfully assigned the drive letter or mount point.

Thoát diskpart:
exit
Đi đến thư mục bootloader trên volume ẩn:
cd /d K:\efi\microsoft\boot\
Trong trường hợp này, K: là ký tự ổ được gán cho phân vùng EFI ngay trên. Nếu thư mục \EFI\Microsoft\Boot\ bị thiếu (lỗi The system cannot find the path specified), hãy thử các lệnh sau:

cd /d K:\Boot\
hoặc
cd /d K:\ESD\Windows\EFI\Microsoft\Boot\

Ở thời điểm này, nhiều hướng dẫn khuyên chạy các lệnh sau, ghi đè bản ghi boot phân vùng, tìm Windows đã cài đặt và thêm chúng vào BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

hoặc thậm chí:
bootrec /FixMbr (khôi phục bản ghi MBR cho đĩa GPT trông kỳ lạ)

Tất cả các lệnh này chỉ áp dụng cho đĩa MBR. Nếu máy tính của bạn khởi động ở chế độ UEFI, thì nó chắc chắn sử dụng bảng phân vùng GPT (như trong trường hợp của chúng ta). Do đó, khi chạy lệnh bootrec, bạn sẽ thấy lỗi: access is denied

Để sửa chữa bản ghi boot trên phân vùng EFI, bạn cần sử dụng công cụ BCDBoot. Công cụ BCDBoot cho phép khôi phục các tệp bootloader trên phân vùng hệ thống bằng cách sao chép chúng từ thư mục hệ thống trên phân vùng Windows. Cấu hình bootloader BCD được tạo lại sử dụng tệp %WINDIR%\System32\Config\BCD-Template.

Sử dụng lệnh attrib để xóa thuộc tính ẩn, chỉ đọc và hệ thống khỏi tệp BCD:

attrib BCD -s -h -r

Xóa tệp cấu hình BCD hiện tại bằng cách đổi tên (điều này sẽ giữ cấu hình boot cũ làm bản sao lưu):
ren BCD BCD.bak
Sử dụng tiện ích bcdboot.exe, bạn cần tạo lại BCD store bằng cách sao chép các tệp môi trường boot UEFI vào phân vùng boot từ thư mục Windows:
bcdboot C:\Windows /l en-us /s k: /f ALL

  • C:\Windows – là đường dẫn đến thư mục cài Windows 10;
  • /f ALL – nghĩa là bạn muốn sao chép các tệp Windows Boot Environment, bao gồm cả cho máy tính UEFI và BIOS (khả năng boot tiềm năng trong cả hệ thống UEFI và BIOS). Để chỉ sao chép bootloader EFI, hãy dùng lệnh /f UEFI;
  • /l en-us — là loại locale hệ thống. Theo mặc định, en-us – English (USA) được sử dụng;
  • /c – đây là tùy chọn mới của BCDBoot trong Windows 10 cho phép ghi đè các bản ghi boot hiện có (bao gồm debugsettings). Sử dụng tùy chọn này để bỏ qua các cài đặt boot cũ và tạo cấu hình BCD sạch;
  • /v – dùng để bật đầu ra chi tiết của BCDBoot.
Mẹo. Nếu bạn sử dụng phiên bản Windows 10 bản địa hóa, lệnh sẽ khác. Ví dụ, trong phiên bản Windows cho Anh, dùng lệnh sau:
bcdboot c:\Windows /l en-uk /s K: /f ALL
Windows 10 Hà Lan:
bcdboot c:\Windows /l nl-NL /s K: /f ALL
Windows 10 Đức:
bcdboot c:\Windows /l de-DE /s K: /f ALL

Bây giờ, nếu bạn chạy lệnh bcdedit, bạn sẽ thấy như sau:

Một mục sẽ xuất hiện trong phần Windows Boot Manager chứa đường dẫn đầy đủ đến tệp boot UEFI (\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI). Trong ví dụ này, nó nằm trên volume 2 (partition=\Device\HarddiskVolume2).

Cách sửa chữa Bootloader EFI/GPT trên Windows 10

Các lỗi có thể xảy ra:

  • BFSVC Error: Could not open the BCD template store. status – [c000000f] – kiểm tra xem lệnh nhập có đúng không và bạn có cài phiên bản Windows bản địa hóa không. Trong trường hợp này, bạn cần chỉ định mã ngôn ngữ locale chính xác. Công cụ bcdboot sao chép các tệp mẫu BCD từ thư mục \Windows\System32\Config. Nếu các mẫu BCD trong thư mục này bị hỏng hoặc xóa, hãy thử kiểm tra tính toàn vẹn của tệp hệ thống ngoại tuyến bằng công cụ sfc.exe (bạn cần đĩa cài Windows – ổ D:): sfc /scanow /OFFBOOTDIR=C:\ /OFFWINDIR=D:\WINDOWS
  • BFSVC Error: Error copying boot files from Last Error = 0x570 – thử kiểm tra ổ đĩa bằng lệnh: CHKDSK K: /F
  • BFSVC Error: Failed to set element application device. Status = [c00000bb] – kiểm tra phân vùng EFI và Windows 10 với chkdsk.exe. Xác minh rằng thuộc tính ẩn và hệ thống của tệp BCD đã được xóa. Xóa nó:
    attrib -s -h \EFI\Microsoft\Boot\BCD
    del \EFI\Microsoft\Boot\BCD

    Cách sửa chữa Bootloader EFI/GPT trên Windows 10
  • Failure when initializing library system volume – đảm bảo bạn đang sử dụng đúng phân vùng FAT32 với EFI (bạn có thể có một vài phân vùng tương tự).

Bây giờ bạn cần khởi động lại máy tính và ngắt kết nối phương tiện bootable. Sau đó Windows Boot Manager xuất hiện trong danh sách thiết bị có thể boot, nơi bạn có thể chọn hệ điều hành mong muốn để khởi động. Bootloader EFI và cấu hình BCD của bạn đã được khôi phục thành công!