Rehber Mavi Ekran Nedir? Tarihçesi ve Dosya Analizi'ne Giriş

Technopat

Yetkili Hesap
Katılım
25 Aralık 2018
Mesajlar
805
Makaleler
17
Çözümler
74
Merhaba değerli üyelerimiz, bu yazımızda sizlere Windows kullanan herkesin başına en az bir kere gelmiş; en az 1 kez de olsa tanıştığımız üzgün mavi suratı, Mavi Ekran'ın ne olduğunu, oluşma nedenlerini ve çözümü için izlenebilecek adımları anlatacağız. Rehberimiz çok uzun ve kapsayıcı olduğundan dolayı; bu kısımda sizlere Mavi Ekran ve tarihçesinden bahsedecek ve ek olarak ise WinDbg ile dosya analizine giriş yapacağız.

Dosya Analizi, Destekleyici Adımlar ve Sık Karşılaşılan Hatalar rehberimizin ikinci kısmında yer alacaktır.
1771104591513.png


Yazar Notu: 5 senedir Mavi Ekran Hata Analizi kategorisinde destek sağlayan bir üye olarak açıkçası bu tarzda bir rehber hazırlamayı uzun süredir aklımdan geçiriyordum. Ne mutlu ki; moderatörlük yaptığım esnada, Technopat adına bu rehberi yazabiliyor olmak nasip oldu. Ülkemizde bu konuda yeterli bir kaynak göremediğimden bu konuda bir katkı sağlamak istedim.

Sizleri daha fazla bekletmeden; Mavi Ekran ve Mavi Ekran'ın biraz tarihçesinden bahsederek yazımıza başlayalım.




Mavi Ekran yani Blue Screen of Death nedir?

İşletim sistemleri; donanımlar ve yazılımlar arasında iletişim sağlayan, kullanıcıya kullanım kolaylığı sağlamak için GUI sunan, kaynak yönetimi gerçekleştiren programlar bütünüdür. Windows; Microsoft'un 1985 yılında piyasaya sürdüğü işletim sistemidir.

Başlarda Microsoft Disk Operating System yani MS-DOS tabanına dayalı iken 1993 itibariyle NT çekirdeğine dayalı olarak geliştirilmiş ve geliştirilmeye devam etmektedir. MS-DOS tabanlı da olsa NT tabanlı da olsa; Windows, sistem bütünlüğünün etkilendiği/etkilenebileceği durumlara karşı, bütünlüğü korumak adına mavi renkli bir fontta, kullanıcıya hata ile alakalı anekdotlar verebilecek bir ekran çıkartır. Bu ekrana tam terim adıyla Blue Screen of Death yani Ölümün Mavi Ekranı denir. Blue Screen, BSoD, Blue Screen Error, Fatal Error, Bugcheck gibi diğer adlarla da bilinir, karşımıza çıkar.

Microsoft tarafından resmi olarak Stop Error olarak adlandırılır.

Piyasaya çıkan ilk sürümlerden olan Windows 1.01'den itibaren Mavi Ekran, Windows kullanıcıların karşısına çıkmaktadır. Windows 1.01 ve Windows 2.03 gibi sürümlerde kullanılan Mavi Ekran'ın en öne çıkan özelliği; karakterlerin hiçbir şekilde anlam içermemesi, bozuk olarak görünmesidir.

Kullanıcılara, bu sürümlerde hata alındığında beliren mavi ekranlarda mojibake adı verilen bir metin gösterilir.
  • Mojibake; Japonca'da "Karakter Dönüşümü" anlamına gelen, gerçek anlamda ise bir metnin şifrelenmesi için istenmeyen bir şifreleme metodu kullanılması nedeniyle çözümleme esnasında ortaya çıkan bozuk, anlamsız ifadeler bütünü demektir.
1771104833310.png


Görselde, Mojibake metin içeren MS-DOS mavi ekranı görülebilmektedir. (Windows 2.03 sürümü.)

Windows 3.0 sürümünde; önemli hata mesajlarını belirtmek için text-düzey ekranları kullanılmıştır.

İlerleyen MS-DOS ve NT tabanlı Windows sürümlerinde Mojibake görüntüleri kaldırılmıştır. Kullanıcıya daha isabetli ve anlamlı bilgi verebilmek amacıyla, hata detaylarının daha sık belirtildiği bir bilgi ekranı kullanıma geçirilmiştir.




Mavi Ekran Yavaş Yavaş Şekilleniyor:

Bildiğimiz anlamıyla hataya dair detayları kullanıcıya sunan ilk Windows sürümü, NT 3.1'dir. NT 3.1 sonrasında piyasaya çıkan sürümlerde, bunun üstüne koyularak ilerlenmiştir.

1771104944943.png


Görselde, Windows NT 3.1 sürümüne ait BSoD gösterilmiştir.

.sys dosyaları, .dll dosyaları gibi sistem bileşenleri; hata ekranında yer almaya başlamış olup eski sürümlerdeki anlam karmaşası giderilmiştir.

Windows XP Mavi Ekranı:

1771104960571.png



Vista ve Windows 7 sürümlerinde de benzer fontta bir mavi ekran kullanılmıştır.

Ek bir bilgi: Vista'nın geliştirildiği esnada yayımlanan Longhorn Build 5048'de, Windows Boot Manager'da hata oluştuğu esnada kullanıcıların karşısına kırmızı bir hata ekranı çıkartılmıştır. Red Screen of Death diyebileceğimiz bu ekran, çok kısa süreli olarak yer edinmiştir. Sonraki Longhorn sürümlerinde bu hata ekranı kullanılmamıştır.

Longhorn Build 5048, Red Screen of Death:

1771104979177.png


Execution yerine "exectuion" yazan bu ekran, sonraki Longhorn Build sürümlerinde düzeltilmiştir.




Mavi, Üzgün Surat:

Birçok Windows kullanıcısının aşina olduğu mavi fontta üzgün bir suratın gösterildiği hata ekranı; Windows 8 RTM sürümünden itibaren çıkan tüm Windows sürümlerinde kullanılmıştır.

Emoticon yani Emoji Icon adı verilen bir karakter, beyaz renkte ve mavi renkli bir fontta kullanılarak kullanıcıların aşina olduğu Mavi Ekran oluşturulmuştur.

1771105034890.png


Görselde, Windows 8 RTM sürümünde kullanıcılara sunulan ekran gösterilmektedir.

  • Windows 10 RTM sürümünde (v1511) de başlangıçta bu ekran kullanılmış olsa da bazı ufak değişiklikler sonrasında, Windows 10 hata ekranı son halini almıştır.

Windows 10 v1607-1609 sürümlerinde QR kod eklenmiştir.

1771105067024.png


Windows 10'un 2004 sürümünde ise "Your PC" ifadesi "Your device" ile değiştirilmiştir. Bu haliyle, Windows 10'da kullanılan mavi ekran son şeklini almıştır.

  • Windows 11'de de bu ekran tipi aynen kullanıma devam etmiştir. Windows 11'in 22000.51–22000.346 sürümlerinde Windows 10'da kullanılan Mavi Ekran renk fontunun sadece siyah ile değiştirilmiş hali kullanılmıştır.
1771105083105.png


Ancak alışkın olduğumuz mavi ekran fontu, 24H2 sürümüne kadar kullanılmaya devam edecek ve sonrasında kullanıcılara veda edecekti.



Mavi Ekran Emekli Oluyor:

Microsoft, Windows 11'in 24H2 sürümünde alışık olduğumuz mavi ekran tipini, düz siyah bir fontla değiştirdi. Bu değişikliğin; ek detayları kaldırarak debugging sürecini kolaylaştırmak, sıradan kullanıcılar ve IT profesyonellerinin daha isabetli çözümler sunmak amacıyla gerçekleştirildiği belirtildi.

Bu durum, Black Screen of Death yani Ölümün Siyah Ekranı (BkSoD) teriminin doğmasını sağlamış oldu.
  • Not: Black Screen of Death, birçok işletim sistemi için kullanılabilen ortak bir terim olsa da Windows bazında Mavi Ekran'ın emekli edilmesi ile yerini bu kavram aldığından bu yönde bir telkinde bulunulmuştur.
1771105209554.png


Mavi ekranın ne olduğunu ve tarihi gelişimini sizlere izah ettik. Yazının başında sizlere ifade ettiğimiz üzere, ilk rehberde sadece tarihçe ve WinDbg ile Analize Giriş şeklinde ilerleyeceğiz.
Hazırsanız; Mavi Ekran Hata Analizi'nin derinliklerine inmeye, yol haritamızı çizmeye başlıyoruz.




Mavi Ekran Nasıl Analiz Edilir?
Mavi Ekran hatalarının analiz edilebilmesi adına belirli programlar kullanılır ve yönergeler takip edilir. Bazı senaryolarda hata dökümü oluşurken bazılarında ise döküm oluşmamaktadır. Her iki durumda da alınan hataları çözüme kavuşturabilmek mümkündür.

  • Hata Dökümlerinin Olduğu Senaryolar.
  • Hata Dökümlerinin Olmadığı Senaryolar.
İki ana bölüm halinde rehberimizi ayıracağız. Hata Dökümü Olan Senaryolar kısmına giriş yapacağız.
Öncelikle Minidump kavramının ne olduğunu anlamalıyız.
Mavi Ekran hatası alındığında; hataya dair bilgiler RAM belleğe kaydedilir ve bilgisayar tekrar başlatıldığında depolama birimine aktarılır. Bu dosyalara Minidump, uzantısına ise .dmp denir.

Başarılı şekilde alınan döküm kayıtları yani Minidump dosyaları; belirli programlar vasıtasıyla açılarak hata sebebi anlaşılabilir.

Bu amaç için kullanılan başlıca programlar aşağıdaki gibidir:

  1. WinDbg.
  2. BlueScreenView.
  3. WhoCrashed.
Not: WinDbg, bu konuda en isabetli sonuçları verdiği ve forumumuzda da Mavi Ekran Hata Analizi yapılırken en sık kullanılan program olduğu için WinDbg üzerinden analiz anlatımı gerçekleştirilecektir.

WinDbg Nedir?

WinDbg; Microsoft tarafından geliştirilen, hata dökümlerinin analizinin yanında yazılan kodlardaki hataların bulunup derlenmesini sağlayan bir yazılımdır. Bu yazılım özelinde, Mavi Ekran Analizi hakkında bilgi verilecektir.

Technopat Sosyal'e yüklenen indirme linkiyle programı indirebilirsiniz.


WinDbg kurulduktan sonra karşınıza aşağıda gösterildiği şekilde ana ekran çıkmaktadır:

1771105509885.png


  • Programın üst tarafında yer alan File yani Dosya bölümünde aşağıda gösterildiği şekilde bazı sekmeler bulunmaktadır:

1771105531418.png


  1. Open Source File seçeneği; derlediğiniz kod içeriklerini barındıran dosyaları program üzerinde açmanıza olanak sağlar. C, C++, C#, JavaScript ve Rust dillerinin dosya uzantılarına izin verir.
  2. Connect to Remote Debugger seçeneği, uzaktan erişimle hata ayıklama işlemi gerçekleştirilmesini sağlar.
  3. Connect to Process Server seçeneği, uzaktan erişimle hata ayıklama işlemi için gereken bağlantının kurulmasını sağlar.

Ana ekrandaki View yani Görüntüleme seçeneği; hata dökümü açıldığında çeşitli verilerin okunması konusunda olanak sağlar.

Disassembly menüsü; bellekteki bir bölümün alınıp makine koduna dönüştürülmesini, makine komutları olarak birleştirilmesini sağlar.

Stack kısmında, bellekteki veri yığınlarını görebilir ve hata nedenine dair bir veri elde edebilirsiniz.

1771105547000.png


Görseldeki stack incelendiğinde vgk.sys dosyasının yüklenemediğini görebiliyoruz. Buradan da hatanın aslında Vanguard kaynaklı oluştuğunu gözlemleyebiliyoruz. Ancak her zaman Stack kısmında yeterli bilgiyi edinemediğimizden, sonraki adımları takip etmemiz gerekmektedir.


Dosya Analizine Giriş:

WinDbg programında hata dökümünün analizini gerçekleştirmek adına !analyze -v komutu kullanılır.
Analizlere her zaman !analyze -v komutu kullanılarak başlanır.

1771105615166.png


Mavi renkli olarak döküm üzerinde belirtilir. Üstüne tıkladığınızda dosyanın analiz işlemi başlatılmış olur.

Dosya analizi başlatıldığında hata adı yani Bugcheck, ilk beliren parametredir.
1771105629080.png

Alınan hatanın adını DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS olarak gözlemliyoruz.

Hataya dair açıklamanın altında yer alan Argümanlar yani Arg değerleri, hataya dair kısa ancak nitelikli bilgiler verebilmektedir.

Ancak her Bugcheck özelinde, Arg değerleri yeterli bilgi sağlamayabilir. Bazı hatalar özelinde Arg değerleri, hata çözümünde en kritik rolü oynamaktadır.

Örnek:

DRIVER_POWER_STATE_FAILURE. (0x9F. Arg1, Arg4 değerleri büyük önem arz eder.)
MEMORY_MANAGEMENT. (Arg1 değeri hatanın nerede oluştuğuna, türüne yönelik bilgi verebilir.)


  • Debugging Details yani Hata Ayıklama Detayları bölümünde, bazı konularda bilgi edinilebilecek ek detaylar gösterilir.
1771105642897.png



Buradaki detaylar, hatanın adına göre değişebilmektedir.

  • Bazı hata dökümlerinde mevcutken bazı dökümlerde mevcut olmayan bir bölüm mevcuttur.

1771105657717.png


  • BSD; Boot Status Data yani Önyükleme Durumu Verisi anlamına gelir. Çekirdek-düzey dökümündeki geçici (cache) veriden elde edilen bu bilgi, hata alındığı esnada kaydedilir. Ancak her dökümde bulunmayabilir.
  • blackboxpnp'de ise hata esnasında döküme kaydedilen aygıt bilgisi tutulur. Ancak her dökümde bulunmayabilir.
  • blackboxwinlogon ise Winlogon süreciyle alakalı bilgi tutar.
Stack Text kısmında, hataya dair olarak RAM bellekteki yığın bellek yani stack'te tutulan bilgilere erişilebilmektedir.

1771105671602.png



Son kısımda ise hataya sebep olan unsurun adı (.sys, .dll, .exe uzantılı); işletim sistemi bilgisi, modül ismi gibi bilgiler yer alır.

1771105686547.png



Valorant'ın Anti-Cheat motoru olan Vanguard'a ait vgk.sys sürücüsünün yüklenemediğini, hatanın bu sebeple oluştuğunu görebiliyoruz.
Kod:
0xCE_vgk.sys!Unloaded

Dipnot: !analyze -f komutu ile özet niteliğinde bir hata döküm çıktısı alınabilmektedir.

1771105726913.png


Komut girildiğinde alınan çıktı yukarıdaki gibidir.,




Dosya Analizi'nin nasıl yapılacağına dair ön bilgilendirme olarak nitelendirebileceğimiz Dosya Analizine Giriş bölümünü de bitirerek rehberimizin ilk kısmını tamamlamış olduk. İkinci rehber; Kullanılan Komutlar'dan Döküm Okuma'ya, hata analizi esnasında takip edilmesi gereken Destekleyici Adımlar'a kadar çok çeşitli ve önemli bilgiler içeriyor.

Asıl analiz kısmı, ikinci bölümde izah edilecektir. ANALİZ


Bu rehber @KojiroHyuga04 tarafından hazırlanmıştır.
 
Son düzenleyen: Moderatör:
Mükemmel bir rehber olmuş. Ellerinize sağlık hocam. 💛
 
Müthiş rehber. Emeğinize sağlık.
 
Özellikle dosya analizi kısmı çok iyi olmuş. WinDbg kısmını özellikle okudum.
 
Özellikle dosya analizi kısmı çok iyi olmuş. WinDbg kısmını özellikle okudum.
Asıl analizin olduğu rehber, yarım saat içerisinde yayında olacak.
Bomba rehber o diyebilirim.

Normalde tek parça halinde yayınlayacaktım ancak teknik aksalıklar oluştu hocam. Bu sebeple iki bölüme ayırdım.

Yorumunuz için çok teşekkür ederim.
 
Elinize sağlık hocam, çokça emek verdiğiniz belli oluyor. İkinci rehber yayınlandığında onu da tamamiyle okumaya çalışacağım inşallah.
Yayınlandı, okuyabilirsiniz :)

 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı