Como os limites de partição na imagem de backup da unidade se alinham com um subconjunto daqueles do layout de disco atual, seria relativamente simples cortar a parte relevante da gunzip
de saída e gravá-la nas partes corretas de /dev/sda
com dd
, mas não vou escrever uma resposta que ajude apenas você a sobrescrever os dados de qualquer outra pessoa. Mesmo para você, existe um grande risco de fazer um cálculo incorreto de offset ou digitar um número errado para o mesmo resultado.
Em vez disso, seria muito melhor descompactar a imagem da unidade em uma mídia de armazenamento grande o suficiente e operá-la. Você pode fazer isso mesmo no modo de recuperação. Mas seria muito mais fácil se você fizesse isso com uma interface gráfica do usuário (por exemplo, de um DVD / USB) - mesmo que você acabe fazendo isso em um terminal.
Suponho que haja pelo menos 25 GB (suficiente para manter compactada e descompactada a imagem de backup) no sistema de arquivos em /dev/sda5
.
-
Monte o sistema de arquivos em
/dev/sda5
.-
No terminal que funciona com:
udisksctl mount --block-device /dev/sda5 --options rw
udisksctl
dirá onde a unidade foi montada. -
Como alternativa, você pode usar o gerenciador de arquivos ou os Gnomes Disks para montar o sistema de arquivos.
Assumirei que o ponto de montagem está localizado em
/media/ubuntu/my-data
. Ajuste os seguintes comandos de acordo com o ponto de montagem atual. -
-
Faça o download da imagem da unidade compactada com um navegador da Web ou seu cliente HTTP favorito no sistema de arquivos montado anteriormente, e. g .:
wget -P /media/ubuntu/my-data 'http://your_webhosting.com/Windows10template.img.gz'
-
Descompacte a imagem e armazene a saída no mesmo sistema de arquivos. Você pode usar um gerenciador de arquivos como o File-Roller ou uma ferramenta de linha de comando, e. g .:
gunzip /media/ubuntu/my-data/Windows10template.img.gz
-
Configure um dispositivo de loop para a imagem da unidade descompactada:
sudo losetup -f --show /media/ubuntu/my-data/Windows10template.img
losetup
mostrará o caminho para o dispositivo de loop. Eu suponho que seja/dev/loop7
. Ajuste os seguintes comandos de acordo com o caminho real do dispositivo. -
Diga ao kernel para detectar a tabela de partições dentro do dispositivo de loop (respaldado pela imagem da unidade):
sudo partprobe /dev/loop7
O kernel adicionará nós de dispositivos de bloco adicionais para as partições detectadas, i. e.
/dev/loop7p1
e/dev/loop7p2
. -
Copie as partições expostas anteriormente individualmente para o dispositivo de destino. Você pode usar um gerenciador de partições como Gnome Disks ou GParted ou
dd
. Para o último isso vai fazer:sudo dd if=/dev/loop7p1 of=/dev/sda1 bs=8M sudo dd if=/dev/loop7p2 of=/dev/sda2 bs=8M
Verifique novamente se você digitou o caminho do dispositivo de destino correto e se o
/dev/sda
é realmente o que você acha que é! Não confie no kernel para reatribuir o mesmo nome a um dispositivo de bloco nas reinicializações do sistema!Você pode verificar a identidade de
/dev/sda
observando seu layout de partição (por exemplo, comfdisk /dev/sda
ou Gnome Disks) ou usar os identificadores de dispositivo exclusivos e (principalmente) estáveis em/dev/disk/by-*
. -
Verifique se
/dev/sda1
e/dev/sda2
contêm os dados pretendidos. -
Você está feito. Reinicie no Windows ou faça o que for.
-
Limpe a imagem da unidade restante quando e como quiser. Remova o dispositivo de loop para ele (se você não reinicializou nesse meio tempo) ou ele não será realmente excluído até que você faça isso:
sudo losetup -d /dev/loop7