Lỗi Winload.EFI, như tên gọi cho thấy, là lỗi ngăn cản Windows tải (màn hình xanh tử thần hay BSOD). Thường do bản ghi khởi động bị hỏng hoặc cấu hình boot không đúng. Tùy thuộc vào Hệ điều hành, thông báo lỗi có thể khác nhau nhưng từ khóa winload.efi sẽ giống nhau. Trên hệ thống Windows 8/8.1/10, lỗi thường xuất hiện dưới các dạng sau:
Máy tính của bạn cần được sửa chữa. Ứng dụng hoặc hệ điều hành không thể tải vì một tệp bắt buộc bị thiếu hoặc chứa lỗi. File: \windows\system32\winload.efi Error code: 0xc000***
hoặc:
Máy tính của bạn cần được sửa chữa. Một lỗi không mong muốn đã xảy ra. Error code: 0xc0000001. Bạn sẽ cần dùng công cụ khôi phục trên phương tiện cài đặt. Nếu bạn không có phương tiện cài đặt, hãy liên hệ quản trị viên hệ thống hoặc nhà sản xuất PC.
Trong hướng dẫn này, tôi sẽ hướng dẫn bạn qua một vài bước khắc phục sự cố nên giúp bạn khắc phục vấn đề.
Cách BOOT vào BIOS để thay đổi Thứ tự Boot
Bạn phải biết cách boot và thay đổi thứ tự boot vì điều này sẽ cần thiết để thực hiện các giải pháp dưới đây. Khởi động lại máy tính của bạn. Truy cập cài đặt BIOS (hoặc UEFI) của máy tính ngay khi nó khởi động. Phím bạn cần nhấn để vào cài đặt này phụ thuộc vào nhà sản xuất bo mạch chủ của máy tính và có thể là bất kỳ thứ gì từ Esc, Delete, hoặc F2 đến F8, F10, hoặc F12, thường là F2. Điều này hiển thị trên màn hình POST và sách hướng dẫn đi kèm hệ thống. Tìm kiếm nhanh trên Google hỏi “cách vào bios” theo sau số mẫu cũng sẽ liệt kê kết quả.
Phương pháp 1: Tắt Secure Boot
Nếu bạn có máy tính dựa trên UEFI thay vì BIOS truyền thống, thì vấn đề có thể do một cài đặt nhất định trong UEFI gọi là Secure Boot. Nó có thể ngăn hệ thống truy cập file winload.efi gây ra lỗi này. Windows 8 và các phiên bản sau có tính năng này bật theo mặc định.
Để tắt Secure Boot, boot vào BIOS hoặc UEFI. Giao diện người dùng UEFI setup khác nhau theo mẫu mã. Chung chung, tìm Secure Boot, có thể nằm trong phần riêng, hoặc trong tab Security (Bảo mật) hoặc trong tab Boot, hoặc trong tab Authentication (Xác thực) tùy thuộc vào mẫu máy. Xem sách hướng dẫn mẫu máy của bạn để biết chính xác nó ở đâu. Khi bạn tìm thấy tùy chọn Secure Boot trong một tab, tắt nó hoặc tắt nó đi.

Lưu cài đặt UEFI và thoát. Bây giờ boot hệ thống bình thường. Nếu bạn vẫn gặp cùng lỗi, chuyển sang giải pháp tiếp theo.
Phương pháp 2: Sửa chữa bản ghi Boot (Boot Record)
Để sửa chữa bản ghi boot, chúng ta sẽ sửa chữa các file cần thiết cho Windows để boot, bao gồm file winload.efi.
Người dùng Windows 7
Để tiếp tục, bạn sẽ cần khởi động Windows ở chế độ sửa chữa, để làm điều đó (xem bước tại đây).
Khi bạn boot đến sửa chữa khởi động và thấy “System Recover Options” (Tùy chọn khôi phục hệ thống) chọn Command prompt. Khi cửa sổ đen của command prompt xuất hiện, gõ các lệnh sau và nhấn Enter sau mỗi dòng.
bootrec /fixboot bootrec /scanos bootrec /fixmbr bootrec /rebuildbcd
Sau khi các lệnh thực thi thành công, khởi động lại hệ thống và kiểm tra xem vấn đề còn đó không.
Nếu vấn đề vẫn còn, thì lặp lại thủ tục trên và thực thi các lệnh trên 3 lần mỗi lệnh. Bây giờ kiểm tra xem vấn đề còn đó không. Nếu có, chuyển sang giải pháp tiếp theo.
Windows 8/8.1/10
Để khởi động W8/8.01 và 10 ở Chế độ Sửa chữa, xem bước tại đây.
Trong các tùy chọn nâng cao, nhấp Command Prompt.
Khi cửa sổ đen command prompt xuất hiện, gõ các lệnh sau và nhấn Enter sau mỗi dòng.
bootrec /fixboot bootrec /scanos bootrec /fixmbr bootrec /rebuildbcd
Sau khi các lệnh thực thi thành công, khởi động lại hệ thống và kiểm tra xem vấn đề còn đó không.
Nếu vấn đề vẫn còn, thì lặp lại thủ tục trên và thực thi các lệnh trên 3 lần mỗi lệnh. Bây giờ kiểm tra xem vấn đề còn đó không. Nếu có, chuyển sang giải pháp tiếp theo.
Phương pháp 3: Thực hiện Sửa chữa Khởi động (Startup Repair)
Bạn có thể nhận mã lỗi 0XC0000001 nếu các mục khởi động của hệ thống bị hỏng. Trong ngữ cảnh này, thực hiện sửa chữa khởi động của hệ thống có thể giải quyết vấn đề. Nhưng trước đó, hãy đảm bảo thứ tự boot của hệ thống trong cài đặt BIOS được cấu hình đúng (ổ Windows là đầu tiên trong thứ tự Boot).
- Tắt nguồn hệ thống (nếu đang bật) và sau đó bật nó lại.
- Khi logo Windows xuất hiện (với chấm tròn quay), nhấn và giữ nút nguồn để tắt máy mạnh.
- Lặp lại ba lần và ở lần thứ 3, hệ thống có thể boot vào Môi trường Khôi phục, nếu vậy, chọn Troubleshoot (Khắc phục sự cố).

- Bây giờ mở Advanced Options (Tùy chọn nâng cao) và chọn Startup Repair (Sửa chữa khởi động).

- Khi Sửa chữa Khởi động hoàn tất, kiểm tra xem hệ thống có thoát khỏi mã lỗi 0XC0000001 không.

- Nếu vấn đề vẫn tồn tại, tạo USB boot Windows 10 và boot hệ thống qua USB đó (nếu không boot được bằng USB, thử cổng USB khác trên hệ thống và cũng đảm bảo Secure Boot bị tắt trong BIOS).
- Bây giờ chọn Repair Your Computer (Sửa chữa máy tính) và mở Troubleshoot.

- Sau đó chọn Advanced Options và mở Startup Repair.
- Bây giờ làm theo lời nhắc trên màn hình và khi Sửa chữa Khởi động hoàn tất, khởi động lại PC để kiểm tra xem vấn đề 0XC0000001 có được giải quyết không.
Phương pháp 4: Gỡ cài đặt Bản cập nhật gây lỗi
Microsoft có lịch sử dài phát hành bản cập nhật gây lỗi và vấn đề tại hand cũng có thể do đó. Trong trường hợp này, gỡ bỏ bản cập nhật gây lỗi (dù là Quality Update hay Feature Update) có thể giải quyết vấn đề.
- Boot hệ thống vào Môi trường Khôi phục như thảo luận ở giải pháp 1 và mở Troubleshoot.
- Bây giờ chọn Advanced Options và mở Uninstall Updates (Gỡ cài đặt cập nhật).

- Sau đó chọn Uninstall Latest Quality Update (Gỡ bản cập nhật chất lượng mới nhất) hoặc Uninstall Latest Feature Update (Gỡ bản cập nhật tính năng mới nhất).

- Để quá trình gỡ cài đặt hoàn tất và sau đó khởi động lại PC để kiểm tra xem hệ thống có thoát khỏi lỗi BSOD không.
Phương pháp 5: Thực hiện quét CHKDSK
Lỗi BSOD hiện tại có thể do các sector xấu logic của ổ lưu trữ. Trong ngữ cảnh này, thực hiện quét ChKDsk có thể giải quyết vấn đề.
- Boot hệ thống trong Môi trường Khôi phục hoặc (tốt hơn) dùng Repair Your Computer bằng cách boot hệ thống qua USB boot Windows 10 (như thảo luận ở giải pháp 1) và mở Troubleshoot.
- Bây giờ chọn Advanced Options và mở Command Prompt.

- Sau đó thực thi lệnh sau để tìm chữ cái ổ của ổ hệ thống (chữ cái ổ có thể không giống như hiển thị trong Windows):
Diskpart
- Bây giờ liệt kê các phân vùng bằng lệnh sau:
list vol
- Bây giờ kiểm tra chữ cái ổ (ví dụ: ổ E) của ổ hệ điều hành (nhiều khả năng, có Boot trong cột Info, hoặc dùng Dir trong Command Prompt để kiểm tra nội dung phân vùng) và sau đó đóng Diskpart bằng lệnh:
Exit
- Sau đó điều hướng đến ổ hệ thống (trong Command Prompt) bằng cách nhập chữ cái ổ theo sau bởi dấu hai chấm (ví dụ: nếu ổ hệ thống là C, thì nhập C: và nhấn Enter).
- Bây giờ chạy quét ChkDsk bằng lệnh sau (trong đó C là ổ hệ thống):
chkdsk C: /r

- Sau đó đợi cho đến khi quét ChkDsk hoàn tất và một khi xong, boot vào Windows và kiểm tra xem lỗi BSOD 0XC0000001 có được giải quyết không.

Nếu quy trình trên quá kỹ thuật cho bạn, thì gắn ổ cứng của hệ thống gặp vấn đề vào một PC khác và thực hiện quét ChkDsk ở đó để kiểm tra xem vấn đề BSOD có được giải quyết không.
Phương pháp 6: Sử dụng tiện ích BCDBoot
Sử dụng phương pháp cho trước để đến Command prompt từ sửa chữa khởi động, khi đã ở command prompt, tiến hành các bước dưới đây.
- Gõ diskpart và nhấn Enter.
- Gõ list volume và nhấn Enter.
- Dưới hàng label, tìm nhãn System Reserved (Dành cho hệ thống) và ghi nhớ Số Volume tương ứng.
- Bây giờ gõ select Volume=N và nhấn Enter, trong đó N là Số Volume bạn ghi nhớ trước đó.
- Bây giờ gõ assign letter=w và nhấn Enter.
- Gõ exit và nhấn Enter.
- Gõ bcdboot c:\Windows /s w: /f uefi và nhấn Enter.
Bây giờ khởi động lại hệ thống và kiểm tra. Nếu vấn đề vẫn chưa giải quyết, tiến hành Phương pháp 4.
Phương pháp 7: Vô hiệu hóa Bảo vệ chống phần mềm độc hại
- Bật nguồn hệ thống, sau đó tắt mạnh khi bạn thấy logo Windows. Lặp lại quy trình vài lần cho đến khi bạn thấy màn hình Khôi phục.
- Nhấp Xem các tùy chọn sửa chữa nâng cao.
- Sau đó nhấp vào Troubleshoot > Advanced Options.

- Nhấp Startup settings (Cài đặt khởi động) trong Advanced Options.
- Trong màn hình cài đặt khởi động, nhấp vào Restart (Khởi động lại).
- Startup Settings menu sẽ xuất hiện sau khi khởi động lại.
- Bây giờ nhấn 8 trên bàn phím. Windows của bạn sẽ khởi chạy với chống phần mềm độc hại bị tắt chỉ cho phiên này.
Giải pháp 8: Thực hiện Khôi phục hệ thống (System Restore)
Mã lỗi 0XC0000001 có thể do thay đổi gần đây (không mong muốn) trên hệ thống và khôi phục hệ thống (đến một thời điểm trước khi hệ thống hoạt động tốt) có thể giải quyết vấn đề.
- Boot hệ thống vào Môi trường Khôi phục (như thảo luận ở giải pháp 1) và mở Troubleshoot.
- Bây giờ mở Advanced Options và chọn System Restore (Khôi phục hệ thống).

- Sau đó làm theo lời nhắc để khôi phục hệ thống đến thời điểm trước đó và khi quá trình hoàn tất, khởi động lại PC để kiểm tra xem hệ thống có thoát khỏi lỗi 0XC0000001 không.
Bạn cũng có thể dùng lệnh sau trong Command Prompt để thực hiện Khôi phục hệ thống (trong đó C là ổ hệ thống, bạn có thể tìm ổ hệ thống bằng cách làm theo bước trong giải pháp ChkDsk):
rstrui.exe /OFFLINE:C:\Windows
Phương pháp 9: Đổi tên file Registry bị hỏng và Sao chép file Registry Backup
Bạn có thể gặp lỗi 0XC0000001 nếu một số file thiết yếu (đặc biệt liên quan đến registry hệ thống) bị hỏng. Trong kịch bản này, đổi tên file bị hỏng và đặt file OS gốc (từ thư mục backup registry) có thể giải quyết vấn đề.
- Khởi chạy Command Prompt trong Môi trường Khôi phục (như thảo luận ở giải pháp 3) và thực thi các lệnh sau (trong đó C là ổ hệ thống) lần lượt (đảm bảo nhấn Enter sau mỗi lệnh):
Ren C:\windows\system32\config\SAM SAM.BAK Ren C:\windows\system32\config\SYSTEM SYSTEM.BAK Ren C:\windows\system32\config\SECURITY SECURITY.BAK Ren C:\windows\system32\config\DEFAULT DEFAULT.BAK Ren C:\windows\system32\config\SOFTWARE SOFTWARE.BAK Copy C:\Windows\System32\config\RegBack\SAM C:\windows\system32\config Copy C:\Windows\System32\config\RegBack\SYSTEM C:\windows\system32\config Copy C:\Windows\System32\config\RegBack\SECURITY C:\windows\system32\config Copy C:\Windows\System32\config\RegBack\DEFAULT C:\windows\system32\config Copy C:\Windows\System32\config\RegBack\SOFTWARE C:\windows\system32\config

- Khi các lệnh trên đã thực thi, khởi động lại PC vào Windows và kiểm tra xem vấn đề BSOD có được giải quyết không.
Phương pháp 10: Thực hiện các thao tác hệ thống trong Command prompt
Có nhiều cmdlet khác nhau (như Bootrec, SFC, DISM, v.v.) trong Command Prompt có thể dùng để giải quyết vấn đề BSOD hiện tại.
Thực hiện quét SFC và DISM
- Thực thi lệnh sau trong Command Prompt của Môi trường Khôi phục (trong đó D là ổ hệ thống):
sfc /scannow /offbootdir=d:\ /offwindir=d:\windows

- Khi quét hoàn tất, gõ Exit trong Command prompt và boot hệ thống vào Windows để kiểm tra xem hệ thống có thoát khỏi vấn đề BSOD không.
- Nếu vấn đề vẫn tồn tại, thì kiểm tra xem thực hiện quét DISM để sửa chữa Windows (tốt nhất sau khi gắn ổ cứng hệ thống vào PC khác) có giải quyết vấn đề không.
Vô hiệu hóa Ngủ đông (Hibernation)
Nếu vấn đề bắt đầu xảy ra sau khi ngủ đông hệ thống, thì vô hiệu hóa ngủ đông có thể giải quyết vấn đề.
- Khởi chạy Command Prompt trong Môi trường Khôi phục và điều hướng đến phân vùng hệ thống (như thảo luận ở giải pháp 3).
- Bây giờ thực thi cmdlet sau để tắt ngủ đông:
powercfg -h off

- Sau đó khởi động lại PC và kiểm tra xem hệ thống có thoát khỏi vấn đề BSOD không.
Đổi tên thư mục EFI
- Khởi chạy Command Prompt trong Môi trường Khôi phục và điều hướng đến ổ hệ thống.
- Bây giờ thực thi lệnh sau:
dir - Sau đó kiểm tra xem thư mục EFI có hiển thị không, nếu có, thì đổi tên nó bằng lệnh:
ren EFI oldEFI

- Bây giờ khởi động lại PC và kiểm tra xem hệ thống có thoát khỏi vấn đề 0XC0000001 không.
- Nếu vấn đề vẫn tồn tại, thì kiểm tra xem xóa thư mục EFI bằng lệnh sau trong Command Prompt trong Môi trường Khôi phục (đảm bảo bạn thực thi lệnh trên ổ hệ thống):
rd /s C:\oldEFI
Nếu vấn đề vẫn tồn tại, bạn có thể phải thực hiện cài đặt sạch (clean installation) Windows hoặc trên một phân vùng/ổ khác hoặc sau khi phân vùng lại hoàn toàn ổ gặp vấn đề. Nếu bạn không thể sao lưu dữ liệu ổ hệ thống theo cách nào khác, thì tốt hơn nên dùng tùy chọn Custom Install (Cài đặt tùy chỉnh) (dữ liệu ổ hệ thống sẽ nằm trong thư mục Windows.old) khi cài đặt sạch Windows.