Ich habe versucht, CUDA auf meinem System zum Laufen zu bringen, und während ich mit NVIDIA-Treibern herumgespielt habe, habe ich Ubuntu so stark beschädigt, dass ich meine Laufwerkspartition mehrmals neu formatieren musste. Ich wurde jetzt oft genug von diesem Stick getroffen, dass ich versuche, meine Partition zu sichern, sobald ich alle meine Tools und Programme und Sachen installiert habe, indem ich dd verwende (wie von einem Freund empfohlen).
Als ich jedoch rannte
sudo dd if=/dev/sda4 of=~/backup.img
Irgendwann bekam ich eine Fehlermeldung, dass mein Laufwerk keinen Speicherplatz mehr hatte. Das war seltsam für mich, da die Partition ziemlich groß ist und ich nur eine frische Ubuntu-Installation zusammen mit ein paar (kleinen) Programmen darauf habe.
Ich dachte mir, was passieren könnte, ist, dass es rekursiv versucht, eine Kopie dessen zu schreiben, was es bereits geschrieben hat, also habe ich versucht, die Datei stattdessen direkt auf eine andere Partition zu schreiben:
sudo dd if=/dev/sda4 of=/media/Ye\ Olde\ Data/ubuntu\ reinstall\ backup/backup.img
Aber das dauerte ewig und ich brach den Vorgang ab, sobald die Datei eine Größe erreicht hatte, von der ich mir ziemlich sicher war, dass sie zu groß war, um nur die Daten zu enthalten, die ich wollte.
Was ist los? Ist es so, dass /media die anderen Partitionen gemountet hat und daher die anderen Partitionen als Teil von /dev/sda4 behandelt? Kopiert dd die gesamte Partition Byte für Byte und ignoriert, welche Bytes tatsächlich Dateien enthalten?
Und was auch immer der Fall ist, wie kann ich das, was ich versuche, richtig machen?
Oh, und hier sind meine Festplatteninformationen, falls es darauf ankommt:
sudo sfdisk -l /dev/sda
Disk /dev/sda: 62260 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 12- 13- 102400 7 HPFS/NTFS/exFAT
/dev/sda2 12+ 14602- 14590- 117187500 7 HPFS/NTFS/exFAT
/dev/sda3 29192+ 62260- 33069- 265622493+ 5 Extended
/dev/sda4 14602+ 29191- 14590- 117193728 83 Linux
/dev/sda5 61228+ 62260- 1032- 8287232 82 Linux swap / Solaris
/dev/sda6 29192+ 61227 32036- 257329138+ 7 HPFS/NTFS/exFAT
Akzeptierte Antwort:
Wenn Sie eine Partition mit dd
kopieren , ist die Ausgabedatei so groß wie die Partition. dd
erstellt eine physische Kopie der Disc, es hat keine Kenntnis von leerem oder belegtem Speicherplatz.
Wenn Sie die Ergebnisdatei komprimieren, sparen Sie jedoch viel Platz, da Leerzeichen sehr gut wegkomprimiert werden (Vorsicht, dies wird rechnerisch sehr schwer). Sie können sogar die Ausgabe von dd
komprimieren on the fly, mit etwas in der Zeile dd if=/dev/sdaX | gzip -c > compressed_file.gz
.
wirklich wichtig:
Darüber hinaus können Sie nicht (nie) einen dd
ausführen Auf einer aktiven (gemounteten)
Partition sind die aufgezeichneten Daten völlig inkonsistent und
absolut unbrauchbar für ein Backup. Denken Sie darüber nach:Datenblöcke werden
ständig zugewiesen, verschoben und gelöscht; ist wie das Aufnehmen eines Fotos
mit langer Belichtungszeit auf ein sich bewegendes Ziel.
Um die Partition mit dd
zu kopieren Sie müssen von einem anderen booten –
live USB oder was auch immer.
Was würde ich tun, um das vorliegende Problem zu lösen (Hinweis, nur allgemeine Anweisungen, da Sie wissen müssen, was Sie tun)
Verwandte Themen:Mehrere Dropbox-Konten auf demselben Computer?Erste Option Kaufen Sie Norton Ghost oder erkunden Sie die Open-Source-Optionen:Partimage und Clonezilla (selbst nie getestet).
Zweite Option mach es manuell:
-
Erstellen Sie eine zusätzliche Partition für Backups, nennen Sie sie /dev/sdX (oder verwenden Sie eine gemeinsame Datenpartition, was auch immer).
-
zum Sichern:
- Booten Sie mit Live-USB
- mounten Sie die echte Root-Partition in /real
- Mounten Sie die zusätzliche Partition in /extra
- Mach ein großes Tar, in der Zeile
(cd /real && tar cvf /extra/mybck.tar.gz)
-
wiederherzustellen
- Booten Sie mit Live-USB
- mounten Sie die echte Root-Partition in /real
- Mounten Sie die zusätzliche Partition in /extra
- restore, in der Zeile
(cd /real && tar xvpf /extra/mybck.tar.gz)
, achten Sie auf dasp
Option zum Beibehalten von Metadaten - chroot in /real
- Aktualisiere Grub oder den verwendeten Bootloader
Sie können tar
ersetzen Stellen Sie bei Ihrem bevorzugten Archivierungsprogramm sicher, dass es den Besitz/Modus der Dateien respektiert. rsync
ist eine Erkundung wert.