Hızlı cevap: ddrescue (GNU ddrescue), arızalı ya da bozuk sektörlü bir diskten veri kurtarmaya uygun biçimde imaj almak için kullanılan ücretsiz ve açık kaynak bir Linux aracıdır. Klasik dd komutundan farkı hayati önemdedir: bir sektör okunamadığında ddrescue durmaz, o sektörü atlar, önce kolay okunan tüm alanları hızla kopyalar, sonra zor alanlara birden çok denemeyle geri döner. Bu strateji, ölmekte olan bir diskten en fazla veriyi en az zorlanmayla çeker. En kritik kural şudur: ddrescue mutlaka bir eşleştirme (map) dosyası ile çalıştırılmalıdır; bu dosya nerede kalındığını kaydeder, böylece işlem durup devam ettirilebilir ve okunamayan bölgeler tekrar denenebilir. Arızalı diski asla doğrudan kullanmayın, önce imajını alın, sonra imaj üzerinde çalışın.

Bir diskiniz tıkırdıyor, okunamıyor ya da bölümü kayboldu. İlk içgüdü onu bilgisayara takıp dosyaları kopyalamaya çalışmaktır. Bu, veri kurtarmada yapılabilecek en tehlikeli hatadır: arızalı bir disk her okuma denemesinde biraz daha ölür. Doğru yaklaşım, diski hiç yormadan önce bir imajını almak ve tüm çalışmayı o imaj üzerinde yapmaktır. ddrescue tam olarak bunun için tasarlandı. Bu yazı, ddrescue'nun nasıl çalıştığını ve doğru kullanımını anlatıyor.

Neden dd değil ddrescue

İkisi de disk imajı alır ama tamamen farklı davranır ve bu fark, arızalı bir diskte her şeyi belirler.

dd basittir: baştan sona okur, bir sektörü okuyamazsa ya durur ya hata verir. Sağlıklı bir diskte iyidir ama arızalı bir diskte, tıkanan ilk kötü sektörde takılır ve okunabilir geri kalan veriyi hiç kurtaramaz. Ayrıca kötü bir bölgede ısrarla okuma denemesi diski daha da yorar.

ddrescue akıllıdır. Stratejisi şudur:

  1. Önce kolay veriyi al. Okunabilen tüm alanları hızla kopyalar, kötü sektörlerde takılmaz, atlar.
  2. Sonra zora dön. Kolay veri bittikten sonra atladığı kötü bölgelere geri döner ve onları birden çok, farklı yönlerden dener.
  3. Diski koru. Amaç, en değerli veriyi disk tamamen ölmeden önce kurtarmaktır. Kötü sektörde saatlerce ısrar etmek diski öldürebilir; ddrescue bunu akıllıca yönetir.

Kısacası: ddrescue, ölmekte olan bir hastadan önce hayati organları kurtarır, sonra zamanı kalırsa gerisine döner.

Yön dd ddrescue
Kötü sektör Takılır ya da durur Atlar, sonra tekrar dener
Okuma sırası Baştan sona düz Önce kolay, sonra zor bölge
Devam ettirme Yok Map dosyasıyla kaldığı yerden
Arızalı disk Yorar, veri kaybettirir Diski korur, en çok veriyi çeker
Uygun olduğu yer Sağlıklı disk Arızalı, bozuk sektörlü disk

Eşleştirme (map) dosyası: en kritik parça

ddrescue'nun kalbi map dosyasıdır (eski adıyla logfile). Bu dosya, diskin hangi bölgesinin okunduğunu, hangisinin atlandığını ve hangisinin kötü olduğunu kaydeder. Neden hayati:

  • Devam ettirilebilirlik. İşlem yarıda kesilirse (elektrik, çökme, diski dinlendirme), map dosyasıyla kaldığınız yerden devam edersiniz. Baştan başlamazsınız.
  • Akıllı yeniden deneme. ddrescue, yalnızca okunamayan bölgeleri tekrar dener. Zaten okunmuş veriyi tekrar okumaya diski yormaz.
  • Şeffaflık. Ne kadarının kurtarıldığını, ne kadarının hâlâ kötü olduğunu tam görürsünüz.

Kural: map dosyası olmadan ddrescue çalıştırmayın. Map dosyasız bir işlem, yarıda kalırsa her şeyi baştan yapmak zorunda kalırsınız ve bu, zaten arızalı diski öldürür.

Temel kullanım

Tipik akış iki geçişten oluşur. Hedef her zaman ayrı, sağlıklı bir disktir ve arızalı disk kaynaktır.

# Birinci geçis: kolay veriyi al, kotu sektorlerde takilma
ddrescue -n /dev/kaynak_disk /hedef/imaj.img /hedef/kurtarma.map

# Ikinci geçis: kotu bolgeleri birden fazla dene
ddrescue -r3 /dev/kaynak_disk /hedef/imaj.img /hedef/kurtarma.map
  • -n (no scrape): birinci geçişte kötü bölgeleri kazımadan atlar, hızla kolay veriyi toplar.
  • -r3: ikinci geçişte kötü sektörleri üç kez yeniden dener.
  • Üçüncü argüman (map dosyası) her zaman verilmelidir.

İmaj alındıktan sonra artık arızalı diske hiç dokunmazsınız. Tüm veri kurtarma, dosya sistemi onarımı ve dosya çıkarma işlemleri imaj üzerinde yapılır. İmaj imajının bir kopyasını alıp onun üzerinde çalışmak daha da güvenlidir.

Arızalı diskle çalışırken kurallar

  • Önce imaj, sonra her şey. Arızalı diski hiç mount etmeyin, üzerinde onarım aracı çalıştırmayın. Her doğrudan erişim veriyi tehlikeye atar. Bu ilkenin neden hayati olduğu için veri kurtarma yazılımını aynı diske çalıştırmanın tehlikesi yazımıza bakın.
  • Isıyı ve süreyi yönet. Aşırı ısınan ya da tıkırdayan bir disk fiziksel arızalıdır. ddrescue yazılımsal bir araçtır; fiziksel arızada (kafa hasarı, motor) diski çalıştırmak durumu kötüleştirir.
  • Doğru yönü seç. Bazı durumlarda diski tersten okumak (-R) daha çok veri kurtarır. ddrescue bunu destekler.
  • Yazma koruması düşün. Adli bir bağlamda, kaynağa hiç yazılmadığını garanti etmek için donanımsal bir yazma engelleyici kullanılır. Ayrıntı için write blocker nedir yazımıza bakabilirsiniz.

ddrescue nerede yetersiz kalır

ddrescue güçlüdür ama sınırları vardır ve bunları bilmek gerçekçi beklenti kurar:

  • Fiziksel arızayı çözmez. Kafası hasarlı, motoru dönmeyen ya da plakası çizilmiş bir disk, temiz oda ve özel donanım gerektirir. ddrescue böyle bir diski çalıştırırsa durumu kötüleştirebilir. Fiziksel süreç için temiz oda nedir yazımıza bakın.
  • Firmware arızasını çözmez. Diskin kendi yazılımı bozuksa, ddrescue diski hiç göremeyebilir. Bu, PC-3000 gibi profesyonel donanım işidir.
  • Şifreli diskte ham veri anlamsızdır. İmaj alınır ama içerik şifrelidir; çözüm anahtar gerektirir.

Bu durumlarda ddrescue tek başına yetmez; profesyonel laboratuvar donanımı ve uzmanlık gerekir.

Sık yapılan hatalar

  • Map dosyasız çalıştırmak. İşlem yarıda kalırsa her şey baştan başlar ve disk yorulur.
  • Arızalı diski önce mount etmek. Her okuma denemesi veriyi riske atar; önce imaj alın.
  • dd kullanmak. İlk kötü sektörde takılır ve okunabilir veriyi kurtaramaz.
  • Fiziksel arızada ısrar etmek. Tıkırdayan disk yazılımla kurtarılmaz, çalıştırmak öldürür.
  • İmaj üzerinde değil, orijinalde çalışmak. Tüm işlemler kopya üzerinde yapılmalıdır.
  • Hedefin kaynaktan küçük olması. İmaj için hedef disk, arızalı diskten büyük olmalıdır.

Sık sorulan sorular

ddrescue ücretsiz mi? Evet, GNU ddrescue açık kaynak ve ücretsizdir. Çoğu Linux dağıtımında paket olarak bulunur.

Windows'ta ddrescue çalışır mı? Doğal ortamı Linux'tur. Windows'ta çalışan bir bilgisayardan bir Linux canlı ortamı (USB) açıp ddrescue kullanmak yaygın yöntemdir.

ddrescue silinen dosyaları kurtarır mı? ddrescue imaj alır, dosya kurtarmaz. Silinen dosyalar için imaj alındıktan sonra bir kurtarma aracı (örneğin PhotoRec) imaj üzerinde çalıştırılır.

Tıkırdayan diskte ddrescue kullanmalı mıyım? Hayır. Tıkırtı fiziksel arıza işaretidir; diski çalıştırmak veriyi kalıcı kaybettirebilir. Böyle bir disk temiz oda gerektirir.

Map dosyasını silersem ne olur? İlerlemeniz kaybolur ve işlem baştan başlar. Map dosyasını her zaman saklayın.

ddrescue ile alınan imaj adli delil olur mu? Doğru yöntemle (yazma koruması, hash doğrulama, kayıt) alınırsa evet. Adli bağlamda süreç belgelenmeli ve imajın hash'i alınmalıdır.

Kaynaklar

Arızalı bir diskten veri kurtarmanız gerekiyorsa ilk kural diski yormamaktır. Uzman desteği ya da laboratuvar imkanı için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan veri kurtarma, adli imaj ve bilirkişi raporu hizmeti veriyoruz.