Linux / Comando parted: consultar partições, espaço não alocado e limites
O comando parted, do projeto GNU, consulta tabelas de partições e permite criar, remover ou alterar os limites das partições. Para examinar um disco, use as formas de listagem e print; comandos de alteração podem ser gravados imediatamente, sem uma etapa final de “salvar”.
print free também mostra os intervalos que não estão alocados a partições. Esse espaço é diferente do espaço livre dentro de um sistema de arquivos, consultado com ferramentas como df. Alterar uma partição e redimensionar o sistema de arquivos que ela contém são operações distintas.
Sintaxe e preparação da consulta
parted [opções] [disco] [comando]
Os colchetes representam elementos da sintaxe e não são digitados literalmente. Informe o dispositivo pretendido em vez de deixar o programa escolher um alvo. As opções com hífen, como -l, pertencem à linha de comando; print, unit e resizepart são comandos do Parted. Confira man parted, parted --help e parted --version no sistema utilizado.
Identifique o disco inteiro, suas partições, o modelo e a capacidade antes da consulta. Os exemplos usam /dev/sdb somente como referência: substitua esse nome pelo alvo verificado. Se uma consulta oferecer corrigir uma tabela inconsistente, não autorize uma correção apenas para obter a listagem; uma resposta de reparo transforma a atividade em uma alteração e exige avaliação própria.
No Bash 5.3.9 do Git para Windows usado nesta verificação, parted e lsblk não estavam disponíveis. Versão, ajuda e consultas sem sudo retornaram “command not found”. mktemp e truncate, do GNU coreutils 8.32, estavam disponíveis, mas o laboratório completo não foi executado porque faltava GNU Parted. Houve apenas análise de sintaxe dos exemplos, sem ler discos Linux, criar a imagem ou modificar partições.
Exemplos para examinar discos e espaço não alocado
Listar as estruturas reconhecidas
Com autorização para consultar os dispositivos do Linux, liste as tabelas dos dispositivos de bloco reconhecidos. A saída depende do que está visível para esse sistema; não é um inventário garantido de todo armazenamento remoto ou de outros ambientes.
sudo parted -l
Consultar um disco e seus intervalos livres
Esta forma seleciona o disco, usa MiB na exibição e pede as partições e os espaços não alocados. MiB significa mebibyte, equivalente a 1.048.576 bytes. Não confunda a indicação de espaço não particionado com dados apagados ou com autorização para reutilizar o disco.
sudo parted /dev/sdb unit MiB print free
A expressão unit MiB define a unidade da sessão, sem redimensionar a partição. Quando usada na entrada de posições, uma unidade binária explícita como MiB tem comportamento diferente de MB ou GB decimais. Consulte o tamanho do setor e as restrições de alinhamento antes de planejar limites; não copie valores arredondados de uma listagem para uma alteração.
Comparar com a hierarquia e as montagens
Confirme modelo, tamanho e a relação entre disco, partições e pontos de montagem. O campo TYPE de lsblk indica o tipo de dispositivo, não o formato do sistema de arquivos.
lsblk -o NAME,SIZE,MODEL,TYPE,MOUNTPOINTS
O guia de lsblk ajuda a interpretar essa hierarquia. Modelo e capacidade não identificam um disco de maneira única, e um ponto de montagem vazio não demonstra que seus dados possam ser descartados.
Distinguir a tabela, as partições e o sistema de arquivos
A consulta abaixo mostra a tabela do disco escolhido, sem solicitar criação de partições nem formatação. Continue atento a diagnósticos ou propostas de reparo; não aceite uma alteração como se fosse apenas uma consulta.
sudo parted /dev/sdb print
O trecho abaixo ilustra somente a estrutura do cabeçalho da saída. Ele não é uma medição desta verificação e não contém linhas de partições, portanto não permite concluir onde elas começam, terminam ou se há espaço disponível.
Model: ...
Disk /dev/sdb: 20.0GB
Partition Table: gpt
Number Start End Size File system Name
ModeleDisk: identificação e capacidade apresentadas para o dispositivo consultado. O texto20.0GBusa uma unidade decimal; não equivale a 20 GiB.Partition Table: formato da tabela. GPT significa GUID Partition Table, uma tabela de partições que usa identificadores globalmente únicos.Number,Start,EndeSize: número da partição, posições inicial e final e tamanho, quando as respectivas linhas aparecem.File systemeName: informações detectadas sobre o sistema de arquivos e o nome da partição, conforme o formato e a saída. Não demonstram, por si só, integridade ou montagem.
O comando resizepart altera a posição final da partição, não o sistema de arquivos dentro dela. Reduzir os limites antes de reduzir um sistema de arquivos que suporta essa operação pode cortar dados. Ampliar a partição também não faz o sistema de arquivos aproveitar automaticamente o espaço novo: cada etapa exige sua ferramenta e suas condições.
Opções principais e comandos
| Opção ou comando | Função e limite |
|---|---|
-l |
Lista as estruturas dos dispositivos de bloco reconhecidos pelo programa. |
-s |
Executa em modo de script, sem perguntas interativas. Não ativa um modo somente para leitura e não garante que uma operação tenha sucesso. |
unit unidade |
Define a unidade de exibição e a interpretação das posições sem sufixo explícito. |
print free |
Mostra a tabela e os intervalos não particionados. Não mede espaço livre dentro de um sistema de arquivos. |
resizepart número fim |
Altera a posição final da partição indicada. fim é uma posição no disco, não o tamanho desejado do sistema de arquivos. |
No Parted, mklabel cria uma tabela nova, substituindo a anterior, e rm remove uma entrada de partição. Esses comandos podem tornar os dados inacessíveis. Sair com quit não desfaz uma alteração já aplicada. A lógica difere da edição normal com w no guia de fdisk.
Praticar os limites em um arquivo de imagem novo
O laboratório usa apenas um arquivo novo de 64 MiB, criado em um diretório temporário seu. Execute-o no Bash de um Linux com GNU Parted, mktemp e truncate instalados, sem sudo. Ele não usa um dispositivo de /dev, não monta a imagem e não cria um sistema de arquivos dentro da partição.
O argumento ext4 de mkpart serve para selecionar o código apropriado da partição; não executa mkfs.ext4. O uso de --script é limitado à imagem recém-criada. Preserve as variáveis e as aspas: nunca substitua o caminho da imagem por um disco em uso.
O caminho do arquivo é mostrado antes das alterações para permitir identificá-lo mesmo se uma etapa falhar. Os parênteses executam o bloco em um subshell, e set -eu interrompe esta sequência em caso de erro ou variável não definida; isso não reverte as alterações que já tiverem sido feitas na imagem.
(
set -eu
labdir=$(mktemp -d)
image="$labdir/disk.img"
printf 'Arquivo do laboratório: %s\n' "$image"
truncate -s 64M "$image"
parted --script "$image" mklabel gpt
parted --script "$image" mkpart lab ext4 1MiB 33MiB
parted "$image" unit MiB print free
parted --script "$image" resizepart 1 49MiB
parted "$image" unit MiB print free
printf 'Imagem de laboratório: %s\n' "$image"
)
O resultado esperado da primeira listagem é uma partição GPT número 1, chamada lab, com início próximo de 1 MiB e fim próximo de 33 MiB. Após resizepart 1 49MiB, o início deve permanecer e o fim deve aparecer próximo de 49 MiB. Compare as duas listagens, respeitando a unidade e o arredondamento mostrados; esses são resultados esperados segundo os comandos, não uma saída Linux executada nesta verificação.
Como não foi criado um sistema de arquivos, o laboratório demonstra somente a alteração dos limites. Ele não testa preservação de arquivos nem um procedimento de expansão ou redução de um sistema de arquivos real. A coluna de sistema de arquivos não deve ser interpretada como prova de que ext4 foi criado.
Para encerrar o laboratório, confira o caminho exato mostrado e remova somente o arquivo disk.img dessa execução; depois remova o diretório temporário apenas se estiver vazio. Não faça uma exclusão recursiva de um caminho deduzido. Se o bloco terminou com erro, examine a imagem identificada antes de decidir o que refazer; sair do programa não desfaz suas alterações.
Planejar alterações em discos com dados
- Confirme a identidade e o uso do alvo. Relacione o disco inteiro às partições, montagens e demais camadas. Resolva qualquer divergência entre as consultas antes de continuar.
- Prepare a recuperação. Preserve os dados e a informação da tabela em outro destino e verifique como restaurá-los. Uma cópia da tabela não substitui o backup dos arquivos que podem ser sobrescritos.
- Confira o suporte e a ordem das operações. Redução e expansão dependem do sistema de arquivos e de sua capacidade de trabalhar montado ou desmontado. Se houver criptografia ou LVM, o gerenciador de volumes lógicos, planeje também essas camadas; o laboratório da imagem não valida esse procedimento.
- Confira o estado após a alteração. Leia diagnósticos, compare os limites e confirme o que o sistema reconhece antes de retomar serviços. Não trate uma consulta bem-sucedida como autorização automática para criar, remover ou redimensionar partições.
Pergunta frequente
É preciso salvar as alterações antes de sair de parted?
Os comandos de alteração podem ser aplicados ao disco assim que são aceitos. Não espere uma etapa final com w, como na edição normal de fdisk, e não considere quit uma forma de descartar o que já foi feito. Confirme o alvo, as opções e o plano antes de enviar qualquer comando de modificação.
Documentação
O manual GNU Parted detalha print, mkpart, resizepart e as unidades. A página de manual de parted também descreve as opções e seus argumentos; confira a documentação correspondente à versão instalada.




