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