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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.