Como mover o disco de imagem de um sistema de arquivos para uma partição [closed]

1

Eu tenho um arquivo linux.img com o Arch Linux instalado nele. Eu uso o arquivo linux.img para inicializar o Archlinux na máquina virtual. Eu tenho um novo PC e gostaria de mover o linux.img para um novo PC e inicializá-lo a partir de um disco particionado. Como faço para mover o arquivo de sistema de disco de imagem (linux.img) para um disco de partição sem perder os arquivos dentro do linux.img?

    
por ellooku 19.02.2016 / 15:59

1 resposta

1

O que é o linux.img uma imagem de?

Sistema de arquivos único

Se for uma imagem de um sistema de arquivos (por exemplo, ext4), você pode criar uma partição (de tamanho maior ou igual) e usar

dd if=linux.img of=<new partition> bs=4M
resize2fs <new partition> # if needed

(como root, então você pode precisar do sudo). O comando resize2fs (sem opções além do) aumentará esse sistema de arquivos para caber em sua partição.

Como alternativa, se você deseja copiar os arquivos, crie uma nova partição, monte via loopback e use dois alcatrões e um pipe, ou rsync.

Exemplo 1

sudo -s # ensure we are running as root
mkdir /tmp/a
mkdir /tmp/b
mount -o loop linux.img /tmp/a
mount /dev/sdx1 /tmp/b # where sdx1 is the target partition
cd /tmp
( cd a; tar cf -) | ( cd b; tar xvf - )

Exemplo 2

sudo -s # ensure we are running as root
mkdir /tmp/a
mkdir /tmp/b
mount -o loop linux.img /tmp/a
mount /dev/sdx1 /tmp/b # where sdx1 is the target partition
rsync -haux /tmp/a/ /tmp/b/

Imagem da unidade particionada

Se, no entanto, o linux.img é a imagem de uma unidade particionada - isto é, como algo obtido de um comando ao longo das linhas de

dd if=/dev/sdb of=my.img bs=4M

então você precisará criar várias partições e repetir o procedimento acima para cada partição (possivelmente usando um script para automatizar o processo).

    
por 19.02.2016 / 18:38