Quero fazer um backup de todo o layout da partição de um disco rígido, incluindo unidades lógicas, para que eu possa restaurar esse layout em outro disco. Eu não quero copiar o conteúdo das partições, apenas o layout. Para as partições primária e estendida, é fácil:
dd if=/dev/sda of=partitiontable.bin bs=1 skip=446 count=64 # backup
dd if=partitiontable.bin of=/dev/sda bs=1 seek=446 count=64 # restore
Mas quando se trata do layout das partições lógicas, pergunto-me se existe entre as ferramentas padrão uma maneira semelhante de salvar o layout. Acho que o principal problema é encontrar as compensações para os locais dos EBRs, porque com isso dd
faremos o resto. Lembre-se de que preciso colocar tudo de volta em um disco (possivelmente) em branco e, assim, restaurar o mesmo layout. Usar ferramentas de particionamento como fdisk
ou parted
é bom, mas preciso automatizar o uso delas (scripts) e elas não devem depender de nenhum pacote relacionado ao X - apenas linha de comando.
Meu plano de backup é fazê-lo manualmente em um pequeno script python usando o módulo struct, mas eu esperava que houvesse uma maneira mais fácil.
fonte
sfdisk
não funciona com grandes volumes ou suporta GPT.sfdisk -L /dev/sda < part_table
Depende se o seu disco de origem usa uma tabela de partição MBR (também conhecida como "dos" ou "msdos") ou GPT (também conhecida como "GUID").
Os discos com mais de 2 TB não podem usar MBR, portanto, são GPT.
Os discos com menos de 2 TB podem usar os dois, portanto, primeiro você precisará descobrir qual é.
Supondo que você esteja no Linux, use um destes comandos para descobrir qual tabela de partição seu disco de origem usa:
Dado
Para discos MBR
use
sfdisk
como sugerido pela resposta de Petr Uzel ou esta variante:Para discos GPT
A resposta correta foi dada aqui e aqui por Kris Harper .
Você precisa do GPT fdisk . Veja a página de download ou execute
sudo apt-get install gdisk
.Em seguida, use o comando sgdisk :
O último comando randomiza o GUID no disco e todas as partições. Isso é necessário apenas se os discos forem usados na mesma máquina, caso contrário, será desnecessário.
fonte
--backup=File
para exportar uma tabela de partição da unidade de origem e--load-backup=File
restaurar a unidade de destino.Ligações pyparted e python-lvm mais antigas, mas ainda interessantes .
Atualizar:
O anterior foi publicado porque o acima não funciona em muitas situações modernas pela página de manual do sfdisk.
Este comando, no entanto, suporta> 2 partições de TB e LVM.
Saída de amostra:
fonte
sda.parted
arquivo salvo para um novo disco?