Tool phân tích lỗi màn hình xanh (BSOD)
Liệt kê các lần màn hình xanh gần đây, mã lỗi (bugcheck), các lần tắt máy đột ngột, file minidump và gợi ý cách xử lý theo từng mã lỗi.
- Nhấp đúp file
tool-phan-tich-loi-man-hinh-xanh-bsod.cmd. Chọn Yes khi Windows hỏi quyền Administrator. - Nếu hiện Windows protected your PC: bấm More info → Run anyway (file tải từ Internet).
- Dùng bản
.ps1? Máy đặt ExecutionPolicy AllSigned/Restricted sẽ chặn (mở lên rồi tắt). Chạy bằng lệnh:powershell -ExecutionPolicy Bypass -File .\tool-phan-tich-loi-man-hinh-xanh-bsod.ps1
⚠ Đọc kỹ nội dung script trước khi chạy — nội dung đầy đủ ở khung bên dưới.
# Phân tích màn hình xanh (BSOD) — chạy với quyền Administrator để đọc đủ nhật ký
$tips = [ordered]@{
'0x000000ef' = 'CRITICAL_PROCESS_DIED — file hệ thống hỏng: chạy sfc /scannow và DISM /Online /Cleanup-Image /RestoreHealth'
'0x0000000a' = 'IRQL_NOT_LESS_OR_EQUAL — driver lỗi: cập nhật hoặc gỡ driver mới cài'
'0x000000d1' = 'DRIVER_IRQL_NOT_LESS_OR_EQUAL — driver (thường là card mạng/Wi-Fi): cập nhật driver từ trang hãng'
'0x0000001a' = 'MEMORY_MANAGEMENT — RAM: chạy mdsched.exe, thử từng thanh RAM'
'0x00000050' = 'PAGE_FAULT_IN_NONPAGED_AREA — RAM, driver hoặc ổ cứng: mdsched + chkdsk C: /f'
'0x0000003b' = 'SYSTEM_SERVICE_EXCEPTION — driver / phần mềm diệt virus / VPN'
'0x0000007e' = 'SYSTEM_THREAD_EXCEPTION_NOT_HANDLED — driver (thường là card đồ hoạ)'
'0x00000133' = 'DPC_WATCHDOG_VIOLATION — driver ổ SSD/chipset, cập nhật firmware SSD'
'0x0000007b' = 'INACCESSIBLE_BOOT_DEVICE — chế độ SATA (AHCI/RAID) hoặc ổ cứng lỗi'
'0x00000124' = 'WHEA_UNCORRECTABLE_ERROR — phần cứng: nhiệt độ CPU, ép xung, nguồn'
'0x00000116' = 'VIDEO_TDR_FAILURE — driver card đồ hoạ: cài lại bằng DDU'
'0x000000c2' = 'BAD_POOL_CALLER — driver hoặc phần mềm hệ thống lỗi'
}
Write-Host "=== Màn hình xanh gần đây (Event 1001 - BugCheck) ===" -ForegroundColor Cyan
$bsod = Get-WinEvent -FilterHashtable @{ LogName = 'System'; Id = 1001 } -MaxEvents 30 -ErrorAction SilentlyContinue |
Where-Object { $_.Message -match 'bugcheck|0x[0-9a-f]{8}' } | Select-Object -First 10
if ($bsod) {
foreach ($e in $bsod) {
$code = if ($e.Message -match '0x[0-9a-fA-F]{8}') { $Matches[0].ToLower() } else { '?' }
Write-Host ("{0:dd/MM/yyyy HH:mm} Mã lỗi {1}" -f $e.TimeCreated, $code) -ForegroundColor Yellow
if ($tips.Contains($code)) { Write-Host " → $($tips[$code])" }
}
} else { Write-Host "Không tìm thấy màn hình xanh nào trong nhật ký. 👍" -ForegroundColor Green }
Write-Host "`n=== Tắt máy đột ngột (Kernel-Power 41) ===" -ForegroundColor Cyan
$kp = Get-WinEvent -FilterHashtable @{ LogName = 'System'; Id = 41 } -MaxEvents 5 -ErrorAction SilentlyContinue
if ($kp) { $kp | ForEach-Object { "{0:dd/MM/yyyy HH:mm}" -f $_.TimeCreated } } else { "Không có." }
Write-Host "`n=== File minidump ===" -ForegroundColor Cyan
$dumps = Get-ChildItem "$env:SystemRoot\Minidump\*.dmp" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending
if ($dumps) { $dumps | Select-Object Name, LastWriteTime, @{ n = 'KB'; e = { [int]($_.Length / 1KB) } } | Format-Table -AutoSize }
else { "Không có minidump. Bật tại: System Properties > Advanced > Startup and Recovery > Small memory dump." }
Read-Host "`nNhấn Enter để đóng"
Tool làm gì?
- Đọc nhật ký Event ID 1001 (BugCheck) — mỗi lần màn hình xanh có mã lỗi
- Đọc Kernel-Power 41 — các lần máy tắt/khởi động lại đột ngột
- Liệt kê file minidump trong
C:\Windows\Minidump - Đối chiếu mã lỗi với bảng nguyên nhân thường gặp và đưa ra gợi ý
Bước tiếp theo
- Đọc bài Màn hình xanh (BSOD): nguyên nhân & cách xử lý theo mã lỗi
- Mở file
.dmpbằng WinDbg (Microsoft Store) → lệnh!analyze -vđể biết chính xác driver gây lỗi - Hoặc dùng prompt Phân tích file dump màn hình xanh để AI đọc giúp kết quả
!analyze -v
Bài liên quan
Kiểm tra bản quyền Windows & Office
Xem Windows, Office đã kích hoạt chưa, loại key (Retail/OEM/Volume), 5 ký tự cuối của key và ngày hết hạn — chỉ đọc thông tin, không thay đổi hệ thống.
# Kiểm tra trạng thái bản quyền Windows & Office — CHỈ ĐỌC, không thay đổi hệ thống
$statusText = @{ 0='Unlicensed (chưa có bản quyền)'; 1='Licensed (đã kích hoạt)'; 2='OOB Grace'; 3='OOT Grace';
4='Non-Genuine Grace'; 5='Notification (chưa kích hoạt)'; 6='Extended Grace' }
Script kiểm tra nhanh thông tin máy tính (PowerShell)
Xuất tên máy, hệ điều hành, CPU, RAM, ổ cứng, IP, MAC và số Serial chỉ với một lệnh — tiện cho kiểm kê tài sản IT.
$cs = Get-CimInstance Win32_ComputerSystem $os = Get-CimInstance Win32_OperatingSystem $cpu = Get-CimInstance Win32_Processor | Select-Object -First 1
Sửa lỗi kết nối máy in share: 0x0000011b, 0x00000709, 0x0000007c
Script xử lý các lỗi "Windows cannot connect to the printer" phổ biến khi kết nối máy in chia sẻ trong LAN — chạy trên máy chủ chia sẻ hoặc máy con.
# Sửa lỗi kết nối máy in chia sẻ — cần quyền Administrator # Nhấp đúp bản .cmd để chọn chế độ, hoặc chạy trực tiếp: # .\sua-loi-ket-noi-may-in-share-11b-709.ps1 -Role Client -Printer \\PC-KETOAN\Canon2900
Tool quét virus bằng Microsoft Defender (có menu)
Cập nhật mẫu virus, chọn quét nhanh / toàn bộ / USB / quét ngoại tuyến, rồi liệt kê mối đe doạ đã phát hiện — dùng Defender có sẵn trên Windows, miễn phí.
# Quét virus bằng Microsoft Defender — chạy với quyền Administrator
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole('Administrators')) {
Start-Process powershell "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit
Bình luận (0)