will it be of any help if I create somehow a new, empty partition on the hdd with "exact" dimensions to that of
/dev/sdb2
or/dev/loop1p2
and use that as theof=
argument?
Sim , e esta é provavelmente a maneira mais fácil. O tamanho não precisa ser exatamente igual, pode ser maior. Estritamente falando, tem que ser pelo menos tão grande quanto o sistema de arquivos dentro de /dev/loop1p2
, que pode ser muito menor que /dev/loop1p2
em si. Uma maneira de obter o tamanho exato de um determinado sistema de arquivos depende do sistema de arquivos (diferentes ferramentas para ext, btrfs, etc.). Ter um sistema de arquivos menor que sua partição é incomum, então o tamanho de /dev/loop1p2
é um mínimo razoável e seguro .
Se a nova partição for muito pequena para o sistema de arquivos, você terminará com um clone de sistema de arquivos não íntegro, possivelmente com alguns dados e / ou metadados ausentes. Uma ferramenta fsck
adequada pode ou não tornar o clone formalmente saudável, mas não recuperará nenhum dado que não couber. A perda de dados pode ocorrer independentemente de quanto espaço livre o sistema de arquivos de origem possui.
Se a nova partição for maior que nada de ruim acontecerá. Seja qual for o sistema de arquivos existente em /dev/loop1p2
, ele não deve se importar se a partição de destino for maior. Criar uma partição muito maior será um desperdício de espaço, a menos que você planeje ampliar o sistema de arquivos para obter toda a partição depois.
Então, sim, o tamanho de /dev/loop1p2
é provavelmente o melhor para a nova partição. Algumas ferramentas podem prestar atenção aos tipos de partição, portanto, você deve definir corretamente o ID da nova partição (é diferente para tabela de partição do DOS em MBR e tabela de partições GUID ).
Você pode clonar sem criar uma nova partição? Sim, mas não vale a pena.
Um nó de dispositivo como /dev/sdx3
é apenas uma abstração útil para acessar um fragmento predefinido de /dev/sdx
(e nada fora desse fragmento). Isso significa que, em vez de dd of=/dev/sdx3
, é possível executar dd of=/dev/sdx
com o deslocamento adequado ( obs=
, seek=
), em geral, você não grava além do fragmento ( count=
). Incômodo, mas é totalmente possível clonar seu /dev/sdb2
no espaço não alocado em seu HDD de destino sem criar uma partição lá. Mas:
- qualquer erro de digitação ou erro de cálculo pode resultar na substituição de uma parte do disco rígido de destino que você não deseja tocar (e então você saberá que
dd
significa "destruidor de dados"); - embora poucas ferramentas possam trabalhar com
/dev/sdx
e offset, você precisa de uma partição como/dev/sdx3
para convenientemente usar o sistema de arquivos clonado na prática, então, cedo ou tarde, você irá criá-lo; - sem partição, o espaço ocupado pelo clone é considerado livre; nenhuma ferramenta sensata deve usá-la por sua própria iniciativa, mas você pode esquecer o tamanho exato do fragmento ocupado ou mesmo o fato de estar ocupado.
Por estas razões, criar uma partição antes da clonagem é a coisa certa a fazer. Uma vez que você tenha, of=
é o caminho certo para apontar dd
para ele.