sfdisk
sfdisk é uma versão com script de fdisk
É parte de util-linux , assim como fdisk , então a disponibilidade deve ser a mesma.
Uma tabela de partição com uma única partição que ocupa todo o disco pode ser
criado com:
echo 'type=83' | sudo sfdisk /dev/sdX
e as tabelas de partições mais complexas são explicadas abaixo.
Para gerar um script de exemplo, obtenha a configuração de um dos seus discos:
sudo sfdisk -d /dev/sda > sda.sfdisk
Exemplo de saída na inicialização dupla do meu Lenovo T430 Windows 7 / Ubuntu:
label: dos
label-id: 0x7ddcbf7d
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 3072000, type=7, bootable
/dev/sda2 : start= 3074048, size= 195430105, type=7
/dev/sda3 : start= 948099072, size= 28672000, type=7
/dev/sda4 : start= 198504446, size= 749594626, type=5
/dev/sda5 : start= 198504448, size= 618891264, type=83
/dev/sda6 : start= 940277760, size= 7821312, type=82
/dev/sda7 : start= 817397760, size= 61437952, type=83
/dev/sda8 : start= 878837760, size= 61437500, type=83
Depois de salvar o script em um arquivo, você poderá aplicá-lo a sdX com:
sudo sfdisk /dev/sdX < sda.sfdisk
Para sfdisk input, você pode simplesmente omitir os nomes dos dispositivos e usar linhas do tipo:
start= 2048, size= 3072000, type=7, bootable
Eles são ignorados apenas se presentes e o nome do dispositivo é retirado do argumento da linha de comando.
Algumas explicações:
- linhas de cabeçalho: todas opcionais:
-
label : tipo de tabela de partições. dos (MBR) é o antigo e amplamente suportado, gpt a nova coisa brilhante.
-
unit : apenas sector é suportado. 1 setor geralmente é igual a 512 bytes. Encontre com cat /sys/block/sda/queue/hw_sector_size Veja também: link
-
device : apenas informativo Eu acho
-
linhas de partição:
-
start : deslocamento dentro do disco no qual a partição é iniciada.
start tem padrões muito bons e muitas vezes pode ser omitido:
- na primeira linha,
start é 2048, ou seja, 1Mb (2048 + 512), que é um padrão normal para compatibilidade de disco
- mais
start padrão para a primeira posição não alocada
-
size : man sfdisk diz: The default value of size indicates "as much as possible" . Então, para preencher o disco com uma única partição, use: /dev/sda : start=2048, type=83
-
type : byte mágico armazenado no setor de inicialização para cada entrada de partição . Valores possíveis: link Neste exemplo, observamos:
-
7 ( sda1 , 2 e 3 ): sistemas de arquivos que o Windows suporta. Material pré-instalado do Windows e partições de recuperação da Lenovo. sudo blkid labels ajudam a identificá-los.
-
5 ( sda4 ): partição primária estendida, que conterá outras partições lógicas (porque só podemos ter 4 partições primárias com MBR)
-
83 ( sda5 , 7 e 8 ): partições suportadas pelo Linux. Para mim, um home e duas raízes com diferentes versões do Ubuntu
-
82 ( sd6 ): troca
fdisk também pode ler sfdisk scripts com o comando I , que "os origina" durante uma sessão fdisk interativa, permitindo uma personalização adicional antes de gravar a partição.
Testado no Ubuntu 16.04, sfdisk 2.27.1.
Formate e preencha as partições com um arquivo de imagem sem sudo
Esta é uma boa maneira de aprender a usar sfdisk sem explodir seus discos rígidos: link