Como redimensionar partições em uma imagem completa do disco rígido?

8

Tirei uma imagem completa de um disco rígido usando:

dd if=/dev/sda of=/home/user/harddriveimg bs=4M

Parece-me que eu deveria poder redimensionar as partições dentro dela depois de montá-la adequadamente.

Como não estou familiarizado com a linha de comando, tentei:

gparted /home/user/harddriveimg

Enquanto isso carregava a tabela de partições, não foi possível encontrar as próprias partições, por exemplo, harddriveimg0.

É possível modificar um arquivo de imagem como este, sem gravá-lo em algum disco e, em caso afirmativo, como? Eu ficaria perfeitamente feliz com uma solução que usa apenas comandos de terminal.

Praça do tempo
fonte
1
Se você quiser acessar partições individuais do seu arquivo de imagem de disco como dispositivos de bloco (para, por exemplo, montá-las), consulte o kpartx .
26412 Celada
@ Celada, parece uma boa solução! O kpartx é apenas um invólucro para o partx?
Timesquare 26/12/12
Acredito que partxsó funciona com discos reais, porque usa a mágica de detecção de partição baseada no kernel, enquanto kpartxusa o device-mapper, um mecanismo genérico e mais poderoso para criar dispositivos de bloco no kernel.
Celada
@Celada, kpartxnão usa o kernel para detecção de tabela de partição, mas informa o kernel sobre eles, de modo que requer um dispositivo particionável, como um dispositivo de loop.
psusi

Respostas:

3

Você precisa associar um dispositivo de loopback ao arquivo:

sudo losetup /dev/loop0 /home/user/harddriveimg

Em seguida, execute gparted nisso.

psusi
fonte
Infelizmente, isso não funciona. O Gparted ainda está procurando / dev / loop0p1 para a primeira partição listada na tabela de partições e assim por diante.
Timesquare 27/12/12
@Timesquare, parece que seu libparted está quebrado. Qual versão você está usando e qual distribuição?
Psusi 27/12/12
Minha versão do libparted é a 2.0.0 no Archlinux. Acredito que o problema esteja no método do Gparted de escolher o dispositivo de bloco associado a um determinado registro de partição. (Gparted é a versão 0.14.1)
Timesquare
@Timesquare, não, esse é o dispositivo de bloco correto para a partição. Você precisa se separar do 3.0 ou posterior.
Psusi
Se eu entendo o que você está dizendo corretamente, o problema está em outro lugar. Depois de usar losetup como sugerido, os dispositivos de bloco / dev / loop0p1, / ​​dev / loop0p2 ... não existem.
Timesquare