Nếu PC Windows của bạn gặp lỗi Màn hình xanh chết chóc (Blue Screen of Death - BSOD), một số điều sẽ xảy ra. Rõ ràng nhất là PC bị buộc phải khởi động lại, vì BSOD là kết quả của Windows crash hoàn toàn. Một kết quả ít rõ ràng hơn của lỗi BSOD, tuy nhiên, là file log lỗi được tạo ra cho phép bạn khắc phục sự cố sau đó.
Điều này gọi là file memory dump (bộ nhớ dump), được lưu ở định dạng file DMP. Các file này chứa nhiều thông tin về vấn đề, bao gồm phiên bản Windows hiện tại, bất kỳ ứng dụng và driver nào đang chạy tại thời điểm BSOD, và chính mã lỗi. Để giúp bạn phân tích file memory dump, đây là những gì bạn cần làm.
File Memory Dump trên Windows 10 là gì?
Màn hình xanh chết chóc (BSOD) là lỗi nghiêm trọng và không thể khôi phục trên PC Windows, nhưng nguyên nhân của các lỗi này có thể khác nhau. Ví dụ, BSOD unexpected kernel mode trap (bẫy chế độ hạt nhân không mong đợi) thường do phần cứng không tương thích hoặc overclock, trong khi BSOD critical process died (tiến trình quan trọng chết) có nhiều nguyên nhân, bao gồm file hệ thống bị hỏng.
Để giúp bạn khắc phục sự cố, Windows tự động tạo file memory dump. File này thường chứa tên và giá trị mã dừng (stop code) (ví dụ: mã dừng system service exception), danh sách bất kỳ driver nào đang chạy tại thời điểm crash, và một số thông tin kỹ thuật bổ sung bạn có thể dùng để xác định nguyên nhân.
Các file dump này (dùng định dạng DMP) được lưu tự động trong thư mục gốc C:\, C:\minidump, hoặc C:\Windows\minidump. Để giúp bạn phân tích chúng, bạn có thể cài ứng dụng gỡ lỗi của Microsoft WinDbg từ Microsoft Store. Điều này giúp bạn phân tích file memory dump và tìm thông tin mã dừng.
Bạn cũng có thể dùng công cụ cũ hơn như NirSoft BlueScreenView để nhanh chóng phân tích file dump được tạo trên PC. Điều này cũng giúp xác định giá trị mã dừng và nguyên nhân có thể (như file driver cụ thể).
Khi đã biết giá trị mã dừng, bạn có thể tìm thêm thông tin trực tuyến về vấn đề. Ví dụ, nếu bạn phát hiện từ file dump rằng bạn gặp BSOD memory management (quản lý bộ nhớ), bạn có thể xem hướng dẫn lỗi BSOD của chúng tôi để có lời khuyên thêm về cách giải quyết.
Vì lỗi BSOD có thể khiến PC không hoạt động, bạn có thể cần thử khởi động Windows ở Safe Mode (Chế độ an toàn). Chạy Windows ở Safe Mode giảm số tiến trình và driver hệ thống hoạt động xuống mức tối thiểu, cho phép bạn điều tra thêm.
Nếu bạn không thể boot vào Windows hoàn toàn, tuy nhiên, lựa chọn của bạn bị hạn chế. Hiện tại, không có công cụ độc lập nào bạn có thể chạy nếu chính Windows không hoạt động để phân tích file dump BSOD. Nếu điều đó xảy ra, bạn sẽ cần khôi phục file dump dùng Linux live CD qua DVD hoặc USB flash drive di động.
Sau đó bạn có thể phân tích file dùng WinDbg hoặc NirSoft BlueScreenView trên PC hoặc laptop Windows hoạt động bằng cách làm theo các bước dưới đây.
Thay đổi cài đặt File Memory Dump trong Windows Settings
File memory dump được tạo tự động, nhưng bạn có thể đặt mức độ chi tiết ghi trong file memory dump trong Windows Settings. Điều này chỉ hoạt động cho BSOD xảy ra sau khi thay đổi cài đặt này, nhưng nếu PC đang gặp vấn đề, bạn có thể làm theo các bước để thêm thông tin vào file dump.
- Để bắt đầu, chuột phải menu Start và chọn Settings.
- Trong menu Settings, chọn System > About. Trong panel Related settings (Cài đặt liên quan), trong menu System > About, chọn tùy chọn Advanced system settings (Cài đặt hệ thống nâng cao).
- Trong menu System Properties (Thuộc tính hệ thống), chọn tùy chọn Settings (Cài đặt) liệt kê trong phần Startup and Recovery (Khởi động và Khôi phục) ở dưới cùng.
- Để thay đổi mức độ chi tiết ghi bởi file memory dump khi BSOD xảy ra, chọn một trong các tùy chọn có sẵn dùng menu thả xuống Write debugging information (Ghi thông tin gỡ lỗi) trong cửa sổ Startup and Recovery. Thông tin đầy đủ về nội dung từng memory dump có tại trang tài liệu Microsoft. Chọn OK > OK để lưu lựa chọn.
Bạn có thể cần khởi động lại PC sau thay đổi này để đảm bảo cài đặt được áp dụng. Bất kỳ lỗi BSOD trong tương lai sẽ tạo file memory dump chứa mức thông tin bạn chọn ở trên.
Cách phân tích Windows Memory Dump File dùng WinDbg
Nếu bạn gặp lỗi BSOD, bạn có thể dùng WinDbg để phân tích file memory dump. Công cụ phát triển do Microsoft tạo ra này là cách tốt nhất để phân tích file bộ nhớ, nhưng bạn cũng có thể dùng NirSoft BlueScreenView cũ hơn làm phương án thay thế, làm theo các bước dưới.
Các bước này giả định PC hoạt động đủ tốt để cài và dùng WinDbg. Nếu không, bạn sẽ cần lấy file dump từ ổ cứng dùng Linux live CD hoặc USB để phân tích nơi khác. Môi trường Live CD có thể boot dùng media cài đặt hầu hết các bản phân phối Linux, bao gồm Ubuntu và Debian.
- Để bắt đầu, bạn cần cài WinDbg Preview từ Microsoft Store. Trên trang store WinDbg, chọn Get để bắt đầu cài đặt.
- Khi WinDbg đã cài, khởi chạy nó bằng cách chọn Launch trên trang store hoặc khởi chạy từ menu Start. Nếu bạn không truy cập được file dump, bạn cần tìm WinDbg trong menu Start, sau đó chuột phải và chọn More > Run as administrator (Chạy với tư cách quản trị viên) để cấp quyền truy cập cần thiết.
- Trong cửa sổ WinDbg, chọn File > Start debugging > Open dump file (Mở file dump). Dùng menu File Explorer tích hợp để mở file dump mới nhất, thường lưu trong thư mục gốc C:\, C:\minidump, hoặc C:\Windows\minidump.
- Mở file DMP sẽ khiến trình gỡ lỗi WinDbg chạy và tải file. Điều này có thể mất thời gian, tùy thuộc vào kích thước file và mức chi tiết lưu. Khi xong, gõ !analyze -v vào hộp lệnh ở dưới tab Command, sau đó nhấn Enter để chạy lệnh.
- Lệnh !analyze -v sẽ mất thời gian để tải và phân tích file log do lỗi BSOD tạo ra — đợi quá trình hoàn tất. Khi xong, bạn có thể phân tích toàn bộ đầu ra trong tab Command. Đặc biệt, tìm tên và giá trị mã dừng (ví dụ: DRIVER_IRQL_NOT_LESS_OR_EQUAL và d1) liệt kê dưới phần Bugcheck Analysis (Phân tích Bugcheck). Cùng với mã dừng, mô tả ngắn gọn đưa ra nguyên nhân (như vấn đề driver) sẽ được liệt kê, cho phép bạn khắc phục sâu hơn.
- Bạn cũng có thể xem thông tin liên quan khác trong phân tích WinDbg (như giá trị MODULE_NAME) để xác định nguyên nhân. Trong ví dụ này, mã BSOD do chạy công cụ kiểm tra hệ thống NotMyFault.
Khi đã xác định mã dừng và nguyên nhân có thể của lỗi BSOD, bạn có thể nghiên cứu vấn đề sâu hơn để xác định giải pháp tiềm năng.
Cách phân tích Windows Memory Dump File dùng NirSoft BlueScreenView
Mặc dù WinDbg không đi kèm Windows, nó do Microsoft sản xuất để khắc phục lỗi BSOD. Nếu bạn thích, tuy nhiên, bạn có thể phân tích file memory dump từ PC của mình (hoặc từ PC khác nếu bạn có bản sao file dump liên quan) dùng công cụ NirSoft BlueScreenView cũ hơn.
BlueScreenView có vẻ lỗi thời, nhưng nó tiếp tục cung cấp tất cả thông tin liên quan về file dump BSOD. Điều này bao gồm tên và giá trị mã dừng (như DRIVER_IRQL_NOT_LESS_OR_EQUAL) mà bạn có thể dùng để xác định nguyên nhân.
- Để bắt đầu, tải xuống và cài đặt công cụ NirSoft BlueScreenView trên PC Windows. Khi công cụ cài xong, khởi chạy từ menu Start.
- BlueScreenView sẽ tự động định vị file memory dump từ nguồn biết như C:/ và C:/Windows/minidump. Nếu bạn muốn tải file thủ công, chọn Options > Advanced Options (Tùy chọn nâng cao).
- Trong menu Advanced Options, chuyển đến thư mục chứa file dump bằng cách chọn nút Browse (Duyệt) bên cạnh ô Load from the following MiniDump folder (Tải từ thư mục MiniDump sau). Để trả về vị trí mặc định, chọn Default. Chọn OK để lưu lựa chọn và tải file.
- Trong cửa sổ chính BlueScreenView, danh sách file memory dump đã lưu sẽ xuất hiện. Chọn một trong các file liệt kê để xem thêm thông tin. Tên mã dừng sẽ xuất hiện ở cột Bug Check String, cho phép bạn nghiên cứu vấn đề sâu hơn.
- Với file memory dump được chọn, danh sách đầy đủ file và driver hoạt động sẽ được liệt kê bên dưới. File được highlight màu đỏ sẽ có liên kết trực tiếp đến nguyên nhân lỗi BSOD. Ví dụ, myfault.sys liên quan đến công cụ kiểm tra hệ thống NotMyFault, trong khi ntoskrnl.exe là tiến trình nhân (kernel) hệ thống Windows.
Mặc dù BlueScreenView là công cụ hữu ích để nhanh chóng xác định tên lỗi BSOD, nó không phải công cụ gỡ lỗi đầy đủ như WinDbg. Nếu bạn không thể khắc phục sự cố dùng công cụ này, bạn sẽ cần thử WinDbg để phân tích chi tiết hơn.
Khắc phục lỗi BSOD dùng File Memory Dump
Dùng thông tin file memory dump bạn khôi phục, bạn có thể khắc phục lỗi BSOD bằng cách tìm kiếm mã dừng (stop codes) hoặc file lỗi BSOD liên quan. Mã dừng lỗi, đặc biệt, có thể giúp bạn tìm ra nguyên nhân đằng sau BSOD, từ bad system config info BSOD (cấu hình hệ thống xấu) đến unexpected store exception error BSOD (ngoại lệ lưu trữ không mong đợi).
Lỗi BSOD do mọi thứ từ phần cứng lỗi đến file hệ thống bị hỏng. Để giúp ngăn chặn chúng, bạn nên kiểm tra PC tìm phần mềm độc hại thường xuyên và dùng công cụ như SFC để sửa cài đặt Windows nếu bị hỏng. Nếu tất cả đều thất bại, bạn luôn có thể reset hoặc cài lại Windows 10 để khôi phục PC về trạng thái hoạt động hoàn chỉnh.