Gddrescue bir harita dosyası istiyor ancak bir tane oluşturmayı reddediyor


0

Ben kullanıyorum burada gddrescue belgelerinden Örnek 3 için bir disk sıfır-yazma ve yeniden tahsis edilecek bozuk sektörler bekleyen zorlamak.

Aynı belgeler başka bir yerde şunu belirtir:

Eğer mapfile yoksa, ddrescue onu yaratacaktır.

Ancak Örnek 3 yakın-verbatim çalıştırdığımda:

ddrescue -vvvv --fill-mode=- -f --synchronous /dev/zero /dev/sdc mapfile.txt

... hatayı alıyorum:

ddrescue: Mapfile 'mapfile.txt' mevcut değil veya okunamıyor.

Eğer kaçarsam:

ddrescue -vvvv --fill-mode=- -f --synchronous /dev/zero /dev/sdc -m /cygdrive/b/users/user/desktop/mapfile.txt

... Aynı hatanın kesik halini alıyorum:

ddrescue: Mapfile '/cygdrive/b/users/user/desktop/mapfile.txt' mevcut değil veya yok

gddrescueWindows 7'de Cygwin aracılığıyla kullanıyorum .

Bu Cygwin'in uygulanmasında bir hata mı dd, yoksa bir şey mi eksik?

Yanıtlar:


1

Hata değil. Kubuntu'mda aynı. Sanırım --fill-modekullandığın seçenek yüzünden . Bu modun dokümantasyonun kendi bölümü vardır . Kaçırdığın şey bu, benim [vurgu madeni]:

Ne zaman ddrescueçağrılır --fill-modeseçeneği olduğunu "dolgu modu", çalışır farklı varsayılan "kurtarma modu" dan. Yani, --fill-modeseçeneği kullanırsanız, ddrescuehiçbir şeyi kurtarmaz. Yalnızca durum karakteri ile gelen seçeneklerden argüman olarak belirtilen tür karakterlerinden biriyle çakışan infilebloklardan okunan verileri doldurur .outfilemapfile--fill-mode

Bu, --fill-modezaten var olan bir ihtiyaç demektir mapfile.


Buradaki durum karakterleri ve karakterleri nedir?

"From status character" ifadesi bu parçayamapfile göre anlaşılmalıdır :

Durum karakteri şunlardan biri:

Karakter Anlamı
'?' denenmemiş blok
'*' başarısız blok kesilmemiş
'/' başarısız blok kazınmamış
'-' başarısız blok bozuk sektör (ler)
'+' blok tamamlandı

Ve işte bir örnek harita dosyası:

# Mapfile. Created by GNU ddrescue version 1.23
# Command line: ddrescue -d -c18 /dev/fd0 fdimage mapfile
# Start time:   2015-07-21 09:37:44
# Current time: 2015-07-21 09:38:19
# Copying non-tried blocks... Pass 1 (forwards)
# current_pos  current_status  current_pass
0x00120000     ?               1
#      pos        size  status
0x00000000  0x00117000  +
0x00117000  0x00000200  -
0x00117200  0x00001000  /
0x00118200  0x00007E00  *
0x00120000  0x00048000  ?

Şimdi " --fill-modeseçeneğe argüman olarak belirtilen karakterleri yazın ", hemen sonra görünen karakterlerdir --fill-mode=.

Yani mapfileyukarıdaki örneğe benziyorsa ve

  • --fill-mode=-, sonra ddrescuesadece 0x00000200pozisyondan başlayan blokları dolduracaktır 0x00117000;
  • --fill-mode=?-*(muhtemel fakat hala kabarcıklı küreselleşmeye dikkat edin) , veya ddrescueile işaretlenmiş parçaları dolduracaktır .?-*

Benim hatam, aslında bu cevabı görmemiştim, bir nedenden dolayı bir not alamadım. Cevabınız soruyu cevaplıyor ve kabul edilen cevap olacak gibi görünüyor, ancak son cümlenin gerçekte ne anlama geldiğini bana açıklarsanız gerçekten yararlı olur - bu soruyu göndermeden önce birkaç kez okudum, ancak benim için ne dediğini anlayın. Spesifik olarak, "... mapfile'deki durum karakteri, argüman olarak belirtilen tür karakterlerinden biriyle çakışıyor" bölümü. Düz İngilizce olarak, tam olarak durum karakterleri ve karakterleri buraya nedir?
Hashim
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.