Existem várias maneiras de conseguir isso. Uma solução envolve o uso de virtualização. Neste caso, usarei VirtualBox .
Estas são as etapas:
-
Crie um convidado virtual para instalar o sistema operacional.
(Torne o SO virtual pequeno para que a imagem não ocupe muito espaço. 8 Gigs deve ser suficiente.) -
Instale o sistema operacional desejado na máquina Virtual Guest.
-
Crie uma imagem de disco do seu convidado vdi.
Para um tamanho estático .vdi use:
$ VBoxManage clonehd [vdi-image.vdi] [drive.img] --format RAW
Para um tamanho dinâmico .vdi use:
$ VBoxManage internalcommands converttoraw [vdi-image.vdi] [drive.img]
Substitua [vdi-image.vdi] e [drive.img] com a imagem vdi e a imagem de destino da sua unidade. -
Copie a imagem para o novo disco rígido usando
dd
.
$ dd if=output.img of=/dev/sdc bs=4M status=progress
-
Redimensione as partições da maneira que você quiser usando gparted .
-
Instale a nova unidade no computador de destino e inicialize.
Se a sua unidade de destino já estiver particionada e já tiver um sistema operacional nela, em vez de restaurar a unidade inteira, use as partições como sua origem e destino em vez de toda a unidade. Use a seção alternativa copy parition
.
A partição inicial do Ubuntu da nova unidade nessas etapas será pequena devido à pequena imagem original. Você pode aumentar o tamanho da partição usando gparted
.
Como alternativa, você pode copiar uma partição em vez de toda a unidade. Use esta opção de cópia se você já tiver dados na unidade de destino e o que a instalação do Ubuntu deve estar em uma partição específica.
Copiar partição como fonte
-
Localize a partição no arquivo de imagem salvo.
Execute isso na unidade de imagem:
$ sudo losetup -f --show -P [drive.img]
$ lsb
A configuração do loop dividirá as partições em /dev/loop0p1
, /dev/loop0p2
, etc. Você pode identificar a partição desejada pelos detalhes de tamanho da lsb
output. Você também pode montar as partições da maneira normal para examiná-las.
-
Copiar partição para particionar na unidade de destino com:
Substitua [source-partition] e [dest-partition] por: Source: /dev/loop0p#
(o # é o número da partição com a instalação do sistema operacional); Destino: /dev/sdax
(O X representa o número da partição para a instalação do SO a ser instalada na unidade de destino).
$ dd if=[source-partition] of=/dev/[destination-partition] bs=4M status=progress
Após a conclusão do processo de cópia dd
, monte o destination partition
e atualize o grub com estas etapas:
(O XX
representa a unidade e o número da partição como em c1
para /dev/sdc1
. O X
por si só representa a unidade real como em /dev/sdc
.)
$ sudo mount /dev/sdXX /mnt
$ for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt/$i"; done
$ sudo chroot /mnt
$ grub-install /dev/sdX
update-grub
exit
$ for i in /sys /proc /run /dev; do sudo umount --bind "$i" "/mnt/$i"; done
- Agora prossiga para as duas etapas acima, começando com a partição de redimensionamento .
Ferramentas usadas:
As ferramentas usadas acima estão ligadas para mostrar que estão no repositório padrão do Ubuntu. Você pode instalar essas ferramentas usando sudo apt-get
e o nome da ferramenta.