Màn hình xanh chết chóc (Blue Screen of Death) ghé thăm chúng ta mọi lúc. Đôi khi bạn mong đợi nó. Lúc khác, bóng ma màn hình xanh hiện lên bất ngờ. Dù sao, nó gây phiền toái, nhất là khi bạn không thể nhanh chóng chẩn đoán vấn đề.
May mắn thay, màn hình xanh luôn đưa ra mã lỗi. Nhưng làm sao biết nó có nghĩa gì? Bạn dùng chương trình tiện lợi như Windows Debugger (WinDbg) hoặc NirSoft BlueScreenView. Đây là hướng dẫn tiện lợi của bạn để giải quyết lỗi màn hình xanh!
Lỗi Màn Hình Xanh Là Gì?
Khi Windows gặp lỗi nghiêm trọng, hệ thống sập. Sự sập thường mang lại màn hình xanh. Màn hình xanh (thường gọi là Blue Screen of Death, hoặc BSoD) hiển thị một đống thông tin chi tiết về sự sập. Trong thông tin có nguyên nhân (why), vị trí (where), và cách (how) sự sập xảy ra.
Nguyên Nhân Gây Lỗi Màn Hình Xanh
Lỗi màn hình xanh có thể có một số nguyên nhân, bao gồm:
- Phần cứng lỗi
- Phần mềm lỗi
- Driver lỗi thời hoặc viết kém
- Quá nhiệt
- Overclocking
Đó chỉ là năm nguyên nhân tiềm ẩn. Trong đó, có nhiều lỗi cụ thể. Đó là nơi mã lỗi màn hình xanh bước vào.
Mã lỗi màn hình xanh cho bạn một lỗi cụ thể để khắc phục. Bạn có thể tập trung nỗ lực thay vì đoán mò gì sai và tại sao. Ví dụ, mã 0x80240034 WU_E_DOWNLOAD_FAILED nghĩa là Windows Update tải xuống thất bại. Tất nhiên, điều đó không likely gây BSoD, nhưng bạn thấy mã lỗi có thông báo lỗi cụ thể.
Làm Thế Nào Để Sửa Lỗi Màn Hình Xanh?
Sửa lỗi màn hình xanh phụ thuộc vào loại lỗi. Đôi khi, tìm kiếm nhanh trên internet đủ để tiết lộ điều gì sai với hệ thống. Lúc khác, phần mềm debug hệ thống đặc biệt là thứ bạn cần. Đây là cách bạn sửa lỗi màn hình xanh dùng WinDbg hoặc NirSoft BlueScreenView.
Cách Khắc Phục Lỗi Màn Hình Xanh Với WinDbg
WinDbg là công cụ mạnh mẽ bạn có thể dùng để tìm nguyên nhân gốc rễ của lỗi màn hình xanh.
Cài Đặt Windows 10 SDK
Đến trang tải Windows 10 SDK. Windows 10 SDK chứa nhiều công cụ, bao gồm Windows Performance Toolkit, Debugging Tool for Windows, .NET Framework SDK, và công cụ phát triển khác. Làm theo các bước sau.
- Nhấp nút Download the Installer. Sau khi tải, chạy bộ cài.
- Khi bộ cài Windows 10 SDK mở, chọn tùy chọn đầu tiên để Install the Windows Software Development Kit vào máy. Đường dẫn cài mặc định ổn.
- Chọn Next tiếp tục và chấp nhận license. Trang tiếp theo, bỏ chọn tất cả hộp trừ Debugging Tools for Windows.
- Sau đó nhấn Install.
Mở Và Cấu Hình WinDbg
Mở menu Start và đi đến Windows Kits > WinDbg. Dùng debugger cho kiến trúc hệ thống, 32 hoặc 64-bit. Tôi có hệ thống 64-bit, nên chọn WinDbg X64.
Bây giờ, bạn cần tìm memory dump BSoD. Dump chứa thông tin về sự sập, như "nguyên nhân" và "vị trí".
Có hai loại chính memory dump BSoD: full dump và minidump. Thông thường, minidump nhỏ hơn nhưng chứa nhiều thông tin hơn full dump (tôi biết, nghe lạ).
- Bạn sẽ tìm log minidump trong thư mục gốc, thường C:\Windows\Minidump. Trong thư mục, bạn sẽ tìm thấy log minidump thực tế.
- Thay vào đó, full dump nằm ở C:\Windows\memory.dmp
Hướng dẫn này, chúng ta sẽ phân tích minidump (vì tôi có sẵn minidump).
Lưu ý: Không có dump nào? Xem cách bật dump Windows sau sập.
Quay lại WinDbg. Đầu tiên, bạn cần đặt nguồn symbols. Symbols về cơ bản là định danh cho ngôn ngữ lập trình liên quan đến thông tin cụ thể. Chúng làm cho việc phân tích thông tin trong log (hoặc code) dễ dàng hơn.
Đi đến File > Symbol File Path, sao chép và dán sau:
SRV*c:\websymbols*https://msdl.microsoft.com/download/symbols
Sau đó nhấn OK.
Phân Tích Dump Sập Trong WinDbg
Kéo thả file dump vào WinDbg. Hoặc nhấn Ctrl + D mở trình duyệt file, tìm file dump. Khi file dump tải, bạn sẽ gặp màn hình phân tích ban đầu. Nó sẽ trông như sau:
Có hai thứ cần lấy từ màn hình này: BugCheck và Probably caused by. Đây là chúng rõ ràng hơn:
- BugCheck 1A là mã lỗi
- Probably caused by: memory_corruption ( ONE_BIT ) cho bạn ý tưởng tức thì về vấn đề
Trong trường hợp này, bạn biết lỗi bộ nhớ là nguyên nhân có thể của BSoD.
Bạn có thể phân tích sâu hơn dùng lệnh WinDbg. Trong trường hợp này, lệnh !analyze -v (được highlight xanh trong ảnh trên) sẽ hiển thị thông tin chi tiết liên quan đến BSoD. Có link lệnh dưới header Bugcheck Analysis. Tuy nhiên, link này đôi khi biến mất. Nếu không có link, nhập lệnh vào trường ở dưới cửa sổ WinDbg.
Lệnh thực hiện lượng lớn phân tích tự động. WinDbg hiển thị kết quả dưới header BugCheck Analysis mới. Lượng thông tin WinDbg ném ra hơi choáng ngợp. Nhưng trong trường hợp này, bạn chỉ tìm vài mẩu thông tin then chốt để làm đầy đủ đánh giá BSoD.
Các tham số trực tiếp dưới header BugCheck Analysis mới cung cấp tập thông tin hữu ích khác. Ví dụ, trong ví dụ dưới, bạn thấy lỗi được xác nhận là Memory_Management (1a). Thêm vào đó, Arguments (tham số về cơ bản là tham số thông tin) mở rộng thông tin.
Arg1 nói "A corrupt PTE has been detected," giải thích "Parameter 2 contains the address of the PTE."
Bây giờ tôi biết PTE là Page Table Entry, nên lỗi này có thể liên quan đến bộ nhớ ảo, và tôi có thể bắt đầu sửa BSoD từ đó. Tuy nhiên, có lượng lớn lỗi tôi không biết.
Trong những trường hợp đó, tìm kiếm internet là bạn. Tìm kiếm kết hợp mã lỗi ban đầu và thông tin tham số bổ sung sẽ trả về kết quả của người dùng khác gặp cùng vấn đề. Trong nhiều trường hợp, lỗi hệ thống bạn gặp không mới và bí ẩn. Cùng BSoD sẽ ảnh hưởng người khác - bạn không đơn độc.
Cách Khắc Phục Lỗi Màn Hình Xanh Với BlueScreenView
Công cụ phân tích WinDbg là bộ kit mạnh. Bạn có thể dùng cho mọi phân tích dump và file. Tuy nhiên, nhiều độc giả không cần toàn bộ phổ công cụ phân tích WinDbg. Nếu nghe như bạn, Nirsoft BlueScreenView chính xác là thứ bạn cần.
Nó phân tích cùng dump và minidump như WinDbg nhưng hợp lý hóa thông tin. Bạn có thể mang thông tin hợp lý hóa đó đến tìm kiếm internet và bắt đầu quá trình BSoD từ đó.
Đây là cách nó hoạt động:
Đến trang BlueScreenView và tải chương trình. Sau khi tải, cài BlueScreenView. Mở chương trình sau cài.
Đây là nơi BlueScreenView tiện lợi. Nó tự động tải bất kỳ minidump nào tìm thấy trong thư mục MiniDump. Bạn có thể sắp xếp dump theo Crash Time để tìm BSoD mới nhất. Trong ảnh dưới bạn thấy phiên bản BlueScreenView của file dump được phân tích trong phần WinDbg.
Sự khác biệt lớn là bố cục và dễ dàng tìm thông tin BSoD. Bug Check String, Bug Check Code, và Parameters giống nhau. BlueScreenView cũng xác định driver ntoskrnl.exe là gốc rễ BSoD.
Giống WinDbg, bạn có thể hoàn tất tìm kiếm internet với thông tin BSoD.
WinDbg vs. BlueScreenView
Có công cụ phân tích BSoD nào tốt hơn không? Tùy vào mục tiêu bạn muốn đạt.
BlueScreenView chắc chắn dễ dùng hơn WinDbg. Nếu bạn cần thông tin nhanh, súc tích về BSoD, BlueScreenView là công cụ tốt hơn. Đại đa số người sẽ ổn với BlueScreenView, nhất là vì nó không cần cấu hình và cung cấp thông tin mong muốn ngay lập tức, và cách dễ tiêu hóa.
Để giúp thêm, xem mẹo chung sửa màn hình xanh trong Windows.