GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo mover una partición en GNU/Linux?

Modo manual con dd y 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

Ahora esperando alrededor de 2 horas. (más se parece más a las 18h...)

Nota:esto solo mueve los datos hacia atrás, no hacia adelante.

Pausa:

# pidof dd
907
# kill -STOP 907
# cat /proc/907/fdinfo/1
pos:    586921398272
flags:  0100001

# kill -9 907

remember 586921398272/512 = 1146330856

Reanudando:

dd conv=notrunc bs=512 iflag=fullblock if=/dev/sdb3  skip=$((1146330856+73402368-73385984)) seek=1146330856 of=/dev/sdb3

sfdisk , que intenta ser un fdisk programable, tiene desde alguna versión el --move-data opción. Ejemplo de su página man:

echo '+100M,' | sfdisk --move-data /dev/sdc -N 1

Siempre puedes usar dd .

  • Arranque desde un liveCD (o cualquier otra forma que asegure que la partición no esté montada)
  • dd if=/dev/sdc2 of=somefile bs=1M para crear una copia de la partición en un archivo.
  • fdisk (o lo que quieras) para borrar la partición
  • fdisk (o lo que quieras) para crear la partición en el lugar deseado.
  • dd of=/dev/sdc2 if=somefile bs=1M para restaurar el contenido del archivo.

Linux
  1. Particionar una unidad en Linux con GNU Parted

  2. Cómo particionar un disco en Linux

  3. Cómo administrar una partición de intercambio en Linux

  4. Cómo mover el intercambio de la partición del disco al volumen LVM en Linux

  5. ¿Cómo habilitar la partición de intercambio de Linux?

Cómo cambiar el UUID de la partición en el sistema de archivos de Linux

Cómo clonar una partición o disco duro en Linux

Cómo mover el directorio de inicio a una nueva partición o disco en Linux

Cómo mover un directorio en Linux

Cómo mover una gran cantidad de archivos en Linux

Cómo cifrar la partición en Linux