SFDISK(8) | Administração do sistema | SFDISK(8) |
NOME¶
sfdisk - exibe ou manipula a tabela de partição de um disco
SINOPSE¶
sfdisk [opções] dispositivo [-N número-da-partição]
sfdisk [options] command
DESCRIÇÃO¶
sfdisk é uma ferramenta orientada a script para particionar qualquer dispositivo de bloco. Ele é executado no modo interativo se executado em um terminal (stdin se refere a um terminal).
Desde a versão 2.26, o sfdisk tem suporte aos rótulos de disco MBR (DOS), GPT, SUN e SGI, mas não fornece mais nenhuma funcionalidade para endereçamento CHS (Cilindro-Cabeça-Setor). CHS nunca foi importante para o Linux e esse conceito de endereçamento não faz sentido para novos dispositivos.
sfdisk protege o primeiro setor do disco ao criar um novo rótulo de disco. A opção --wipe always desativa essa proteção. Observe que fdisk(8) e cfdisk(8) apagam completamente esta área por padrão.
sfdisk (desde a versão 2.26) alinha o início e o fim das partições aos limites de E/S do dispositivo de bloco quando tamanhos relativos são especificados, quando os valores padrão são usados ou quando sufixos multiplicativos (por exemplo, MiB) são usados para tamanhos. É possível que o tamanho da partição seja otimizado (reduzido ou ampliado) devido ao alinhamento se a posição inicial for especificada exatamente em setores e tamanho da partição relativo ou por sufixos multiplicativos.
A maneira recomendada é não especificar as posições iniciais e especificar o tamanho da partição em MiB, GiB (ou assim). Nesse caso, o sfdisk alinha todas as partições aos limites de E/S do dispositivo de bloco (ou quando os limites de E/S são muito pequenos, então ao limite de megabytes para manter o layout do disco portátil). Se este comportamento padrão for indesejado (geralmente para partições muito pequenas), especifique posições e tamanhos em setores. Nesse caso, sfdisk segue inteiramente os números especificados sem nenhuma otimização.
sfdisk não cria as partições de sistema padrão para rótulos de disco SGI e SUN como fdisk(8) faz. É necessário criar explicitamente todas as partições, incluindo partições de sistema de disco inteiro.
sfdisk uses BLKRRPART (reread partition table) ioctl to make sure that the device is not used by system or other tools (see also --no-reread). It’s possible that this feature or another sfdisk activity races with systemd-udevd(8). The recommended way how to avoid possible collisions is to use --lock option. The exclusive lock will cause systemd-udevd to skip the event handling on the device.
O prompt sfdisk é apenas uma dica para os usuários e um número de partição exibido não significa que a mesma entrada da tabela de partição será criada (se -N não for especificado), especialmente para tabelas com lacunas.
COMANDOS¶
Os comandos são mutuamente exclusivos.
[-N número-da-partição] dispositivo
Se a opção -N for especificada, as alterações serão aplicadas à partição endereçada por número-da-partição. Os campos não especificados da partição não são modificados.
Observe que é possível endereçar uma partição não utilizada com -N. Por exemplo, um MBR sempre contém 4 partições, mas o número de partições usadas pode ser menor. Neste caso, sfdisk segue os valores padrão da tabela de partição e não usa padrões embutidos para a partição não usada fornecida com -N. Veja também --append.
-A, --activate dispositivo [número-da-partição...]
O comando de ativação é compatível apenas com MBR e PMBR. Se um rótulo GPT for detectado, o sfdisk exibirá um aviso e entrará automaticamente no PMBR.
Se nenhum número-da-partição for especificado, lista as partições com um sinalizador ativado.
--backup-pt-sectors device
--delete dispositivo [número-da-partição...]
-d, --dump dispositivo
-g, --show-geometry [dispositivo...]
-J, --json dispositivo
-l, --list [dispositivo...]
-F, --list-free [dispositivo...]
--part-attrs dispositivo número-da-partição [atributos]
Bit 0 (RequiredPartition)
Bit 1 (NoBlockIOProtocol)
Bit 2 (LegacyBIOSBootable)
Bits 3-47
Bits 48-63
--part-label dispositivo número-da-partição [rótulo]
--part-type dispositivo número-da-partição [tipo]
O argumento tipo é hexadecimal para MBR, GUID para GPT, apelido de tipo (por exemplo, "linux") ou atalho de tipo (por exemplo, "L"). Para compatibilidade com versões anteriores, as opções -c e --id têm o mesmo significado que esta.
--part-uuid dispositivo número-da-partição [uuid]
--disk-id dispositivo [id]
-r, --reorder dispositivo
-s, --show-size [dispositivo...]
-T, --list-types
-V, --verify [dispositivo...]
--relocate operador dispositivo
gpt-bak-std
gpt-bak-mini
OPÇÕES¶
-a, --append
Observe que a partição não usada pode ser reutilizada neste caso, embora não seja a última partição na tabela de partição. Consulte também -N para especificar a entrada na tabela de partição.
-b, --backup
--color[=quando]
-f, --force
--Linux
--lock[=modo]
-n, --no-act
--no-reread
--no-tell-kernel
-O, --backup-file caminho
--move-data[=caminho]
The optional path specifies log file name. The log file contains information about all read/write operations on the partition data. The word "@default" as a path forces sfdisk to use ~/sfdisk-<devname>.move for the log. The log is optional since v2.35.
Observe que esta operação é arriscada e não atômica. Não se esqueça de fazer backup de seus dados!
See also --move-use-fsync.
No exemplo abaixo, o primeiro comando cria uma área livre de 100 MiB antes da primeira partição e move os dados que ela contém (por exemplo, um sistema de arquivos), o próximo comando cria uma nova partição a partir do espaço livre (na posição 2048), e o último O comando reordena as partições para corresponder à ordem do disco (o sdc1 original se tornará sdc2).
echo '+100M,' | sfdisk --move-data /dev/sdc -N 1
echo '2048,' | sfdisk /dev/sdc --append
sfdisk /dev/sdc --reorder
--move-use-fsync
-o, --output lista
A lista padrão de colunas pode ser estendida se lista for especificada no formato +lista (por exemplo, -o +UUID).
-q, --quiet
-u, --unit S
-X, --label tipo
-Y, --label-nested tipo
-w, --wipe quando
-W, --wipe-partitions quando
-v, --version
-h, --help
FORMATOS DE ENTRADA¶
sfdisk tem suporte a dois formatos de entrada e linhas de cabeçalho genéricas.
Linhas de cabeçalho¶
As linhas de cabeçalho opcionais especificam informações genéricas que se aplicam à tabela de partição. O formato da linha de cabeçalho é:
<nome>: <valor>
Os cabeçalhos atualmente reconhecidos são:
unit
label
label-id
first-lba
last-lba
table-length
grain
sector-size
Observe que só é possível usar linhas de cabeçalho antes que a primeira partição seja especificada na entrada.
Formato de campos sem nome¶
início tamanho tipo inicialização
onde cada linha preenche um descritor de partição.
Fields are separated by whitespace, comma (recommended) or semicolon possibly followed by whitespace; initial and trailing whitespace is ignored. Numbers can be octal, decimal or hexadecimal; decimal is the default. When a field is absent, empty or specified as '-' a default value is used. But when the -N option (change a single partition) is given, the default for each field is its previous value.
The default value of start is the first non-assigned sector aligned according to device I/O limits. The default start offset for the first partition is 1 MiB. If the offset is followed by the multiplicative suffixes (KiB, MiB, GiB, TiB, PiB, EiB, ZiB and YiB), then the number is interpreted as offset in bytes. Since v2.38 when the -N option (change a single partition) is given, a '+' can be used to enlarge partition by move start of the partition if there is a free space before the partition.
O valor padrão de tamanho indica "tanto quanto possível"; ou seja, até a próxima partição ou fim do dispositivo. Um argumento numérico é, por padrão, interpretado como um número de setores, no entanto, se o tamanho for seguido por um dos sufixos multiplicativos (KiB, MiB, GiB, TiB, PiB, EiB, ZiB e YiB), o número é interpretado como o tamanho da partição em bytes e é então alinhada de acordo com os limites de E/S do dispositivo. Um "+" pode ser usado em vez de um número para aumentar a partição tanto quanto possível. Nota "+" é equivalente ao comportamento padrão para uma nova partição; as partições existentes serão redimensionadas conforme necessário.
O tipo de partição é fornecido em hexadecimal para MBR (DOS) onde o prefixo 0x é opcional; uma string GUID para GPT; um atalho ou apelido. Recomenda-se usar duas letras para códigos hexadecimais MBR para evitar a colisão entre o atalho descontinuado "E" e o código hexadecimal MBR "0E". Para compatibilidade com versões anteriores, sfdisk tenta interpretar tipo como um atalho como uma primeira possibilidade em scripts de particionamento, embora em outros lugares (por exemplo, comando --part-type) tente atalhos como a última possibilidade.
Desde v2.36 libfdisk suporta apelidos de tipo de partição como extensão para atalhos. O apelido é uma palavra simples legível por humanos (por exemplo, "linux").
Desde v2.37 libfdisk suporta nomes de tipo de partição na entrada, ignorando a caixa dos caracteres e todos os caracteres não alfanuméricos e não dígitos no nome (por exemplo, "Linux /usr x86" é o mesmo que "linux usr-x86").
Apelidos e atalhos suportados:
L - apelido "linux"
S - apelido "swap"
Ex - apelido "extended"
H - apelido "home"
U - apelido "uefi"
R - apelido "raid"
V - apelido para "lvm"
O valor padrão de tipo é linux.
O atalho "X" para partição estendida do Linux (85) foi descontinuado em favor de "Ex".
inicialização é especificado como [*|-], sendo o padrão não ser inicializável. O valor deste campo é irrelevante para o Linux — quando o Linux é executado, ele já foi inicializado --, mas pode desempenhar uma função para certos carregadores de inicialização e outros sistemas operacionais.
Formato de campos nomeados¶
Este formato é mais legível, robusto, extensível e permite especificar informações adicionais (por exemplo, um UUID). Recomenda-se usar este formato para manter seus scripts mais legíveis.
[dispositivo :] nome[=valor],
...
O campo dispositivo é opcional. sfdisk extrai o número da partição do nome do dispositivo. Permite especificar as partições em ordem aleatória. Esta funcionalidade é usada principalmente por --dump. Não o use se não tiver certeza.
The value can be between quotation marks (e.g., name="This is partition name"). The fields start= and size= support '+' and '-' in the same way as Unnamed-fields format.
The currently supported fields are:
start=número
size=número
bootable
attrs=string
uuid=string
name=string
type=código
RÓTULO DE DISCO VAZIO¶
sfdisk não cria a tabela de partição sem partições por padrão. As linhas com partições são esperadas no script por padrão. A tabela de partição vazia deve ser solicitada explicitamente pela linha de cabeçalho do script "label: <nome>" sem nenhuma linha de partição. Por exemplo:
echo 'label: gpt' | sfdisk /dev/sdb
cria uma tabela de partição GPT vazia. Observe que o --append desativa este recurso.
FAZENDO O BACKUP DA TABELA DE PARTIÇÃO¶
Recomenda-se salvar o layout de seus dispositivos. sfdisk tem suporte a duas maneiras.
Dump in sfdisk compatible format¶
Use the --dump command to save a description of the device layout to a text file. The dump format is suitable for later sfdisk input. For example:
sfdisk --dump /dev/sda > sda.dump
Isso pode ser restaurado posteriormente por:
sfdisk /dev/sda < sda.dump
Note that sfdisk completely restores partition types and partition UUIDs. This could potentially become problematic if you duplicate the same layout to different disks, as it may result in duplicate UUIDs within your system.
Full binary backup¶
If you want to do a full binary backup of all sectors where the partition table is stored, then use the --backup-pt-sectors command. It writes the sectors to ~/sfdisk-<device>-<offset>.bak files. The default name of the backup file can be changed with the --backup-file option. The backup files contain only raw data from the device. For example:
sfdisk --backup-pt-sectors /dev/sda
O cabeçalho GPT pode ser restaurado posteriormente por:
dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda
seek=$((0x00000200)) bs=1 conv=notrunc
It’s also possible to use the --backup option to create the same backup immediately after startup for other sfdisk commands. For example, backup partition table before deleting all partitions from partition table:
sfdisk --backup --delete /dev/sda
The same concept of backup files is used by wipefs(8).
Observe que sfdisk desde a versão 2.26 não fornece mais a opção -I para restaurar setores. dd(1) fornece todas as funcionalidades necessárias.
CORES¶
The output colorization is implemented by terminal-colors.d(5) functionality. Implicit coloring can be disabled by an empty file
/etc/terminal-colors.d/sfdisk.disable
for the sfdisk command or for all tools by
/etc/terminal-colors.d/disable
The user-specific $XDG_CONFIG_HOME/terminal-colors.d or $HOME/.config/terminal-colors.d overrides the global setting.
Note that the output colorization may be enabled by default, and in this case terminal-colors.d directories do not have to exist yet.
The logical color names supported by sfdisk are:
header
warn
welcome
AMBIENTE¶
SFDISK_DEBUG=all
LIBFDISK_DEBUG=all
LIBBLKID_DEBUG=all
LIBSMARTCOLS_DEBUG=all
LOCK_BLOCK_DEVICE=<modo>
NOTAS¶
Desde a versão 2.26, sfdisk não oferece mais a opção -R ou --re-read para forçar o kernel a reler a tabela de partição. Use blockdev --rereadpt em vez disso.
Desde a versão 2.26, sfdisk não fornece as opções --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer, --not-inside-outer.
EXEMPLOS¶
sfdisk --list --label-nested=mbr /dev/sda
echo -e ',10M,L\n,10M,L\n,+,\n' | sfdisk /dev/sdc
echo -e 'size=10M, type=L\n size=10M, type=L\n size=+\n' | sfdisk /dev/sdc
echo -e 'type=swap' | sfdisk -N 3 /dev/sdc
sfdisk --part-type /dev/sdc 3 swap
sfdisk --delete /dev/sdc 2
echo "+,+" | sfdisk -N 3 --move-data /dev/sdc
AUTORES¶
Karel Zak <kzak@redhat.com>
A implementação atual do sfdisk é baseada no sfdisk original de Andries E. Brouwer.
VEJA TAMBÉM¶
RELATANDO PROBLEMAS¶
For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.
DISPONIBILIDADE¶
O comando sfdisk é parte do pacote util-linux que pode ser baixado do Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
2024-03-27 | util-linux 2.39.3 |