GNU/Linux >> Znalost Linux >  >> Linux

Jak přesunout oddíl v GNU/Linuxu?

Ruční způsob s dd a 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

Nyní čekáme asi 2 hodiny. (více vypadá spíše na 18h...)

Poznámka:toto pouze přesune data zpět, nikoli dopředu.

Pozastavení:

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

# kill -9 907

remember 586921398272/512 = 1146330856

Obnovení:

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

sfdisk , který má v úmyslu být skriptovatelným fdisk, má od určité verze --move-data volba. Příklad z jejich manuálové stránky:

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

Vždy můžete použít dd .

  • Zavedení z živého disku CD (nebo jiným způsobem, který zajistí, že oddíl není připojen)
  • dd if=/dev/sdc2 of=somefile bs=1M vytvořit kopii oddílu v souboru.
  • fdisk (nebo cokoli jiného) pro odstranění oddílu
  • fdisk (nebo cokoli jiného) pro vytvoření oddílu na požadovaném místě.
  • dd of=/dev/sdc2 if=somefile bs=1M k obnovení obsahu ze souboru.

Linux
  1. Rozdělte disk na Linuxu pomocí GNU Parted

  2. Jak přesunout swap z diskového oddílu na svazek LVM v Linuxu

  3. Jak povolit linuxový odkládací oddíl?

  1. Jak rozdělit disk v Linuxu

  2. Jak spravovat swapovací oddíl v Linuxu

  3. Jak změním swapovací oddíl v Linuxu?

  1. Jak vyměnit pevný disk v systému Linux

  2. Jak přesunout soubor v Linuxu

  3. Jak rozdělit a naformátovat disk v systému Linux