
Ich versuche, ein Image einer 500 GB großen Festplatte zu erstellen GNU ddrescue
und dabei die Protokolldatei zu verwenden. Ich kam auf 420 GB und habe es dann mit gestoppt ctrl+c
. Ich habe den Befehl nach einiger Zeit erneut ausgeführt und es begann wieder von vorne, obwohl eine Protokolldatei vorhanden war.
Die alte Logdatei wurde überschrieben von ddrescue
.
Wie gesagt, meine Image-Datei ist bisher 420 GB groß, von einer 500 GB großen Festplatte. Wie bearbeite ich die Protokolldatei oder wie kann ich ddrescue
ab etwa 420 GB fortfahren? Ich habe TAGE gebraucht, ddrescue
um auf 420 GB zu kommen. Ich möchte diesen Vorgang nicht noch einmal von vorne beginnen.
Hier ist die Protokolldatei:
# Mapfile. Created by GNU ddrescue version 1.21
# Command line: ddrescue /dev/sdd /media/myname/New Volume4/backup.dmg /media/myname/New Volume4/logfile.log
# Start time: 2016-05-17 13:08:39
# Current time: 2016-05-17 13:08:48
# Copying non-tried blocks... Pass 1 (forwards)
# current_pos current_status
0x0C770000 ?
# pos size status
0x00000000 0x0C770000 +
0x0C770000 0x7464496000 ?
sudo fdisk -l
Für die Festplatte, von der ich ein Image erstellen möchte, gilt Folgendes :
Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disk identifier: 0xeea5da13
Device Boot Start End Blocks Id System
/dev/sdd1 63 976768064 488384001 7 HPFS/NTFS/exFAT
Antwort1
Die 0x0C770000
Hex-Zahl in Ihrer Protokolldatei zeigt an, dass etwa 200 MiB gelesen wurden. Dies bestätigt Ihre Aussage, dass ddrescue
von vorne begonnen wurde.
Um Änderungen vorzunehmen, ermitteln Sie zunächst die ungefähre Größe Ihres Bildes im Hex-Format:
printf "%x\n" $(($(wc -c < "/media/myname/New Volume4/backup.dmg")-4096))
(Ich habe 4096
vorsichtshalber etwas von der tatsächlichen Größe abgezogen. Es ist wahrscheinlich unnötig, schadet aber nicht.)
Ersetzen Sie dann jedes 0C770000
in Ihrem Protokoll durch die resultierende Nummer (drei Ersetzungen erforderlich). Beachten Sie, dass es 0x
ein Präfix gibt, das Sie nicht ändern sollten. Um dies zu tun, verwenden Sie sed
:
sed -i 's/0C770000/the_resulted_number_here/' "/media/myname/New Volume4/logfile.log"
Hinweis: Ich weiß nicht, warum der zweite Versuch von vorne begann, anstatt fortzufahren. Die Protokolldatei ist jetzt (fast) dieselbe wie nach Ihrem unterbrochenen Durchgang (wenn keine Lesefehler aufgetreten sind), daher kann dieses Verhalten aus demselben (noch unbekannten) Grund erneut auftreten.
Neu starten ddrescue
:
ddrescue /dev/sdd "/media/myname/New Volume4/backup.dmg" "/media/myname/New Volume4/logfile.log"