Não é possível clonar o disco rígido com dd sem espaço restante

1

Estou tentando mover o sistema operacional elementar do disco rígido principal para o disco rígido externo. Assim, posso inicializar o SO elementar a partir do disco rígido externo e instalar o Windows 10 no disco rígido principal.

Hewbot em super user stackexchange sugeriu que eu usasse este comando :

$ dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync

No entanto, após um longo período de cópia, o comando falha. Dizendo que não há espaço sobrando. Eu acho que é como clonar o disco para outro disco até mesmo o espaço livre.

Meu HD principal é maior e o HD externo é menor, mas os dados são muito menores no disco rígido principal.

    
por Abhimanyu Aryan 06.05.2016 / 19:55

2 respostas

-1

dd apenas copia sua entrada para sua saída. Se a entrada for uma imagem de disco, a saída será uma imagem de disco do mesmo tamanho. Você não pode copiar um disco para um disco menor. Em vez disso, você precisa criar partições menores no disco de destino, criar sistemas de arquivos menores nessas partições e copiar os arquivos.

Aqui, o método mais simples seria reduzir o sistema de arquivos /home e, em seguida, encolher a partição que o contém, para que tudo o que você deseja copiar se encaixe no disco de destino. Eu acho que GParted pode fazer isso. Se não puder, ou se você preferir uma solução de linha de comando, execute primeiro resize2fs para reduzir o sistema de arquivos em /dev/sda3 (deve ser desmontado) e, em seguida, reduza a partição /dev/sda3 com parted ou fdisk . Tenha muito cuidado ao redimensionar a partição: se você acidentalmente torná-la menor que o sistema de arquivos, é provável que o sistema de arquivos fique inutilizável.

Quando todas as partições couberem no tamanho do disco de destino, você poderá fazer uma cópia direta ( cat /dev/sda >/dev/sdb - não use dd , é mais lento e error- propenso ).

    
por 08.05.2016 / 01:17
-2

Seu comando está tentando copiar o disco inteiro (se = / dev / sdX) para a unidade externa. Eu diria que sua instalação do Linux está em uma partição separada da sua instalação do Windows. Portanto, você precisa especificar essa partição. Por exemplo, if=/dev/sda1 . Você provavelmente não precisa especificar uma partição para seu disco externo, então of=/dev/sdY deve estar ok.

Para descobrir a partição, você pode inicializar no sistema operacional Linux e df -h ou (como root) fdisk -l fornecerá informações sobre a partição.

    
por 06.05.2016 / 20:55