Manueller Weg mit dd und fdisk:
# fdisk -l /dev/sdb | grep sdb3
/dev/sdb3 73402368 1953525167 940061400 83 Linux
# fdisk /dev/sdb
Command (m for help): d
Partition number (1-4): 3
Command (m for help): n
Partition number (1-4, default 3): 3
First sector (73385984-1953525167, default 73385984):
Using default value 73385984
Last sector, +sectors or +size{K,M,G} (73385984-1953525167, default 1953525167):
Using default value 1953525167
Command (m for help): w
The partition table has been altered!
# fdisk -l /dev/sdb | grep sdb3
/dev/sdb3 73385984 1953525167 940069592 83 Linux
# dd conv=notrunc bs=512 iflag=fullblock if=/dev/sdb3 count=100 skip=$((73402368-73385984)) seek=0 2> /dev/null | file -s -
/dev/stdin: LUKS encrypted file, ver 1 [aes, cbc-essiv:sha256, sha1] UUID: af1c47f0-4ca5-4ea7-a091-065bd263653f
# dd conv=notrunc bs=512 iflag=fullblock if=/dev/sdb3 skip=$((73402368-73385984)) seek=0 of=/dev/sdb3
# file -s /dev/sdb3
/dev/sdb3: sticky LUKS encrypted file, ver 1 [aes, cbc-essiv:sha256, sha1] UUID: af1c47f0-4ca5-4ea7-a091-065bd263653f
Warte jetzt ca. 2h. (mehr sieht eher aus wie 18h...)
Hinweis:Dies verschiebt Daten nur zurück, nicht vorwärts.
Anhalten:
# pidof dd
907
# kill -STOP 907
# cat /proc/907/fdinfo/1
pos: 586921398272
flags: 0100001
# kill -9 907
remember 586921398272/512 = 1146330856
Fortsetzung:
dd conv=notrunc bs=512 iflag=fullblock if=/dev/sdb3 skip=$((1146330856+73402368-73385984)) seek=1146330856 of=/dev/sdb3
sfdisk
, das eine skriptfähige fdisk sein soll, hat seit einigen Versionen den --move-data
Möglichkeit. Beispiel aus ihrer Manpage:
echo '+100M,' | sfdisk --move-data /dev/sdc -N 1
Sie können immer dd
verwenden .
- Booten Sie von einer Live-CD (oder auf andere Weise, die sicherstellt, dass die Partition nicht gemountet ist)
dd if=/dev/sdc2 of=somefile bs=1M
um eine Kopie der Partition auf einer Datei zu erstellen.- fdisk (oder was auch immer Sie möchten) um die Partition zu löschen
- fdisk (oder was auch immer Sie möchten), um die Partition an Ihrem gewünschten Ort zu erstellen.
dd of=/dev/sdc2 if=somefile bs=1M
um den Inhalt aus der Datei wiederherzustellen.