ddrescue sürecine nasıl devam edilir?


10

1 TB USB HD'mi kurtarmam gerekiyor. Bunu ddrescuebaşarmak için kullanıyorum . Başladıktan ddrescuesonra devam edebilmemin bir yolu var mı ?

Komutu kullanıyorum:

ddrescue /dev/sdd1 ./bye1t.dd_rescue.image

Yanıtlar:


15

ddrescue yeniden başlatılabilir, ancak bunu yapabilmek için bir günlük dosyası gerekir. Günlük dosyası ddrescue'nun şu ana kadar kaydettiği ilerlemeyi kaydeder ve ddrescue uygulamasını yeniden başlatmak günlük dosyasını okur ve kaldığı yerden başlar.

Günlük dosyası üçüncü parametre olacaktır:

ddrescue /dev/sdd1 ./bye1t.dd_rescue.image ~/sdd1.log

Bir günlük dosyası olmadan bir ddrescue çalıştırmasını zaten başlattıysanız ve iptal ederseniz, bir sonraki ddrescue çalıştırıldığında, zaten kurtarılmış olanların hiçbir kaydı olmadığından başlangıçta başlayacaktır.

Not : ddrescue ve dd_rescue farklı programlardır.


1
Başlangıçta bir günlük dosyası ile başlamış ve aynı komutu tekrar çalıştırırsam, otomatik olarak son günlük konumundan devam edecek mi? / edit: son konumdan başlar.
Qwerty

6

Bir günlük dosyası belirtmeyi unutsanız bile, umut olabilir:

Üret-mod

Yani öğreticiyi okumadınız ve bir günlük dosyası olmadan ddrescue uygulamasını başlattınız. Şimdi, iki gün sonra bilgisayarınız çöktü ve ddrescue'nun ne kadar veri kaydetmeyi başardığını bilemezsiniz. Ve daha da kötüsü, kurtarmaya devam edemezsiniz; en baştan yeniden başlatmanız gerekir.

Ya da belki bir sürücüyü kopyalamaya başladınız dd conv=noerror,syncve şu anda yukarıda anlatılanla aynı durumdasınız. Bu durumda, syncdönüştürme bağımsız değişkeniyle çağrılmadığı sürece dd tarafından yapılan bir kopyayı kullanamayacağınızı unutmayın .

(Henüz) umutsuzluğa kapılmayın. Ddrescue, bazı durumlarda, giriş dosyasından ve (kısmi) kopyadan neredeyse tam bir günlük dosyası kadar iyi olan yaklaşık bir günlük dosyası oluşturabilir. Bunu, tüm sıfırları içeren sektörlerin kurtarılmadığını varsayarak yapar.

Ancak, kopyanın hedefi bir sürücü veya bölümse (veya varolan normal bir dosya ve kesme istenmezse), büyük olasılıkla ddrescue uygulamasını en baştan yeniden başlatmanız gerekir. (Bu sefer elbette bir log dosyası ile). Bunun nedeni, sürücüde henüz üzerine yazılmamış olan eski verilerin mevcut olabilmesidir ve bu nedenle denenmemiş ancak sıfırdan farklı olabilir.

Örneğin, ilk olarak şu komutlardan birini denediyseniz:

ddrescue infile outfile

veya

dd if=infile of=outfile conv=noerror,sync

bu komutla yaklaşık bir günlük dosyası oluşturabilirsiniz:

ddrescue --generate-mode infile outfile logfile

Disk kurtarılıyor mu ve kurtarma verilerini dolduruyor mu?
Bastion

3

Diğerlerinin söylediği gibi, her zaman üçüncü parametre olarak sürdürmeye izin verecek bir günlük dosyası belirtmelisiniz. Bunu yapmadığınız için bu size yardımcı olmayacak. İşlemin yaklaşık olarak hangi noktaya geldiğini biliyorsanız , o noktadan başlamak için --input-positionve --output-positionparametrelerini kullanabilirsiniz (her iki parametreyi de aynı değere ayarladığınızdan emin olun, aksi takdirde çıktı bozulur).


2

Bir günlük dosyasını üçüncü parametre olarak belirtmediğiniz için sürdürme otomatik olarak yapılamaz. Önceden kurtarılmış sektörleri biliyorsanız, sözdizimi kolaydır. Bir günlük belirtirken başka bir dosyaya başka bir sahte kurtarma başlatmanız ve farklı alanları okumasına izin vermeniz yeterlidir. Ardından, ilk dosyanızdaki önceden kurtarılmış alanları temsil edecek şekilde günlüğü düzenleyin. Şimdi önceki komutunuzu yeniden çalıştırın, ancak üçüncü parametre olarak günlük dosyasının adını verin. ddrescue ilk denenmemiş sektörde devam edecektir.


2

Başına https://wiki.archlinux.org/index.php/Disk_cloning onunla görünüyor conv=noerror,syncanahtarı, ddaslında eklenti sıfır yapar sonunda bir bloğun, tam olarak okuma hataları oluştuğu. Bu, Miles Wolbe'nin 2013-08-29'daki cevabındaki bilgilere aykırı.

Örneğin, doğru bir sıra varsa 198123283ve ortasında bir okuma hatası varsa, yazmaz 198283000, yazmaz 198000283.

Bu yüzden gerçekten okuma hataları olması durumunda, önerilen yöntem doğru olmayacaktır - sıfırla doldurulmuş, ancak "kurtarılmış" olarak değerlendirilecek olan okunabilir alanlar olacaktır.

Bu arada, hedef sürücüyü sıfırlarla (veya en azından örneğin WinHex ile yapılabilecek boş alanı) doldurarak böyle bir kurtarma girişimine başlamak iyi bir uygulamadır.


Merhaba GabrielB, Süper Kullanıcıya hoş geldiniz. Cevabınızı düzenledim, ancak tek başına kalmanın yeterli olduğundan emin değilim - belki de orijinal soruyu da ele alan küçük bir bölüm içerecek şekilde düzenleyebilirsiniz?
bertieb

Doğru hatırlamıyorsam Miles Wolbe'un cevabına yorum yapmak istedim ama yeni bir üye olamadım, bu yüzden yeni bir cevap göndermem gerekiyordu. Mümkünse, yukarıdaki yayını görünmesi gereken yere taşıyın ve bunu silin.
GabrielB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.