DD verwenden, um nur die Linux-Partition auf ein externes USB-Laufwerk zu klonen?

DD verwenden, um nur die Linux-Partition auf ein externes USB-Laufwerk zu klonen?

Ich habe ein internes Laufwerk mit 1 TB, das zwei 1/2 TB-Partitionen hat, eine für Windows und die andere für Ubuntu 14.04 LTS. Die Station ist in erster Linie eine Linux-Station geworden und ich starte nie mehr in Windows.

Ich wollte ein Image-Backup erstellen und habe daher mit DD das interne Laufwerk auf ein externes 1-TB-USB-Laufwerk geklont. Leider scheint das USB-Laufwerk nur ein paar Gigabyte kleiner zu sein als das interne Laufwerk, und DD endete mit der Fehlermeldung „Nicht genügend Speicherplatz auf dem Laufwerk“. Jetzt fällt mir etwas Merkwürdiges auf. Als ich das USB-Laufwerk auswarf und wieder einsteckte, sah ich zwei 1/2-GB-Partitionen, die Duplikate zu sein scheinen. Sie haben identische GUIDs und Nautilus zeigt identische Verzeichnisstrukturen und Inhalte an. Ich vermute, dass etwas an der unvollständigen Kopie einer der Partitionen das externe Laufwerk in einen beschädigten Zustand versetzt hat.

Wie kann ich DD verwenden, umklonen Sie einfach die Linux-Partitionauf das externe Laufwerk? Das ist alles, was ich wirklich will.

Antwort1

Als Erstes müssen Sie die Daten zu Ihrer Festplatte herausfinden. Dies können Sie tun, indem Sie in das Terminal Folgendes eingeben:

sudo fdisk -l

Sie sollten eine Ausgabe wie diese erhalten:

Disk /dev/sda: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x06bd4abe

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 230055935 230053888 109,7G 83 Linux
/dev/sda2       292970494 312580095  19609602   9,4G  5 Extended
/dev/sda3       230055936 292968447  62912512    30G 83 Linux
/dev/sda5       292970496 312580095  19609600   9,4G 82 Linux swap / Solaris

Partition table entries are not in disk order.

Nehmen wir also an, /dev/sda3 ist das Laufwerk, das Sie klonen möchten. Dann können Sie Folgendes tun:

dd bs=512 if=/dev/sda of=/dev/sdb1/partition.ddfile seek=230055936 count=$(expr 292968447 - 230055936)

Denken Sie daran, dass dies nur Beispiele sind, die Sie benötigen, um sie auf Ihre Situation anzupassen.

Antwort2

Einfacherer Weg:

  1. sudo fdisk -lwie von Videonath gesagt. Suchen Sie die Partition, die Sie klonen möchten
  2. dd bs=512 if=/dev/<partition-name> of=/<external-media-path>

z.Bdd bs=512 if=/dev/sda2 of=/dev/sdb1

Notiz:

  • dd erfordert, dass die Größe des Ziels größer oder gleich der Größe der Quelle ist
  • Das auf diese Weise erstellte Backup (Partitionsebene) wäre nicht bootfähig

Antwort3

Während Sie nach fragen dd, darf ich empfehlen partclone? Es ist zum Klonen und Wiederherstellen einer Partition gedacht. Es muss das zugrunde liegende Dateisystem kennen, der Vorteil gegenüber ddist, dass es nur das kopiertgebrauchtBlöcke und spart viel Zeit und Platz, da der ungenutzte Teil einer Partition selten komprimierbar ist (alter Datenmüll statt Nullen).

sudo partclone.ext4 -c -b -s /dev/sdaX -o /dev/sdbY 

macht, was Sie wollen. -csteht für Klon, -bfür Gerät-zu-Gerät, -sist Quelle, -oist Ziel. Da Sie einen Klon erstellt haben, sind die UUIDs von Quelle und Ziel außerdem identisch. Überprüfen Sie dies mit blkid, verwenden Sie , uuidgenum eine neue UUID zu generieren und sudo tune2fs /dev/sdbY -U <uuidgen-generated new UUID>diese dann zu ändern.

Das Vorhandensein zweier identischer UUIDs auf derselben Maschine könnte sogar die Grundursache für die Probleme sein, die Sie mit dem „defekten“ Zustand des externen Geräts hatten.

Zuvor muss das Zielgerät mit so eingerichtet werden, fdiskdass die neue Partition nicht kleiner als die alte Partition ist. Ist sie größer, kann die geklonte Partition anschließend mit gpartedauf die neue Maximalgröße vergrößert werden.

verwandte Informationen