Como clonar para um disco rígido menor?


42

Como clonar um disco rígido para um de tamanho menor.

  1. O Clonezilla é ótimo, mas não suporta essa funcionalidade.
  2. Também dde PartImage não suportam essa demanda.
  3. rsync não copiará o MBR, pois um MBR não é um arquivo.

Preciso clonar um disco rígido para não fazer um backup, por isso rsyncnão é uma resposta aceitável.

Alguma sugestão?


2
Apenas uma pergunta, por que é necessário ser um clone? Se for para o UUID, você se importa em reduzir o sistema de arquivos antes de executar a cópia em dd? Se você não se importa em encolher, execute o resize2fs para que o sistema de arquivos seja menor que o disco de destino e copie-o. Por outro lado, execute resize2fs novamente para expandir e preencher o novo disco.
darkdragn

Respostas:


36

Você claramente não pode clonar uma partição maior para uma partição menor (usando dde similares), pois simplesmente não há espaço suficiente.

No entanto, se os arquivos que estão na partição maior também caberem na partição menor, você poderá usar rsyncpara copiar esses arquivos. As opções exatas a serem usadas dependem do seu caso de uso específico, mas simplesmente copie todos os arquivos que o seguinte deve fazer:

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

Editar: Mais uma vez: Você não pode clonar uma partição maior em uma partição menor . (Mas continue a ler, seu problema ainda pode ser resolvido.)

O motivo é simples: sua partição de origem é maior que a partição de destino. O que você espera? Alguns blocos devem ser descartados? Quais? E como deve ddsaber? Obviamente, você pode usar dd's' bs=e count=opções para copiar apenas os primeiros e tantos blocos da partição de origem, de forma que se encaixem na partição de destino, mas você terá uma partição quebrada. Certamente não é isso que você deseja.

Portanto, como você não pode clonar uma partição maior em uma partição menor, a única coisa que você pode fazer é primeiro reduzir o tamanho da sua partição de origem para um tamanho menor ou igual ao da sua partição de destino com algo parecido com gpartedo sistema de arquivos específicos, para que você não perca dados. E só então você poderia usar ddpara clonar a partição. Idealmente, o novo tamanho da partição de origem deve ser igual ao tamanho da partição de destino (e não apenas menor ou igual ), caso contrário, você terá algum espaço não alocado na partição de destino após a clonagem.

Observe também que você não deve simplesmente copiar um MBR de uma unidade maior no MBR de uma unidade menor (ou vice-versa, nesse caso). O MBR, que tem um tamanho de 512 bytes e é a primeira seção do seu disco rígido, contém informações sobre o layout do disco rígido:

  • 446 bytes - Bootstrap.
  • 64 bytes - tabela de partição.
  • 2 bytes - Assinatura.

(Observe que 446+64+2=512.)

Se você insistir em clonar o MBR, clone apenas os primeiros 446 bytes da seguinte maneira:

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

... substituindo /dev/sourcee /dev/targetpelos nomes dos dispositivos dos discos rígidos de origem e de destino, por exemplo, /dev/sdae /dev/sdb, respectivamente. ( Mais informações estão disponíveis aqui. )

No entanto, a maneira correta de fazer isso seria fazer uma reinstalação limpa do Grub (ou o que você tiver no seu MBR) no novo disco rígido.

Resumindo, se você deseja clonar uma unidade maior em uma unidade menor, faça o seguinte:

  1. Disponha uma tabela de partição na unidade de destino com tantas partições quanto na unidade de origem. Deve haver uma correspondência individual entre as partições na unidade de origem e as partições na unidade de destino, exceto que (algumas) as partições na unidade de destino podem ser menores que as partições correspondentes na unidade de origem. Use uma ferramenta como fdiskou cfdiskpara isso.

  2. Para cada partição na unidade de destino menor que a partição correspondente na unidade de origem, reduza o tamanho dessa partição correspondente na unidade de origem para corresponder ao tamanho da partição na unidade de destino. Use uma ferramenta como essa gpartedpara isso.

  3. Para cada partição na unidade de origem, emita o comando

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... para clonar a partição /dev/sdaXda unidade de origem para a partição correspondente /dev/sdbYna unidade de destino (substitua os nomes dos dispositivos adequadamente, é claro.)

  4. Se você insistir em clonar também o MBR, use os dois ddcomandos escritos mais acima nesta postagem (aqueles com o /tmp/mbr.bakmaterial). No entanto, lembre-se de que uma reinstalação limpa do Grub seria melhor.


2
O rsync não copiará o MBR, pois o MBR não é um arquivo, portanto o rsync não é para clonagem. Eu preciso para clonar um disco rígido, não fazer um backup;)
Maythux

2
Sim, de rsyncfato não é para clonagem. Era exatamente isso que eu estava dizendo - leia meu post com atenção. ;) Editei minha postagem para explicar como você pode clonar todas as partições, bem como o MBR. Espero que isso esteja mais perto do que você deseja.
Malte Skoruppa

1
Como alguém faz uma instalação limpa do Grub?
Ken afiada

1
@KenSharp Veja aqui, por exemplo: help.ubuntu.com/community/Grub2/Installing
Malte Skoruppa

1
@gerrit O uso do parted/ gpartedpara o passo 1 é perfeitamente adequado . Como é frequentemente o caso, existem muitas maneiras de atingir uma meta. fdisk/ cfdisksão ferramentas mais "básicas" e, na descrição acima, eu estava simplesmente tentando me referir à ferramenta mais básica que faria o trabalho.
Malte Skoruppa

14

A clonagem exata não é possível porque o Malte Skoruppa já postou. No entanto, o clonezilla é capaz de executar esta tarefa enquanto o disco maior não estiver cheio (Malte já mencionou isso).

Basicamente, você precisa habilitar as opções avançadas e "ignorar" a mensagem de aviso sobre um disco menor. Consulte os documentos do Clonezilla para obter detalhes com capturas de tela. Eu tive o mesmo problema ao restaurar um backup de um disco rígido de 160 GB para um SSD de 64 GB. Para mim, isso funcionou bem.

Outra solução que deveria ser o resultado desejado seria a restauração para um disco do mesmo tamanho e a repartição para ajustar o novo esquema de partição no disco menor. Veja jsm-techblog.blogspot.de para obter detalhes sobre como fazer isso.


@DennisNolte Qual opção avançada precisa ser ativada no Clonezilla? Lendo os documentos, acho -k1que o que criará a tabela de partição proporcionalmente no disco de destino e ativará a opção -rde redimensionar o sistema de arquivos na partição automaticamente. Isso está correto?
Pro Backup

Não tenho mais 100% de certeza, mas essas seriam as opções que eu tentaria se fizesse a mesma coisa novamente, sim. No entanto, precisei de 2 ou 3 tentativas até que funcionasse corretamente e, infelizmente, não me lembrei de quais etapas eu tomei, além de usar as opções de adiantamentos.
Dennis Nolte

Não foi possível fazer isso funcionar usando a k1opção, no entanto, a -icdsopção funcionou para mim. Vou postar uma resposta com mais detalhes.
Bbodenmiller

Adicionei detalhes sobre como consegui isso funcionando em askubuntu.com/a/504778/310789 .
Bbodenmiller

O Clonezilla pode fazer isso via cópia de disco para disco, mas apenas no modo Especialista (parâmetro -icds). O @ProBackup esteja ciente de usar -k1; no meu caso, ele gera um segfault (Clonezilla Live 20160627). Em vez disso, use Gparted antes (e depois) do clone para deixar (e recuperar) tanto espaço não alocado quanto necessário e, em seguida, clone pulando a verificação de espaço em disco (-icds). Listei as etapas para fazer o clone em um disco menor aqui (pule as partes do Win7 sobre o MBR, se você tiver apenas Linux).
quiral

7

Gparted deve fazer o trabalho

  1. Depois de redimensionar com o gparted, inicialize a partir da unidade para dar ao sistema operacional a chance de corrigir erros antes de criar imagens com o Clonezilla.

  2. Em seguida, execute o Clonezilla e faça uma cópia das partições necessárias do disco rígido

Outra opção que achei ótima para mim: MondoRescure

O Mondo Rescue é uma solução de recuperação de desastre da GPL.

Ele suporta fitas, discos, rede e CD / DVD como mídia de backup, vários sistemas de arquivos, LVM, Raid de software e hardware.

Um guia simples pode ser encontrado aqui

Vou postar algumas capturas de tela:

PASSO 1: BACKUP (TELA DE PARTIÇÃO)

1. Escolha na lista de tipos de mídia de backup suportados.

insira a descrição da imagem aqui

2.Se você estiver fazendo backup em CD / DVD- + R [W], o Mondo perguntará se o seu gravador de CD tem a tecnologia BurnProof, se está dentro de um laptop ou se é excêntrico. Se você estiver fazendo backup em uma serpentina de fita, não verá esta mensagem

3. Quanta compressão você quer? Nenhuma, se o seu streamer de fita tiver compactação de hardware integrada. Máximo, se sua CPU for incrivelmente rápida. Média deve fazer muito bem para a maioria das situações.

insira a descrição da imagem aqui

4.Se você deseja fazer backup de todo o computador (excluindo / sys, / run e / proc, naturalmente e / tmp), deixe-o como / que é o padrão. Caso contrário, especifique subconjuntos (por exemplo, / usr / local | / home), certificando-se de colocar um canal entre cada caminho.

insira a descrição da imagem aqui

5.Se você estiver fazendo backup de todo o computador, poderá excluir determinados diretórios, por exemplo, / shared / MP3. Especifique-os na caixa de diálogo 'excluir diretórios'. Por favor, coloque um pipe entre cada caminho, por exemplo, / shared / private | / scratch | / nfs | / windows

insira a descrição da imagem aqui

6.O seu kernel é sadio? Em geral, os usuários do Red Hat, Mandrake, SuSE, Debian e Slackware devem dizer "sim" porque esses fornecedores são bons em produzir kernels confiáveis. Se você estiver usando o Gentoo ou o LFS, seu kernel pode não ser padrão; nesse caso, diga 'não' para usar o kernel à prova de falhas do Mondo (fornecido separadamente).

insira a descrição da imagem aqui

7.Se você deseja verificar os arquivos depois de gravá-los na mídia, diga 'sim' aqui. Se você tem fé absoluta em seu hardware e sua distribuição Linux, diga 'não' ... e um pouco de oração.

insira a descrição da imagem aqui

8.Se você tem certeza de que deseja ir em frente, diga 'sim' e encontre outra coisa para fazer enquanto o Mondo fizer backup do seu computador. Se você disser 'não', será despejado sem cerimônia no prompt do shell. :-)

insira a descrição da imagem aqui

9. O processo de backup começará agora. Existem algumas tarefas de pré-backup a serem executadas primeiro, mas o backup está essencialmente em andamento. Para simplificar o processo de backup, você foi solicitado a uma série de perguntas. Da próxima vez, se quiser, você pode chamar mondoarchive com várias opções de linha de comando para controlar seu comportamento, em vez de responder a uma série de perguntas. Veja a página de manual para detalhes.

insira a descrição da imagem aqui

10.Mondo fará um catálogo de todos os arquivos para backup. Isso pode levar até cinco minutos. A lista de arquivos será dividida em conjuntos, aproximadamente 4 MB (antes da compactação) de arquivos por conjunto. Isso normalmente leva um minuto.

insira a descrição da imagem aqui

11.Mondo chama Mindi. O Mindi gera imagens de mídia inicializáveis ​​e imagens de disco de dados auxiliares que são baseadas na sua distribuição e sistema de arquivos Linux existentes. Dessa forma, você pode ter certeza de que as ferramentas do Mondo serão compatíveis com seus sistemas de arquivos e binários existentes: as ferramentas do Mondo são suas ferramentas. Mindi leva até cinco minutos para correr.

insira a descrição da imagem aqui

12.Finalmente, o Mondo inicia o backup do seu computador. Esse processo pode levar alguns minutos ou algumas horas, dependendo da quantidade de dados que você está arquivando, da velocidade da sua CPU, da quantidade de RAM que você tem e assim por diante. Ele fará o backup dos arquivos regulares e, em seguida, dos arquivos grandes (arquivos com mais de aproximadamente 32 MB). Se você optou por verificar seus backups, o Mondo também fará isso.

insira a descrição da imagem aqui

PASSO 2 RESTAURAR (CLONE DE PARTIÇÃO)

1. Escolha seu tipo de mídia de backup. O processo de restauração ao vivo é muito semelhante ao que você experimentará se digitar mondorestore sem parâmetros após a inicialização a partir de uma mídia Mondo.

insira a descrição da imagem aqui

2. Pressione 'OK' quando inserir a fita / CD. Se você gerou um backup em fita, a própria fita deve ser suficiente. Se você gerou um backup de CD, o primeiro CD deve ser suficiente. Caso contrário, você pode precisar da mídia de inicialização.

insira a descrição da imagem aqui

3.Ligue os arquivos e diretórios que deseja restaurar. Use os botões 'Mais' e 'Menos' para abrir e fechar subdiretórios.

insira a descrição da imagem aqui

4. Especifique o local para o qual restaurar os arquivos. Em geral, '/' é apropriado. Se você não deseja substituir as versões mais recentes dos arquivos que você está restaurando, especifique / tmp / BKP ou similar como o caminho de restauração.

insira a descrição da imagem aqui

5.Mondorestore recuperará informações de configuração da mídia. (A tela de amostra é para usuários de fita. Os usuários de CD verão algo diferente.)

insira a descrição da imagem aqui

6. Os dados serão restaurados no disco rígido - primeiro os arquivos regulares e, em seguida, os arquivos grandes (32 MB ou mais) no conjunto de restauração.

insira a descrição da imagem aqui


Parece interessante. Vou dar uma chance, então eu vou alimentá-lo de volta com os resultados
Maythux

@ Maythux feedback com os resultados?
Highmastdon

Você tem que gravar tudo em disco primeiro?
Ken afiada

Para quem gosta de ir direto ao ponto e tentar fazer o mondo funcionar, é necessário baixar e instalar as versões mais recentes do lib-projectbuilder-perl, libmondorescue-perl, mindi-busybox, mindi-busybox, mindi e mondo do MondoRescue link acima e instale-os nessa ordem para evitar dependências não satisfeitas. Existem pacotes .deb disponíveis para que você não precise compilá-los todos da fonte, se preferir.
Elder Geek

A versão atual não parece ter a interface do usuário da versão (1.5) listada aqui e o teste mindy falhou ao inicializar para mim.
Elder Geek

4

A "pseudo-clonagem" de um disco rígido maior para um menor pode ser realizada usando o Clonezilla. Efetivamente, você pode salvar e restaurar as partições do disco. As etapas a seguir (desenvolvidas para a transferência de HDD para SSD) o levarão até lá:

  1. O primeiro truque é usar o Gparted para redimensionar as partições no disco rígido, reduzindo cada partição para reduzir a quantidade de espaço não utilizado que ela contém. Obviamente, as partições devem ser dimensionadas de modo que o espaço total necessário para todas as partições seja menor que a capacidade do SSD.

  2. Um deles executa o Clonezilla e faz uma cópia das partições individuais do disco rígido (usando a opção saveparts), armazenando-as temporariamente em uma unidade USB externa. Observe que é necessário salvar as partições (saveparts) em vez de criar uma imagem do disco inteiro (savedisk).

  3. Com o SSD instalado na máquina de destino, o segundo truque é usar o gerenciador de partições mais uma vez para criar a estrutura de partição desejada no SSD.
  4. O Clonezilla é então usado para restaurar as partições salvas (usando restoreparts) no SSD.

Consulte: "Clonando" um disco rígido em um SSD menor para obter mais discussões sobre o processo e vários links para fontes de referência.


3

Como a maioria dos exemplos acima parece sugerir o redimensionamento da unidade original, existe o risco de os dados serem modificados antes de fazer uma cópia.

Existe outra maneira que é menos arriscada, embora muito manual que eu uso. Uma vez que deixa a unidade de origem intocada, caso você queira voltar, porque algo falhou.

Além disso, com a clonagem / redimensionamento, você não pode mudar para um sistema de arquivos mais recente enquanto move para uma nova unidade enquanto faz a troca de disco. Com o procedimento abaixo, você só precisa criar o sistema de arquivos de sua escolha na unidade de destino.

Instale a nova unidade de destino ao lado da unidade original no seu computador.

  • inicialize o computador a partir do ubuntu live cd.
  • Na unidade de destino. use gparted create: um ext4 (ou qualquer novo sistema de arquivos rápido para o qual você decida mudar) (volume, e um volume de troca e swap - sistema de arquivos
  • No gparted, defina o sinal de inicialização no novo volume

No meu exemplo, a fonte (unidade original) é / dev / sda e o destino (nova unidade menor) é / dev / sdb Na sua configuração, pode ser diferente

monte src como somente leitura em / mnt / source

  • mkdir / mnt / fonte; mount -o ro / dev / sda / mnt / souce

monte a unidade de destino em / mnt / destination

  • montagem / dev / sdb1 / mnt / destination /

copie o sistema de arquivos src para o sistema de arquivos de destino com:

  • rsync -log /mnt/destination/rsync-copy.log --progress -avr --exclude = / mnt / source / dev / -A -H -X - ids numéricos / mnt / source / * / mnt / destination /

O ubuntu usa uuid em vez do nome do dispositivo para localizar e montar a unidade, pois temos um novo disco. Queremos mudar o destino fstab para usar as novas unidades uuid para montar o disco.

  • ls -la / dev / disk / by-uuid

    agora altere uuid para / e troque em / mnt / destination / etc / fstab. não se esqueça de alterar o sistema de arquivos para o ponto de montagem, se você decidiu alterá-lo para algo diferente da unidade original

se for importante que o grub seja a mesma versão, inicialize o disco original novamente e execute e execute o comando abaixo para instalar o grub na nova unidade

  • grub-install / dev / dev / sdb

Agora remova a unidade de origem do seu computador e inicialize a unidade de destino. O grub falhará ao inicializar completamente e sair para um shell de recuperação no shell de recuperação grub:

carregar alguns módulos grub necessários - insmod ext2 - insmod linux lista seus dispositivos de disco - ls

escolha o dispositivo apropriado (no meu exemplo é hd0, msdos1)

  • definir raiz = (hd0, msdos1)

encontre o nome exato de vmlinuz-xxx e initrd-xxx para configurar o grub para usar

  • ls / boot /

    veja e use o nome apropriado para vmlinuz e initrd que você obteve do ls acima e use-os em vez da versão de exemplo que estou usando aqui abaixo

  • linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda single

    se / dev / sda for o dispositivo, a unidade será o disco rootfs na próxima vez que você reiniciar a máquina> apenas com o disco dst

  • initrd /boot/initd.img-2.6.32-5-amd64

  • bota

isso deveria ter iniciado com êxito a máquina Finalmente, para atualizar o grub para usar o novo uuid de disco, você não precisa repetir este procedimento manual todas as vezes:

  • update-grub

3

Você pode transferir seus dados para uma unidade menor usando o Clonezilla e o GParted .

O uso do Live CD GParted reduz as partições para que elas se ajustem à nova unidade. Mova suas partições para que o espaço vazio (cinza) fique no final / à direita da sua unidade. Se já havia espaço vazio antes da sua primeira partição, deixe esse espaço, pois ele pode conter inicialização ou outras informações ocultas.

Usando o Clonezilla, faça um device-deviceclone. Selecione as opções avançadas e ative a -icdsopção para ignorar a verificação do tamanho do disco. Prossiga com o clone, remova a unidade antiga e tente inicializar a partir da nova unidade. Se você receber erros, tente a -fsck-src-partopção que ajuda a reparar erros no disco de origem.

Dos documentos do Clonezilla :

Se você tiver certeza de que todos os dados da imagem podem caber no disco menor, ou seja, não serão gravados no espaço em disco errado, marque a opção "-icds". Para selecionar esta opção, você precisa saber o que está fazendo!

Uma das perguntas frequentes que li sugeriu o uso das opções -icdse -k1com o Clonezilla, mas isso não funcionou para mim. Outros mencionaram que você pode copiar partições usando GParted, no entanto, não pode copiar todos os tipos de partições e não foi possível inicializar minha máquina depois de usar esse método, provavelmente devido a algumas informações ocultas entre as partições não serem copiadas.


1

Pode não ser a resposta correta para a pergunta, mas chego a esta página tentando resolver um problema semelhante:

Eu queria clonar um antigo cartão flash compacto de 256Mb em um cartão de 32Mb que foi preso, o cartão flash contém um pequeno dispositivo Linux que fabrica pequenas bobinas de mola.

Resolvido desta maneira:

(Obviamente, o espaço efetivo usado nos 256Mb era <32Mb, portanto cabe bem)

  1. crie uma imagem do cartão flash de 256Mb com 'dd' (ou seja, assumindo que o cartão esteja montado em / dev / sdb):

    dd if=/dev/sdb of=image256.iso
  2. Use unetbootin para ler o ISO 'image256.iso' (opção Diskimage).

  3. Selecione a unidade USB onde está o cartão de 32 Mb e prossiga para despejar a imagem no cartão de 32 Mb.

Isso é tudo, o cartão de 32Mb iniciou com êxito minha máquina novamente.

HTH


0

Você pode tentar fazê-lo em duas etapas: primeiro, faça um clone do sistema em uma imagem esparsa (a imagem está aumentando ao adicionar mais coisas a ela). Agora restaure essa imagem no segundo disco menor.


0

Isso pode ser feito. Com um CD ao vivo, basta diminuir o sistema de arquivos (resize2fs), em vez do lvm (se houver) da última partição (como / dev / sdc3) do disco grande, para que possa caber no disco pequeno.

Com o fdisk, exclua e recrie com setores menores a última partição (/ dev / sda3), para que o último setor do disco grande tenha o mesmo valor que o último setor do disco pequeno.

Do que o seu # dd se = grande de = pequeno bs = 10M até ficar sem espaço.

Cuidado extra ao encolher, pois um valor ruim causará o dataloss.


0

Depois de reduzir o sistema de arquivos no disco maior usando o GParted, coloquei os dois discos em uma caixa RAID no modo de espelhamento, em que o disco maior é a origem e o menor é o destino. Eu apenas tive que clicar no botão de reset dentro do gabinete (não mudar o modo, ou seja, Raid 1 para Raid 0) para iniciar a clonagem. Funcionou perfeitamente! :) Usei o gabinete Raid GW3.5AX2-SU3 / MB.


0

Eu posto minha experiência diminuindo um disco de inicialização com 250 gb (sda) para um disco de 120 gb (sdc)

O sda contém 2 partições:

  • sda1 -> / boot (ext3)
  • sda2 -> lvm2: / (245gb) e swap (5gb)

então eu faço:

  • dd sda mbr para sdc
  • fdisk sdc e escreva as alterações, para criar a estrutura em sdc
  • dd sda1 para sdc1

então como o meu gparted NÃO trabalha com o lvm:

de um disco de recuperação:

  • primeira quantidade VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK (dou 1gb a mais do que o espaço usado)
  • lvreduce -L xxxxxxxxxK VG / LV00 (dou 1gb a mais do que o espaço fs)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (eu dou 1 gb a mais do que o espaço LV) (eu tenho um erro aqui ... então:

    • pvs -v --segments / dev / sda2 (para ver os segmentos)
      • pvmove --alloc em qualquer lugar / dev / sda2: segment_min-segment_max (dos segmentos que vi "à direita" do disco)

Mas ainda assim a partição era grande, pois apenas reduzi o FS-LV-VG, então:

eu recrio a partição com o fdisk:

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

Em seguida, o sistema solicita que a tabela de partições antiga esteja em uso até a próxima reinicialização. Mas eu esqueci de reiniciar e fazer a imagem:

dd if = / dev / sda2 de = / dev / sdc2 bs = 4096 (neste momento, pensei que algo estaria errado e não consegui inicializar com sdc, pois a tabela de partição não reflete o fim do novo sda2)

MAS tudo estava OK e após a reinicialização, e até o sistema escolhe a partição sdc para inicializar (queixa-se de PV, LV e / boot duplicados)

Eu não sei se estou com sorte ou se eu faço etapas desnecessárias ... qualquer comentário seja apreciado.


Isso é uma resposta ou uma pergunta?
Seth

as duas coisas que eu acho ... #
oso_togari 28/05

0

Disclaimer: Eu sou o autor original do WereSync

Isso é possível usando o WereSync . O WereSync segue o processo geral da resposta de Malte, mas requer apenas um comando em vez de vários. Além disso, se você estiver usando seu clone como um backup, ele poderá atualizar gradualmente esse backup, pois emprega rsync no back-end.

Para instalar o WereSync, use pip:

pip install weresync

A partir daí, você pode simplesmente usar o comando WereSync

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

O comando acima copia dados de / dev / sda para / dev / sdb. O -Csinalizador marca que o WereSync deve verificar se as partições nas duas unidades são equivalentes e, se não forem, o WereSync deve copiar as partições de / dev / sda para / dev / sdb e redimensioná-las para que se ajustem. Os UUIDs das novas partições serão diferentes. O sistema usado para testar se as partições são válidas pode ser complicado, portanto, após seu primeiro backup, recomendo omitir esse sinalizador.

Os comandos -ge -Epodem ser omitidos, mas a instalação do carregador de inicialização quase certamente falhará nesse caso.

-g refere-se à "partição grub" ou o grub da partição deve estar instalado. Geralmente, essa é a partição montada em /. Portanto, se você tem / dev / sda2 montado em /, passa -g 2para o WereSync, como no exemplo acima. Se isso for omitido, o WereSync tentará descobrir a partição apropriada por si só, mas isso é propenso a erros. Eu recomendo simplesmente passar a bandeira.

-Erefere-se à partição EFI. Se sua partição EFI estiver em / dev / sda1, passe -E 1para o WereSync como no comando acima.

Se você tiver uma partição separada para a pasta / boot, também precisará informar o WereSync. Se você tiver isso em / dev / sda3, passe -B 3para o WereSync.

Informações mais detalhadas sobre os possíveis sinalizadores desse comando podem ser encontradas na documentação do comando WereSync .


Você pode adicionar um livecd?
Tal

0

Eu vim para esse problema porque a atualização do Win 10 para 1607 seria interrompida após a reinicialização, causada pelo fato de o meu NVMe (Samsung 950 Pro) não ser reconhecido, por isso clonei o NVMe na outra unidade interna (maior) (no meu caso "Toshiba") , atualizou o Win 10 e restaurou o sistema de volta ao NVMe.

Aqui estão as etapas que eu precisava executar para conseguir isso (pois o restoreparts com -icdsnão funcionou).

Ferramentas:

  • DVD do Windows 10 1607 (profundidade de bits e idioma, dependendo do sistema operacional atual)
  • Clonezilla Live DVD ( 2.4.5 ou superior )
  • ou Clonezilla Live DVD ( 20160203-xenial + ), pois ele pode inicializar com UEFI definido no BIOS
  • (opcional) GParted Live DVD ( 0.27.0-1 )

Preparação:

  1. gravar todas as ferramentas em CDs / DVDs
  2. execute o Clonezilla e clone (dirija à imagem) o NVMe em uma imagem (por exemplo, na unidade externa)

Nota:

Se você usou o Clonzila a partir da ramificação estável, deve mudar para o modo de inicialização Legacy no BIOS para poder inicializar a partir do CD. Caso contrário, se você usar o download da ramificação alternativa, ele deverá oferecer suporte à inicialização UEFI.

Aviso Legal:

Siga o guia por sua própria responsabilidade. As etapas e os comandos aqui são verificados e verificados duas vezes, mas erros de digitação podem causar perda de dados ou falha de hardware; primeiro, aprenda o que está fazendo e siga estas etapas como dicas para a direção certa.

O procedimento:

  1. execute o Clonezilla e clone (unidade a unidade) o NVMe para a Toshiba (no meu caso, a outra unidade interna, que eu limpei / copiei anteriormente)
  2. pela primeira vez, acho que tive alguns conflitos no Windows com o NVMe ainda com informações de inicialização do Win, então desta vez imediatamente após a clonagem inicial para a Toshiba (antes de mudar para a inicialização UEFI) excluí todas as partições na unidade NVMe

    ~ a exclusão é feita facilmente no shell do Clonezilla com:

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    ~ alternativamente, inicialize no GParted e faça-o visualmente lá

  3. (alterne para inicialização UEFI no BIOS)

  4. boot (Toshiba será usado)
  5. execute o Win 10 1607 install DVD e escolha Instalar, marque Baixar atualizações e escolha Manter aplicativos e dados. Isso deve atualizar o Toshiba para a versão mais recente do Win 10.
  6. (alterne para inicialização herdada no BIOS), caso contrário, faça backup do Toshiba em uma imagem (via Clonezilla)
  7. Como a cópia do MBR não fez nada para mim, a GPT é importante nesta história; portanto, entre no shell (Clonezilla) e copie a GPT da Toshiba para o NVMe com

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    ( explicação )

  8. Como o Clonezila (mesmo com o Expert switch -icds) recusa a restauração de partições, entre novamente no shell e faça:

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    ( mais informações )

  9. faça backup do Tosiba MBR e GPT:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. copie o backup para um local seguro (para que possamos restaurá-lo e não toda a imagem da unidade que fizemos na etapa 6)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. limpe as informações da partição Toshiba para que não cause conflitos com o Windows

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (alterne para inicialização UEFI no BIOS) no DVD do Windows 10 (1607), escolha Reparar> Solucionar problemas> Prompt de comando e execute todos estes:

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    ( mais informações )

  13. reinicie no Windows 1607 no seu disco NVMe

  14. Ganhar!
  15. (reinicialize a Toshiba no Gerenciamento de disco)
  16. (opcional) faça backup do disco NVMe atualizado (clone para imagem com Clonezilla)
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.