Laptop tetangga saya mati dan menyala sendiri berulang kali. Dia sudah pasrah dan menganggap laptopnya memang sudah waktunya diganti. Sebelum sampai ke sana, saya pasang BlueScreenView untuk melihat apa yang sebenarnya Windows catat setiap kali laptop itu mati sendiri. Ternyata saya menemukan empat baris informasi lengkap dengan empat kode yang semuanya berbeda, tapi kolom terakhirnya menyebut berkas yang sama persis. Pada tulisan ini, akan saya kupas tuntas arti kode bluescreen itu satu per satu, dan pola seperti ini merujuk ke masalah apa.
Saya tekankan dulu di awal supaya tidak ada salah paham. Tulisan ini tidak bertujuan untuk merekomendasikan Anda mengganti apa pun. Saya hanya ingin Anda memahami apa yang sebenarnya dikatakan oleh kode-kode yang saya lihat di laptop tetangga saya. Siapa tahu Anda juga mengalami kendala yang sama.

Dari mana angka-angka itu datang
Setiap kali Windows mati mendadak, dia tidak langsung mati begitu saja. Sebelum padam, dia menulis sebuah berkas kecil berisi potret keadaan terakhir sistem. Berkas itu namanya minidump, dan tempatnya di C:\Windows\Minidump. Ukurannya biasanya cuma ratusan kilobita, jauh lebih kecil daripada potret memori penuh, tapi cukup untuk menyimpan kode kesalahannya, beberapa angka pendukung, dan daftar kode yang sedang berjalan saat kejadian.
Di situlah letak nilainya. Layar biru hanya tampil beberapa detik dan sering terlewat, apalagi kalau laptopnya langsung menyala ulang sendiri seperti punya tetangga saya. Minidump tidak hilang. Dia tetap ada di folder itu sampai dihapus, dan setiap kejadian menambah satu berkas baru.
Nama berkasnya pun punya pola. Lihat pada contoh baris kedua misalnya tertulis 100126-11234-01.dmp.
1. Enam angka di depan adalah tanggalnya dalam urutan bulan, tanggal, tahun, jadi 100126 berarti 1 Oktober 2026.
2. Angka terakhir adalah nomor urut kalau ada lebih dari satu jenis dump yang sama pada hari yang sama juga. Kebetulan di laptop tetangga saya, semua dumpnya berbeda. Angka di tengahnya sengaja tidak saya jelaskan, karena saya tidak menemukan penjelasan resmi dari Microsoft soal arti angka itu.
Kenapa Windows sengaja mematikan dirinya sendiri
Bagian ini penting dipahami lebih dulu, karena akan mengerucutkan cara Anda membaca semua kode di bawah nanti.
Layar biru ketika laptop restart sendiri bukan tanda Windows kalah atau rusak. Layar biru adalah keputusan. Istilah resminya adalah bug check, dan yang terjadi adalah inti sistem menemukan keadaan yang seharusnya tidak mungkin terjadi, lalu memutuskan berhenti total saat itu juga.
Kenapa berhenti, bukan lanjut saja? Karena saat itu sistem sudah tidak bisa mempercayai isi memorinya sendiri. Kalau sistemnya dibuat jalan terus, yang berikutnya ditulis ke harddisk bisa jadi data yang sudah salah. Berhenti itu pilihan yang paling kecil kerugiannya. Lebih baik satu pekerjaan hilang daripada satu berkas rusak diam-diam tanpa ketahuan.
Jadi kode yang muncul di layar biru bukan nama penyakitnya. Kode itu menjawab pertanyaan lain, yaitu pemeriksaan mana yang gagal sehingga sistem memutuskan berhenti.
Memahami arti kolom demi kolom
Ada lima kolom yang benar-benar perlu Anda perhatikan.

- Dump File. Nama berkasnya, yang sudah memuat tanggal seperti dijelaskan di atas.
- Crash Time. Jam kejadiannya sampai ke detik. Kolom ini sering dianggap sekadar penanda waktu, padahal jarak antar barisnya bisa sangat dibutuhkan suatu saat.
- Bug Check String. Nama kodenya dalam bentuk kata, misalnya MEMORY_MANAGEMENT. Kolom ini bisa kosong kalau alatnya tidak punya terjemahan untuk kode tersebut, dan kosongnya bukan berarti datanya rusak dan bukan berarti juga tidak ada yang terjadi.
- Bug Check Code. Kode yang sama dalam bentuk angka heksadesimal, misalnya 0x0000001a. Ini yang dipakai untuk mencari di dokumentasi resmi.
- Parameter 1 sampai 4. Empat angka pendukung. Artinya berbeda untuk setiap kode, di sinilah keterangan yang paling lengkap berada.
Satu kolom lagi, Caused By Driver, saya bahas terpisah di bawah karena kolom inilah yang paling sering membingungkan.
Arti lengkap dari kode tersebut
Berikut arti kode bluescreen yang tercatat di empat baris itu, saya urai satu per satu. Keterangannya saya ambil dari dokumentasi bug check resmi Microsoft, agar sumbernya valid dan bisa dipertanggungjawabkan. Saya urutkan dari yang paling lama ke yang paling baru.
0x0000003b SYSTEM_SERVICE_EXCEPTION, 1 Oktober 09:57
Kode ini muncul ketika terjadi kesalahan di dalam rutin yang sedang menyeberang dari kode biasa ke kode berhak penuh. Parameter pertamanya adalah jenis kesalahannya, dan di layar tetangga saya isinya 0xc0000005.
Angka itu punya nama resmi, yaitu STATUS_ACCESS_VIOLATION. Artinya ada kode yang mencoba menyentuh alamat memori yang tidak boleh dia sentuh. Microsoft menyebut dua sebab yang umum, yaitu penunjuk alamat yang kosong, dan memori yang sudah dibebaskan lebih dulu atau struktur datanya rusak.
0x0000001a MEMORY_MANAGEMENT, 1 Oktober 11:27
Namanya saja sudah jelas, yaitu kesalahan berat di pengelolaan memori. Tapi parameternya jauh lebih spesifik daripada namanya, dan ini contoh terbaik kenapa parameter tidak boleh diabaikan.
Parameter pertamanya 0x41792. Di daftar resmi Microsoft, angka itu punya satu arti saja: sebuah PTE ditemukan rusak. PTE singkatan dari Page Table Entry, dan fungsinya adalah catatan yang dipakai Windows untuk menerjemahkan alamat yang dilihat program menjadi alamat sebenarnya di keping memori pada hardware laptop.
Bayangkan dengan analogi seperti berikut ini: PTE adalah buku alamat. Program minta data di alamat tertentu, Windows membuka buku alamatnya, lalu mengambil data dari tempat yang tertulis di situ. Nah, tapi kalau isi buku alamatnya berubah tanpa ada yang mengubahnya (dalam tanda kutip = rusak), maka setiap pencarian berikutnya akan mendarat di tempat yang salah. Itu persis yang dilaporkan kode ini.
0x0000000a IRQL_NOT_LESS_OR_EQUAL, 1 Oktober 15:14
Ini kode layar biru yang mungkin paling sering Anda dengar. Microsoft menjelaskannya sebagai upaya menyentuh alamat memori yang tidak sah pada saat tingkat prioritas interupsi sedang tinggi, dan menyebut sebabnya biasanya penunjuk alamat yang salah.
Parameter pertamanya adalah alamat yang gagal disentuh. Di layar tetangga saya isinya 0x8, angka yang sangat kecil. Microsoft memberi aturan praktis untuk ini: kalau parameter pertama lebih kecil daripada 0x1000, kemungkinan besar yang terjadi adalah pembacaan penunjuk alamat kosong.
Satu baris ini condongnya ke arah kesalahan di kode, bukan ke arah perangkat keras. Tapi Microsoft juga menambahkan satu kalimat di halaman yang sama, bahwa penunjuk alamat yang salah bisa berasal dari memori yang sudah dibebaskan, atau dari bit-flipping, yaitu bit yang berubah sendiri.
0x00000139 KERNEL_SECURITY_CHECK_FAILURE, 17 Oktober 15:53
Yang ini paling tegas kalimatnya dan terjadi paling baru nih. Microsoft menulis bahwa kode ini menandakan inti sistem mendeteksi rusaknya sebuah struktur data penting.
Perhatikan kata kerjanya. Bukan sistem yang gagal mengerjakan sesuatu, melainkan sistem yang menemukan sesuatu sudah rusak. Ini pemeriksaan keamanan yang sengaja dipasang Microsoft di dalam Windows untuk memeriksa apakah struktur data internalnya masih utuh.
Di layar, angka pada parameter pertama yang menunjukkan jenis kerusakannya tertulis 0x1d, yang dalam desimal berarti 29. Di tabel resmi Microsoft, nomor 29 artinya sebuah simpul RTL_BALANCED_NODE pada pohon merah hitam ditemukan rusak. Pohon merah hitam adalah struktur penyimpanan internal yang dipakai Windows supaya pencarian data tetap cepat walaupun datanya banyak.
Kolom Bug Check String untuk baris ini kosong di layar, karena alatnya tidak punya terjemahan katanya. Tapi angka 0x00000139 tetap terbaca, dan bisa tetap dilihat artinya.
Jebakan terbesar, kolom Caused By Driver
Di keempat baris itu, kolom Caused By Driver berisi ntoskrnl.exe.
ntoskrnl.exe adalah singkatan dari NT Operating System Kernel. Jadi dia adalah inti Windows itu sendiri. Dia bukan driver tambahan, bukan aplikasi, dan bukan sesuatu yang dipasang belakangan. Dia yang menjalankan hampir semua hal di dalam sistem, dan yang paling penting untuk pembahasan ini, dia juga yang menjalankan semua pemeriksaan tadi.
Jadi ketika kolom itu berisi nama inti sistem (dalam hal ini tertulis ntoskrnl.exe), yang dimaksud sebenarnya bukan tersangka penyebab rusaknya. Melainkan pihak yang menemukan masalahnya sekaligus yang menjalankan perintah pemberhentiannya juga. Ibaratnya alarm kebakaran yang namanya tercatat di laporan kejadian. Alarm itu bukan penyebab kebakarannya.
Ada bukti pendukung untuk cara baca ini, dan dilihat dari Microsoft sendiri. Di halaman dokumentasi kode 0x3b, mereka memberi contoh pemeriksaan di mana driver yang memang bersalah berhasil dikenali, dan yang muncul adalah nama berkasnya sendiri, yaitu sebuah berkas .sys milik pembuat kartu grafis. Artinya, ketika memang ada driver pihak ketiga yang jadi penyebab, nama dari driver tersebut yang akan tertulis, bukan nama inti sistem seperti yang terjadi pada laptop tetangga saya ini.
Di empat baris laptop tetangga saya, tidak ada satu pun berkas .sys pihak ketiga yang muncul. Tidak ada nama pembuat kartu grafis, tidak ada nama kartu jaringan, tidak ada nama antivirus. Yang ada hanya inti sistem.
Angka parameter mengarah pada hal yang lebih spesifik
Jangan biasakan untuk berhenti hanya di nama kode.
Nama kode seperti MEMORY_MANAGEMENT itu luas sekali, dan kalau Anda mencarinya di internet, yang keluar adalah ratusan halaman berisi saran yang umum. Sedangkan parameter akan menunjukkan hal yang jauh lebih sempit. Contoh seperti 0x41792 tidak punya banyak arti, dia cuma punya satu, dan satu arti itu langsung dan menunjuk pada hal yang konkret.
Begitu juga 0xc0000005 yang berarti pelanggaran akses memori, dan 0x1d yang berarti satu jenis struktur data tertentu ditemukan rusak. Tiga angka ini mempersempit masalah jauh lebih cepat daripada nama kodenya.
Cara mencarinya pun mudah. Buka dokumentasi bug check Microsoft, cari halaman kodenya, lalu lihat tabel parameter di halaman itu. Tiap kode punya tabel parameternya sendiri, dan arti angka yang sama bisa berbeda di kode yang berbeda.
Jadi kode bisa digunakan untuk memberi arahan, lalu parameter digunakan untuk melihat lebih spesifik masalahnya.

Pola waktu yang ikut bercerita
Kolom Crash Time sering tidak dihiraukan orang. Padahal kalau jaraknya dihitung, ada bentuk yang muncul.

- 1 Oktober 09:57, lalu 11:27, lalu 15:14. Tiga kali dalam 5 jam 17 menit
- 17 Oktober 15:53, setelah diam 16 hari
Bentuk ini menarik karena dua alasan.
Pertama, kalau penyebabnya adalah sebuah program atau driver yang baru dipasang, biasanya kejadiannya terikat pada apa yang sedang dikerjakan. Crash saat membuka aplikasi tertentu, atau saat mencolokkan alat tertentu. Yang muncul di sini tidak begitu. Tiga kali berturut-turut di satu hari, lalu tenang selama lebih dari dua minggu, tanpa ada yang diubah di laptopnya.
Kedua, pola berkerumun seperti ini cocok dengan sesuatu yang kemunculannya bergantung pada keadaan, bukan pada perintah. Misalnya seperti dipakai untuk tugas berat, panas, atau kebetulan bagian memori tertentu sedang terpakai. Hari yang sibuk memunculkannya tiga kali, hari yang santai tidak memunculkannya sama sekali.
Saya tulis ini sebagai tips pribadi untuk menganalisa kecocokan pola, bukan sebagai bukti. Karena tetangga saya tidak mencatat apa yang sedang dia kerjakan di jam-jam itu.
Arah yang semakin mengerucut
Kalau arti kode bluescreen tadi dikumpulkan jadi satu, bentuknya mulai kelihatan. Saya pakai kalimat dari Microsoft sendiri.
- 0x00000139: inti sistem mendeteksi rusaknya struktur data penting, dan parameternya menyebut satu jenis simpul penyimpanan tertentu
- 0x0000001a: sebuah PTE ditemukan rusak
- 0x0000003b: pelanggaran akses memori, yang salah satu sebabnya struktur data rusak
- 0x0000000a: alamat tidak sah disentuh, dan parameternya condong ke penunjuk alamat kosong
Inilah pola yang menurut saya harus fokus diperhatikan. Bukan satu kode yang berulang, melainkan banyak kode berbeda yang semuanya mengeluh tentang hal yang sama, yaitu isi memori yang tidak lagi sesuai, dan tidak satu pun menyebut nama driver pihak ketiga. Di sini yang terjadi justru empat kode berbeda dari empat bagian Windows yang berbeda, seolah masing-masing menemukan masalahnya sendiri di tempatnya masing-masing.
Pola ini lebih cocok dengan sesuatu yang merusak isi memori tanpa pandang bulu, siapa pun yang sedang memakainya saat itu. Hal ini mempersempit arah ke area RAM, tapi juga tidak langsung membuktikan bahwa keping RAM pada laptop tetangga saya rusak.
Empat kode tersebut hanya menunjukkan isi memori ditemukan tidak sesuai. Penyebabnya bisa berbagai macam:
1. Mulai dari keping RAM yang memang rusak
2. Dudukan RAM yang kotor
3. Pasokan daya yang tidak stabil
4. Laptop overheat (panas berlebih)
5. Kode yang memang salah menulis.
Jadi, dengan mengetahui arti kode-kode tersebut, maka arah kerusakan bisa semakin mengerucut. Pemeriksaan bisa dilakukan lebih spesifik ke sektor yang dianggap tersangkanya. Dalam hal ini, diagnosa lanjutan untuk laptop tetangga saya akan mengarah pada lima poin penyebab di atas.