Hakkında Künye

Mac De Olsa Bilgisayar İşte, Çöker!

Yine "Alo e-bergi, imdat bilgisayarim bozuldu!" hattından bütün okuyucularımıza güzel bir ay dileyerek başlamak istiyorum yazıma. Hatırlarsanız taa Eylül 2009 sayımızda, Mavi Ekranlarla Savaş adlı yazımızda Windows İşletim Sistemi yüklü bir bilgisayar çökerse yapabileceğimiz bazı müdahelelerden ve nasıl geri dönüş yolları deneyebileceğimizden bahsetmiştik. Şimdi ise mavi ekranlarla değil, gri ekranlarla savaşacağız :) Göreceli olarak diğer işletim sistemlerine göre az, Windows'a göre ise yok varsayılabilecek kadar az 'çöken' Mac OS işletim sistemi Unix bazlı bir sistem olup, kendisini istediğiniz gibi mıncıklamanıza izin veren bir sistemdir. Standartları ve donanımıyla spesifik entegrasyonu yüzünden açık kaynak kodlu yazılımı savunan kesimler tarafından yine fazla sevilmese de, Windows türevleri kadar nefret edilmemektedir, çünkü en azından sürümleri stabildir, kötü amaçlı yazılımlara karşı kendinden korumalıdır :) ve uygulamaların ve sistemin  tartışmasız hem donanımsal hem de görsel dizaynıyla herkesin aklını çelmesi kaçınılmazdır.

Peki madem bu kadar övdüm, neden 'bir gün olur da Mac'iniz çökerse...' diye yazı yazıyorum? Çünkü bu durum gerçekten nadir karşılaşılan bir durum ve bu konuda Türkçe kaynak bulmak kadar İngilizce kaynak bulmak da zor. Eğer bir gün soldaki ekranla karşı karşıya kalırsanız ve google'a 'Mac OS unable to boot' diye sormak dışında elinizden hiçbir şey gelmiyorsa, hoşgeldiniz, e-bergi sizlerle...

Bu Üzgün Elmayı Görmek İstemiyorum!

elma
Başlatılamayan Mac

Evet uzun süredir kapatmadığınız Mac'inizi aylar sonra bir kapatıp açma ihtiyacı hissettiniz. Kapanmada sorun yok, ancak açtığınız anda yukarıdaki gibi başlangıç ekranıyla kalakaldınız: açılma devam etmiyor! Bu durumda öncelikle panik yapmayın, muhtemelen diskinize bir şey olmamıştır ve işletim sistemini yeniden yüklemek zorunda kalsanız bile verilerinizi aynen kurtarabilirsiniz. Bu durumla karşılaşmanızın nedeni birçok şey olabilir; diskin bir bölümündeki bir hasar, başlangıçta açılmaya çalışan ama sistemi tıkayan iyi veya kötü niyetli bir program, eksik veya izinleri değiştirilmiş sistem dosyaları, değiştirilmiş boot partition'ı... Bizim inceleyeceğimiz durum çoğunu kapsamakla birlikte eksik sistem dosyası olacak, ancak anlatacağım yöntemlerin hepsi diğer durumlarda da işe yarayan veya en azından sizi sorun hakkında bilgilendiren yöntemler olacak. Gelelim böyle bir durumda deneyeceğiniz çözüm önerilerine.

Oturumu Güvenli Modda Açmak

Hani diğer işletim sistemlerinin 'Güvenli Modda Aç' diye bir seçeneği vardır açılırken, eğer bir Mac kullanıcısıysanız bilgisayar açılırken böyle seçenektir, moddur, aman bilmemne ekranıdır, uğraşmayacağınızı bilirsiniz :) Ancak basit kullanıcının 'renksiz' bölümle minimum karşılaşmasını sağlayan Mac OS X, bulunduğunuz noktada size aslında iyilik değil, kötülük yapıyor. Çünkü değişik modlarda açabilmenizin tek yolu klavye kısayollarından geçiyor. (Hatta apple klavyeniz yoksa klavye interrupt'ı gönderememeniz bile mümkün, o yüzden apple klavyeniz olduğunu varsayarak devam ediyorum). Oturumu güvenli modda açmak için bilgisayarın açılma sesini duyar duymaz Shift tuşuna basıp, 'Safe Mode' ibaresini görene kadar elinizi kaldırmamanız gerekiyor. Biraz zaman geçecek, bekleyin. Eğer güvenli modda açılıyorsa, merak etmeyin çok ufak bir sorundur ve sistem kendi kendine halledecektir. Düzgünce kapatıp tekrar başlattığınızda elmanın yerini masaüstüne bırakması gerekir.

Yükleme Diskinden Başlatmak

diskutil
Yükleme CD'sinden Başlatınca..

Güvenli kipte açamadıysanız, hala aynı üzgün elmayla karşı karşıyaysanız, biryerlerden Mac'iniz ile birlikte gelen yükleme cd'sini bulmaya çalışın, muhtemelen atmamışsınızdır. Diski yerleştirin ve yuttuktan sonra bilgisayarı zorla kapatın (güç düğmesin basılı tutun). Daha sonra aynı demin yaptığınız zamanlamada, bu sefer C tuşuna basılı tutun. Yine biraz zaman alacak, elinizi çekmeden ekran mavileşinceye kadar bırakmayın. Ekranda o pembeliği gördüğünüzde yüzünüzdeki mutluluğu tahmin edebiliyorum :) Ancak daha hiçbir sey olmadı, bu sadece bilgisayarı cd'den açabildiğinizi gösteriyor. Gelen ekrandan dil seçeneğinizi yaptıktan sonra, sakın yüklemeyi seçmeyin. Önce yukarıda 'Mac OS X Installer' yazan yerin yanında bulacağınız 'Utilities' sekmesindekileri deneyeceğiz :)

Yandaki resimde de  göreceğiniz listeden,  'Startup Disc' sisteminizi başka bir bölmeden başlatmanıza yarıyor. Bu sekmeyi seçtiğinizde karşınıza hard diskiniz, bu cd, eğer bağlı herhangibir çevresel cihaz varsa bu cihazlar ve network çıkacak. Boot sektöründe hata olduğunu düşünüyorsanız ve çevresel cihazlarınızda bunu yenileyebilecek bir dosya varsa bu sekme ile o cihazdan boot etmeyi deneyebilirsiniz. Bunun altındaki iki sekme genelde login olmadığınızda başvuracağınız seçenekler, şifrenizi unutursanız deneyebilirsiniz, bunları geçiyorum. 'Disk Utility' ise bu cd'de bulabileceğiniz belki de en işe yarar şey. Buradan sisteme bağlı depolama aygıtlarını gorebilir, bunları bağlayabilir ya da çıkarabilirsiniz. Dahası, ve kullanacağımız özelliği, disk tamirini de buradan gerçekleştiriyoruz. Öncelikle birincil diskinizi seçin ve 'Repair Disc' diyin. Eğer işlem sonucunda,

***** The volume (diskinizin adi, muhtemelen 'Macintosh HD') appears to be OK. *****

şeklinde bir yazı görüyorsanız sevinebilirsiniz, sorun her neyse diskiniz zarar görmemiş. Bu işlem sonucunda başka bir sonuçla karşılaştıysanız bile, büyük ihtimalle disk yöneticisi bunu tamir etmiştir, etmemişse yolumuza devam edeceğiz.

Yine Disk Utility ile çözebileceğimiz başka bir sorun da, sistem dosyalarının veya bilgisayar açılırken kullanılan kütüphanelerin izinlerinin değiştirilmiş olması. Bunun için de hemen yanında bulunan 'Repair Disc Permissions' diyoruz ve yine bekliyoruz. Bu ekranda sonuç olarak değişmiş veya yetersiz görünen her izin bizim boot problemimizle ilgili olmayabilir, o yüzden çözdük diye hemen sevinmememiz gerekiyor. Çünkü tamir ettiği şeyler sorunumuzun kaynağı olmayabilir, yine de olması gereken izinlerle kullanmak en yararlısı tabi. Disk Utility'nin süper bir özelliği ise, bu aşamada diskinizin görüntüsünü sıkıştırıp kaydetmenize izin veriyor olması. Bir daha ulaşıp ulaşamadığınız bilgileriniz, Repair dedikten sonra disk de sağlam çıktıysa, yedeklenmek için sizi bekliyor demektir! Yukarıdaki 'New Disc Image' ile bu görüntüyü hazırlayıp istediğiniz yere kaydedebilirsiniz. Eğer bunun için bir harici disk kullanıyorsanız göreceksiniz ki o da depolama aygıtları listesinde yerini almış. Yedekledikten sonra, yine hiçbir tuşa basmadan yeniden başlatmayı deneyebilirsiniz, hala gri ekranla karşı karşıyaysanız yolumuza devam ediyoruz.

Bazılarınız grafik arayüzünde rahat edemeyecek kadar geek olabilir, bu yüzden hemen daha kullanışlı bir yöntem daha öneriyorum. Disk Utility'nin hemen alt sekmesinde biricik dostumuz terminale kavuşabiliyoruz. Açıkçası ben yedekleme işlemimi buradan yaptım, MacOS X dosya sistemine göre harddiskiniz '/Volumes/(harddisk adı)' klasorünün altında olacaktır, oraya istediğiniz gibi kopyalayabilirsiniz verilerinizi. Birazdan diğer modlarda komut satırından yapılacağını belirttiğim her yolu da yine buradan deneyebilirsiniz.

Son sekmemiz olan System Profiler ise sisteminizin donanımsal özelliklerini görmenize yardımcı olur. Buradan hangi aygıtların tanındığını kontrol edebilir, özelliklerini görebilirsiniz. Donanımsal bir hata olursa da buradan edineceğiniz bilgilerle hatanın kaynağına erişebilirsiniz. Şimdi dilerseniz biraz da sistem diskiniz olmadan yapabileceklerinize değineyim.

Bellek Ayarlarını Sıfırlamak

Hala sorununuz çözülmediyse maceramıza devam ediyoruz. Bu sefer de sorunun RAM ayarlarınızda oluşmuş, olası hatalardan kaynaklandığını farz ederek PRAM (parameter random access memory) ve NVRAM (nonvolatile random access memory) ayarlarını sıfırlayacağız. Belleğin bu bölümleri sistem ayarlarını taşımakta olup, sistem ayarlarına döndürülse de bilgi kaybına yol açmazlar. Çift tıklama süresi, alarm ayarları, hoperlör sesi, önbellek gibi bilgiler PRAM'in içeriğinin birkaç öğesi olarak sayabiliriz. 

Bu yöntem içinse biraz daha karışık bir kombinasyon uygulayacağız. Bilgisayarı kapatmadan önce 'Command', 'Optıon', 'P' ve 'R' tuşlarının yerlerini belirleyin. Bilgisayarı yeniden başlatın ve açılır açılmaz, henüz gri ekran gelmeden, bu dördüne birden basılı tutun. Bilgisayar yeniden başlayana kadar elinizi çekmeyin ve yeniden açıldığında göreceksiniz ki ekranınızın parlaklığı değişmiş. Bu başarılı bir şekilde sıfırlayabildiğiniz anlamına geliyor. Ekranınız daha parlak/sönük olmasına rağmen hala üzgün elmayı aşamadıysanız bir sonraki bölüme devam edelim.

Tek Kullanıcılı Modda Açmak

Yine bilgisayarınızı başlattıktan hemen sonra, bu sefer 'Command' ve 'S' tuşlarına basılı tutuyoruz. Bilgisayar grafik arayüzünden değişip de komut satırından açılıyorsa tek kullanıcılı modda (Single User Mode) açabilmişiz demektir. Başka bir tek kullanıcılı modda açma yolu ise komut satırından (terminalden) aşağıdaki satırı yazarak sistemin açılış şeklini değiştirmek ve tekrar başlatmak.

sudo nvram boot-args="-x"

İki yoldan biri sayesinde single mode'da açtıktan sonra burada yapabileceklerimiz yükleme cd'sindeki terminalden yapabileceklerimize benziyor. Mesela Disk Utility'deki yöntemin bir benzerini sergileyen 'fsck' komutunu uygulayıp diskinizi kontrol edebilirsiniz. Bunun için;

/sbin/fsck –fy

yapmanız diskinizi kontrol etmeye yeterli. Komutun sonucunda yine Disk Utility'nin verdiği şekilde bir mesaj alıyorsanız sorun yok demektir, ancak

***** FILE SYSTEM WAS MODIFIED *****

şeklinde bir mesaj veriyorsa harddiskinizde bir sorun var demektir. Tamir etmek için bu mesajı görmeyene kadar 'fsck' komutunu tekrarlayabilirsiniz; ama beş veya daha sonrasında hala aynı uyarıyı alıyorsanız diskiniz kalıcı bir zarar görmüş olabilir. Bu durumda maalesef fazla bir çözüm önerisi sunamıyoruz, donanımsal hatalardan geri dönmek çok daha zor bir durum.

Ayrıntılı Modda Açmak

crashreport
Örnek crash report

Bilgisayarımızın hala neden inatla açılmadığını çözebilmemiz için kullanacağımız son yöntemlerden biri ise verbose mode'a başvurmak. Ayrıntılı modda açtığımızda sistemin nerede tıkandığını ve neden açılmadığını görebilmemiz mümkün, çünkü o eski PC'lerin açılması gibi, verbose modda açtığımızda sistemin geçtiği evrelerini ve durum raporlarını görebiliyoruz. Çok uzaklaşmamıza rağmen en başta bahsettiğimiz esas sorunumuza geri dönelim: eksik veya değişmiş sistem dosyası. Fakat unutmayın ki sorunun bu olduğunu bilmiyoruz ve hala araştırıyoruz. Bilgisayarı tekrar başlattınız ve bu sefer de diğerleriyle aynı şekilde 'Command' ve 'V' tuşlarına basılı tuttunuz. Yine klavye dürtülerinden yoksun bir bilgisayarda iseniz, aşağıdaki satırı yazıp tekrar başlattığınızda ayrıntılı modda açabilirsiniz.

sudo nvram boot-args="-v"

Verbose mode'da açtığımızda gri ekranın arkasında çalışan programları görebildiğimizi fark edeceksiniz. Şekilde görüldüğü üzere programların düzgün mesajları veya hata iletileri ile dolu bir ekran bekliyor sizi, bunları anlamak için de biraz araştırmanız yeterli. Ele aldığımız örnek vakadan yola çıkarsak, ekranda bir döngü halinde gelen şunun gibi bir çıktı görmeniz lazım:

loginwindow[23]: USER_PROCESS: 23 console
com.apple.launchd[1] (com.apple.UserEventAgent-LoginWindow[86]): Exited: Terminated
ReportCrash[106]: Formulating crash report for process lsregister[104]
ReportCrash[106]: Saved crashreport to /Library/Logs/CrashReporter/lsregister_timestamp.crash using uid: 0 gid: 0, euid: 0 egid: 0
kernel[0]: SetCryptoKey R: len 32, idx 1
ReportCrash[111]: Formulating crash report for process ReportCrash[105]
ReportCrash[111]: Saved crashreport to /Users/userid/Library/Logs/CrashReporter/ReportCrash_timestamp.crash using uid: uid gid: gid, euid: uid egid: gid
com.apple.launchd[92] (com.apple.ReportCrash[105]): Exited abnormally: Bus error
ReportCrash[112]: Too many crashes in rapid succession! No crash report being written for pid 113
com.apple.launchd[1] (com.apple.UserNotificationCenter[113]): Exited abnormally: Segmentation fault
com.apple.launchd[1] (com.apple.UserNotificationCenter): Throttling respawn: Will start in 10 seconds
ReportCrash[112]: Too many crashes in rapid succession! No crash report being written for pid 114

Kısaca burada sorunun kaynağı belirtiliyor ve çökme nedenini bildiren raporlar hazırlanıyor. Dikkatli bir şekilde baktığımızda bu raporun nerede olduğunu görebilir ve terminalde o raporu okuyabiliriz. Bu raporların yapısı ve özellikleri kendi başına bir yazı olabilir, ancak kısaca hangi dosyanın eksik olduğunu oradan görebilirsiniz, process adını oradan öğrenebilir ve neden sistemin önyükleme aşamasında takılı kaldığını bulabilirsiniz.

Son Adım, Yaramaz Dosyayı Yerine Koyalım

İncelediğimiz durumda verbose modda açabildikten sonra incelediğimiz ekran çıktısında bizi sistem kayıtlarına yönlendirdi. Burada da eksik sistem dosyasının adını bulduk, ve diyelim ki bu dosyayı bir şekilde internetten veya yükleme diskinde bulduk. Şimdi yapacağımız tek şey bu dosyayı veya framework'ü yerine koymak. Bunun için eğer dosya yükleme cd'sinde ise cd'den boot ederek terminal açmamız lazım; başka bir yerde ise de single user mode veya verbose mode kullanarak komut satırına düşmemiz gerek. Muhtemelen iki durumda da başka şekilde boot ettiğimiz için harddiskimizi ya bağlamamış olacak, ya da sadece okunur açmış olacak. Bunun için önce diskimizin adini öğreniyoruz, sonra da bağlıyoruz.

csdhcp-110-111:~ ilke$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *232.9 Gi   disk0
   1:                        EFI                         200.0 Mi   disk0s1
   2:                  Apple_HFS Macintosh HD            232.6 Gi   disk0s2
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *60.0 Mi    disk3
   1:        Apple_partition_map                         31.5 Ki    disk3s1
   2:                  Apple_HFS TNGViewer (Intel)       60.0 Mi    disk3s2
csdhcp-110-111:~ ilke$ mkdir /Volumes/(hard disk adı)
csdhcp-110-111:~ ilke$ sudo mount -t hfs -o rdonly /dev/disk0 /Volumes/(hard disk adı)

Daha sonra sistem dosyası harddiskinizde nerede olmalı ise (ki bu bilgiyi kayıtlardan almıştık) oraya kopyalamanız yeterli. Ufak bir not, genelde sistemle ilgili framework kayıpsa olması gereken klasör '/System/Library/PrivateFrameworks' olmalıdır, tabi sürümden sürüme sistemden sisteme değişebilir. Dosyayı yerine koyduktan sonra, son kez sistemi yeniden başlatıyoruz ve bilgisayarımıza kavuşuyoruz. Yukarıdaki çözüm önerilerinin hiçbiri işe yaramadıysa ve gri ekran döngüsüne devam ediyorsa support.apple sayfalarından yararlanmanızı öneririm, tabi yine de en en son çare yetkili servis olabilir..

Yararlı ve dergimizin Türkçe kaynak sağlama amacına yakışan bir yazı olduğuna inanıyorum, nitekim bütün bu çözümleri bir arada öneren yabancı kaynak sayısı da çok az. Umarım bu yazıyı okumanız hiç gerekmez ve Mac'inizle gri ekranlardan uzak bir ilişkiniz olur :) Gelecek ay yine dopdolu bir içerikle e-bergimizde görüşmek üzere sevgili okurlarımız.

Kaynaklar:

İlke Demir
- 7 -