Como posso mover uma única partição para outra unidade vazia?

2

Eu tenho uma partição P1 (que contém meu sistema operacional Linux) em uma unidade A

Acabei de obter uma unidade completamente nova B (que é maior que a partição P1 e a unidade inteira A).

Eu gostaria de copiar a partição da unidade A para a unidade B e possivelmente redimensioná-la posteriormente.

Isso pode ser feito com dd ? Eu poderia criar facilmente uma nova tabela de partição na unidade B, e apenas cp dos arquivos - mas isso pode parecer um pouco mais lento devido à sobrecarga do sistema de arquivos.

Output of 'parted --list':

Seria a partição 4 que eu quero copiar para outra unidade.

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sdb: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      17.4kB  1049kB  1031kB               BIOS boot partition   bios_grub
 2      1049kB  1074MB  1073MB  fat32        EFI System            boot, esp
 3      1075MB  183GB   181GB   ext4         Linux filesystem
 4      183GB   250GB   67.5GB  ext4         Basic data partition

Por favor, ignore qualquer referência à unidade de inicialização / funcionalidade (que eu vou me preocupar mais tarde) - mantém esta questão concisa.

    
por Chris Stryczynski 21.11.2018 / 20:46

1 resposta

2

Sim, é para isso que serve dd . Assumindo:

  • sxb é a unidade para copiar de
  • sxc é a unidade para copiar para
  • sxb4 é a quarta partição na segunda unidade que você deseja copiar de
  • sxc1 é a partição que você criou para ser de tamanho igual a sxb4

faça:

    parted /dev/sxc
    GNU Parted 3.2
    Using /dev/sxc
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel GPT
    Warning: The existing disk label on /dev/sxc will be destroyed and all data on this disk will be lost. Do you want to continue?
    Yes/No? Yes
    (parted) mkpart primary 0.0 67.5GB
    (parted) quit

    dd if=/dev/sxb4 of=/dev/sxc1 bs=16M

Como isso duplicará o UUID da partição, para alterar o UUID da nova partição (certifique-se de que a partição não esteja montada) execute o seguinte:

e2fsck -f /dev/sxc1
tune2fs /dev/sxc1 -U random

se sxb for uma unidade antiga e você espera que ela tenha erros de leitura, use ddrescue .

Nota: como dd é conhecido como d isk d estroyer, e criar uma tabela de partição é perigoso, não colocando o comando exato acima como aleatório idiota na Internet pode ver essa questão e copiar e colar o codez sem entender o que ele faz ...

    
por 21.11.2018 / 21:53