Màn hình xanh chết chóc

Lỗi máy tính
(Đổi hướng từ BSoD)

Màn hình xanh chết chóc (hoặc Blue Screen of Death, Blue Screen of Doom, lỗi dừng) viết tắt là BSoD trong tiếng Anh hay đơn giản hơn là Màn hình xanh[1] là một màn hình thông báo lỗi được hiển thị trên Windows sau khi hệ thống gặp phải 1 lỗi hệ thống nghiêm trọng.

Màn hình xanh chết chóc của Windows XP, Windows Server 2003, Windows Vista, Windows 7
Màn hình xanh chết chóc của Windows 10 & Windows 11

Lịch sử

sửa
 
BSOD của Windows 1.02.0

BSoD đã xuất hiện từ Windows 1.0, nhưng nó chưa thực sự là màn hình báo lỗi nghiêm trọng. Nó là màn hình báo rằng phiên bản MS DOS không tương thích cùng với các nhân ngẫu nhiên xảy ra khi khởi động máy tính. BSoD để báo lỗi nghiêm trọng xuất hiện từ Windows 3.0 dưới dạng một màn hình màu xanh với các chữ màu trắng thể hiện lỗi mà hệ thống gặp phải. Nếu Windows 1.0 gặp lỗi nghiêm trọng, nó sẽ tự khởi động lại mà không hiện thị màn hình thông báo. BSoD đã có mặt trong Windows NT 3.1 (phiên bản đầu tiên của phiên bản Windows NT, được phát hành vào năm 1993) và tất cả các hệ điều hành Windows được phát hành sau đó. (Xem Lịch sử của Microsoft Windows.) BSoD có thể xuất hiện do trình điều khiển thiết bị viết kém hoặc phần cứng bị trục trặc, chẳng hạn như bộ nhớ bị lỗi, sự cố cung cấp điện, quá nhiệt của các thành phần hoặc phần cứng chạy quá giới hạn thông số kỹ thuật. Trong kỷ nguyên Windows 9x, các DLL hoặc lỗi không tương thích trong nhân hệ điều hành cũng có thể gây ra BSoD. Do tính không ổn định và thiếu bảo vệ bộ nhớ trong Windows 9x, BSoD phổ biến hơn nhiều.

Vào ngày 4 tháng 9 năm 2014, một số tạp chí trực tuyến, bao gồm Business Insider[2], DailyTech[3],... quy kết việc tạo ra Màn hình xanh chết chóc cho Steve Ballmer, cựu CEO của Microsoft, trong khi trích dẫn một nguồn không nói như vậy: Bài viết của một nhân viên Microsoft, Raymond Chen, có tiêu đề: "Ai đã phát minh cho hộp thoại Ctrl + Alt + Del trong Windows 3.1?". Bài viết nói về việc tạo trình quản lý tác vụ thô sơ đầu tiên trong Windows 3.x, chia sẻ những điểm tương đồng trực quan với BSoD. Vào ngày 9 tháng 9 năm 2014, Raymond Chen đã phàn nàn về sai lầm phổ biến này, nhận trách nhiệm sửa đổi BSoD trong Windows 95 và chỉ trích BGR.com vì đã "hoàn toàn bịa đặt một kịch bản và cho rằng đó là sự thật". Engadget sau đó đã cập nhật bài viết của mình để sửa lỗi.

Windows NT

sửa

Trong các phiên bản của hệ điều hành Windows NT, màn hình xanh chết chóc đã được chính thức được gọi là lỗi dừng và xảy ra khi kernel hoặc trình điều khiển chạy trong kernel chế độ gặp lỗi mà nó không thể phục hồi. Điều này thường được gây ra bởi một hoạt động bất hợp pháp nào đó đang được thực hiện. Hành động an toàn duy nhất mà hệ điều hành có thể thực hiện trong tình huống này là khởi động lại máy tính. Do đó, dữ liệu có thể bị mất do người dùng không có cơ hội lưu dữ liệu chưa được lưu vào ổ cứng. Văn bản trên màn hình lỗi chứa mã lỗi và tên tượng trưng của nó (ví dụ: "0x0000001E, KMODE_EXCEPTION_NOT_HANDLED") cùng với bốn giá trị phụ thuộc lỗi trong ngoặc đơn để giúp các kỹ sư phần mềm khắc phục sự cố xảy ra. Tùy thuộc vào mã lỗi, nó có thể hiển thị địa chỉ nơi xảy ra sự cố, cùng với trình điều khiển được tải tại địa chỉ đó. Trong Windows NT, phần thứ hai và thứ ba của màn hình có thể chứa thông tin về tất cả các trình điều khiển được tải và kết xuất ngăn xếp tương ứng. Thông tin trình điều khiển là trong ba cột; danh sách đầu tiên liệt kê địa chỉ cơ sở của trình điều khiển, lần thứ hai liệt kê ngày tạo của trình điều khiển (dưới dạng dấu thời gian Unix) và lần thứ ba liệt kê tên của trình điều khiển. Theo mặc định, Windows sẽ tạo một tệp kết xuất bộ nhớ khi xảy ra lỗi dừng. Tùy thuộc vào phiên bản HĐH, có thể lưu một số định dạng, từ "minidump" 64kB (được giới thiệu trong Windows 2000) đến "kết xuất hoàn chỉnh", đây là bản sao toàn bộ nội dung của bộ nhớ vật lý (RAM). Tệp kết xuất bộ nhớ kết quả có thể được gỡ lỗi sau, sử dụng trình gỡ lỗi kernel. Đối với các trình gỡ lỗi Windows WinDBG hoặc KD từ Công cụ gỡ lỗi cho Windows được sử dụng. Trình gỡ lỗi là cần thiết để có được dấu vết ngăn xếp và có thể được yêu cầu để xác định nguyên nhân thực sự của vấn đề; vì thông tin trên màn hình bị hạn chế và do đó có thể gây hiểu lầm, nó có thể che giấu nguồn gốc thực sự của lỗi. Theo mặc định, Windows XP được cấu hình để chỉ lưu một kết xuất 64kB khi gặp lỗi dừng và sau đó tự động khởi động lại máy tính. Bởi vì quá trình này xảy ra rất nhanh, màn hình xanh có thể chỉ được nhìn thấy ngay lập tức hoặc không. Người dùng đôi khi đã lưu ý đây là khởi động lại ngẫu nhiên thay vì lỗi dừng truyền thống và chỉ nhận thức được sự cố sau khi Windows khởi động lại và hiển thị thông báo rằng nó đã được khôi phục từ một lỗi nghiêm trọng. Điều này chỉ xảy ra khi máy tính có chức năng gọi là "Tự động khởi động lại", có thể bị vô hiệu hóa trong Bảng điều khiển, từ đó hiển thị lỗi dừng. Microsoft Windows cũng có thể được thiết lập để gửi thông tin lỗi đến trình gỡ lỗi kernel chạy trên một máy tính riêng biệt. Nếu gặp lỗi dừng trong khi trình gỡ lỗi kernel trực tiếp được gắn vào hệ thống, Windows sẽ tạm dừng thực thi và khiến trình gỡ lỗi đột nhập, thay vì hiển thị BSoD. Trình gỡ lỗi sau đó có thể được sử dụng để kiểm tra nội dung của bộ nhớ và xác định nguồn gốc của vấn đề. BSoD cũng có thể do lỗi bộ tải khởi động nghiêm trọng, trong đó hệ điều hành không thể truy cập vào phân vùng khởi động do trình điều khiển lưu trữ không chính xác, hệ thống tệp bị hỏng hoặc các vấn đề tương tự. Mã lỗi trong tình huống này là STOP 0x0000007B (INACCESSIBLE_BOOT_DEVICE). Trong những trường hợp như vậy, không có kết xuất bộ nhớ được lưu. Vì hệ thống không thể khởi động từ ổ cứng trong tình huống này, nên việc khắc phục sự cố thường yêu cầu sử dụng các công cụ sửa chữa được tìm thấy trên đĩa cài đặt Windows.

Chi tiết

sửa

Trước Windows 8 và Windows Server 2012, mỗi BSoD hiển thị một tên lỗi bằng chữ hoa (ví dụ: APC_INDEX_MISMATCH), một số lỗi thập lục phân (ví dụ: 0x00000001) và bốn tham số. Hai cái cuối cùng được hiển thị cùng nhau theo định dạng sau: [18]
mã lỗi (tham số 1, tham số 2, tham số 3, tham số 4) tên lỗi. Tùy thuộc vào mã lỗi và bản chất của nó, tất cả, một số hoặc thậm chí không có tham số nào chứa dữ liệu liên quan đến sự cố và/hoặc nơi xảy ra. Ngoài ra, các màn hình lỗi hiển thị bốn đoạn giải thích và lời khuyên chung và có thể bao gồm các dữ liệu kỹ thuật khác như tên tệp của thủ phạm và địa chỉ bộ nhớ.

Với việc phát hành Windows 8 và Windows Server 2012, BSoD đã được thay đổi, loại bỏ tất cả các điều trên có lợi cho tên lỗi và mô tả ngắn gọn. Windows 8 và Windows Server 2012 cũng thêm một biểu tượng cảm xúc buồn. Các mã và tham số mã thập lục phân vẫn có thể được tìm thấy trong Nhật ký sự kiện Windows hoặc trong các bãi chứa bộ nhớ. Kể từ Windows 10 Build 14393, Windows 10 đã thêm mã QR để khắc phục sự cố nhanh chóng. Màn hình xanh chết chóc sau đó đã bị thay đổi thành màu đen trong Windows 11, trước khi nó đã thấy đổi trở lại thành màu xanh dương nhưng tối màu hơn.

Windows 9x

sửa
 
Màn hình xanh chết chóc của Windows 9x

Màn hình xanh chết chóc thường xuyên xảy ra trong các hệ điều hành máy tính để bàn thuộc gia đình Microsoft Windows 95, 98 và ME. Trong các hệ điều hành này, BSoD là cách chính để trình điều khiển thiết bị ảo báo cáo lỗi cho người dùng. Nó được gọi nội bộ bằng tên của "_VWIN32_FaultPopup". BSoD của Windows 9x cung cấp cho người dùng tùy chọn khởi động lại hoặc tiếp tục.

BSoD phổ biến nhất là trên màn hình 80 × 25, đây là cách báo cáo của hệ điều hành bị gián đoạn do ngoại lệ của bộ xử lý; nó là một dạng nghiêm trọng hơn của các hộp thoại lỗi bảo vệ chung. Địa chỉ bộ nhớ của lỗi được đưa ra và loại lỗi là số thập lục phân từ 00 đến 11 (0 đến 17 thập phân). Các mã lỗi như sau:

   00: Lỗi bộ phận

   01: Lỗi khởi động

   02: Ngắt không thể xác định

   03: Lỗi tắt máy

   04: Bẫy tràn

   05: Lỗi kiểm tra giới hạn

   06: Lỗi Opcode không hợp lệ

   07: Lỗi "Bộ đồng xử lý không khả dụng"

   08: Lỗi kép

   09: Lỗi quá phân khúc đồng xử lý

   0A: Lỗi phân đoạn trạng thái nhiệm vụ không hợp lệ

   0B: Không có lỗi

   0C: Lỗi xếp chồng

   0D: Lỗi bảo vệ chung

   0E: Lỗi trang

   0F: Vượt quá giới hạn thông báo lỗi

   10: Lỗi lỗi bộ đồng xử lý

   11: Lỗi kiểm tra căn chỉnh

Lý do bao gồm: Các sự cố xảy ra với các phiên bản DLL không tương thích: Windows tải các DLL này vào bộ nhớ khi các chương trình ứng dụng cần thiết; nếu các phiên bản được thay đổi, lần tiếp theo ứng dụng tải DLL, nó có thể khác với những gì ứng dụng mong đợi. Những sự không tương thích này tăng theo thời gian khi nhiều phần mềm mới được cài đặt và là một trong những lý do chính khiến một bản sao Windows mới được cài đặt ổn định hơn so với phần mềm "cũ".

Trình điều khiển thiết bị bị lỗi hoặc viết kém

Không tương thích phần cứng

Phần cứng bị hư hỏng cũng có thể gây ra BSoD.

Trong Windows 95 và 98, BSoD xảy ra khi hệ thống cố gắng truy cập tệp C:\con\con hoặc C:\aux\aux trên ổ cứng. Điều này có thể được chèn vào một trang web để đánh sập máy của khách truy cập. Vào ngày 16 tháng 3 năm 2000, Microsoft đã phát hành bản cập nhật bảo mật để giải quyết vấn đề này.

Một ví dụ nổi tiếng về Windows 9x BSoD đã xảy ra trong buổi thuyết trình về Windows 98 Beta của Bill Gates tại COMDEX vào ngày 20 tháng 4 năm 1998: Máy tính demo đã gặp sự cố với BSoD khi trợ lý của ông, Chris Capossela, kết nối máy quét với PC để trình diễn Hỗ trợ của Windows 98 cho các thiết bị Plug and Play. Sự kiện này đã mang đến những tràng pháo tay như sấm từ đám đông và Gates đã trả lời sau khi tạm dừng căng thẳng: "Đó phải là lý do tại sao chúng tôi chưa phát hành Windows 98."

Windows CE

sửa

Phiên bản đơn giản nhất của màn hình xanh xuất hiện trong Windows CE (ngoại trừ Pocket PC 2000 và Pocket PC 2002). Màn hình màu xanh trong Windows CE 3.0 tương tự như màn hình trong Windows NT.

Các loại màn hình tương tự

sửa

"Màn hình đỏ chết chóc" được tóm tắt ở đây. Red Screen of Death cũng có thể đề cập đến một thông báo lỗi được sử dụng trên các hệ thống PlayStation khi thiết bị không nhận/phát hiện đĩa chơi game.

  • Màn hình đỏ chết chóc (Red Screen of Death - RSoD) được xuất hiện trong:
    • Windows 98 hiển thị màn hình lỗi màu đỏ được nâng lên bởi Cấu hình nâng cao và Giao diện nguồn (ACPI) khi BIOS của máy chủ gặp sự cố.
    • Phiên bản Beta 1 và Beta 2 của Windows Vista cũng hiển thị màn hình lỗi màu đỏ trong trường hợp xảy ra lỗi khởi động[4]
    • Phiên bản dựng 5048 của Windows Vista cùng trường hợp lỗi khởi động
  • Màn hình xanh lá chết chóc (Green Screen of Death - GreenSoD) đến từ máy chơi game Xbox One. Lỗi xảy ra khi quá trình cập nhật dữ liệu gặp trục trặc (liên quan đến ổ cứng), thiết bị chơi game này bị kẹt không hoạt động được. Màn hình lỗi xanh lá cũng ghi nhận xuất hiện trên các máy game của Nintendo Entertainment hay đầu ghi video TiVo. Có trường hợp, sau khi màn hình lỗi xanh lá xuất hiện, sau đó lại chuyển sang màu đen. Nó được dùng trong các bản dựng Windows 11 Insider.
  • Màn hình tím chết chóc (Purple Screen of Death - PSoD) thường hay gặp khi kernel trên các máy ảo, VMWare ESX/ESXi Server hỏng.
  • Màn hình nâu chết chóc (Brown Screen of Death - BrownSoD - KHÁC VỚI MÀN HÌNH XANH) báo hiệu lỗi liên quan đến card đồ họa graphic hoặc phần mềm khi bạn chơi game. Lỗi cũng xuất hiện nếu bạn ép xung (overclock) CPU / GPU / Linh kiện khác nhằm mục đích chơi game / sử dụng phần mềm nhanh hơn, mượt hơn.
  • Màn hình lỗi màu xám (Gray Screen of Death - GraySOD) xuất hiện trên các máy tính bảng Microsoft Surface chạy hệ điều hành Windows 8.1 RT.

Lỗi dừng có thể so sánh với sự hoảng loạn hạt nhân (Kernel panic) trong macOS, Linux và các hệ thống tương tự Unix khác và với các kiểm tra lỗi trong OpenVMS. Windows 3.1, cũng như macOS, hiển thị Màn hình đen thay vì màu xanh. Windows 11 cũng hiển thị lỗi màn hình đen nhưng chưa có lí do.

Xem thêm

sửa

Tham khảo

sửa
  1. ^ “Bản sao đã lưu trữ”. Bản gốc lưu trữ ngày 31 tháng 10 năm 2014. Truy cập ngày 22 tháng 10 năm 2014.
  2. ^ “Steve Ballmer Wrote The Blue Screen Of Death”.
  3. ^ “Microsoft Exec Reveals Steve Ballmer Created Original Blue Screen of Death Message”. Lưu trữ bản gốc ngày 20 tháng 8 năm 2015.Quản lý CS1: bot: trạng thái URL ban đầu không rõ (liên kết)
  4. ^ “Blue Screen of Death (Wikipedia English)”.

Liên kết ngoài

sửa