Parted é uma famosa ferramenta de linha de comando que permite gerenciar facilmente as partições do disco rígido.
parted é um programa para manipular partições de disco. Ele oferece suporte a vários formatos de tabela de partição, incluindo MS-DOS e GPT. É útil para criar espaço para novos sistemas operacionais, reorganizar o uso do disco e copiar dados para novos discos rígidos.
Se você não tem nenhuma experiência com a ferramenta parted, saiba que ele grava as alterações imediatamente em seu disco, portanto, tenha cuidado se tentar modificar as partições de seu disco.
Se quer apenas testar os comandos do parted, a melhor opção é usar uma máquina virtual(VM) ou um computador/laptop antigo sem nenhuma informação valiosa sobre ele.
Como Instalar Parted?
Debian e derivados
apt-get install partedRed Hat, CentOS, Fedora, Rocky Linux, Oracle Linux…
yum install partedVersões mais recetes do fedora ou outros derivados do Red Hat
dnf install partedExibindo Informações de Disco com a Ferramenta Parted
- Para entrar na ferramenta digite: parted
- para sair digite: quit
#1 vendo a versão da ferramenta parted
root@debian11VM:~# parted GNU Parted 3.4 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands.
Aqui você entrará dentro do parted, para sair basta digitar quit
(parted) quit
#2 Listar partições de disco
Entre no parted:
root@debian11VM:~# parted
digite print
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 16,1GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 15,1GB 15,1GB primary ext4 boot 2 15,1GB 16,1GB 1022MB extended 5 15,1GB 16,1GB 1022MB logical linux-swap(v1)
Acima estamos usando uma máquina virtual. Mas se fosse em ao executar a print também exibiria as informações e o modelo do disco rígido.
#3 usando outro disco.
Essas partições são referentes ao disco /dev/sda que o parted seleciona por padrão. Se quiser ver partições de outro disco use “select /dev/sd..”:
(parted) select /dev/sdb Using /dev/sdb
veja informações usando print
(parted) print Error: /dev/sdb: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags:
Criando Partições com parted
Antes de começar a criar partições, é importante certificar-se de que está usando(selecionou) o disco correto!
Parted pode ser usado para criar partições de disco. Essas partições podem ser primárias e lógicas.
Usamos mkpart para criar partições. mkpart recebe parâmetros como “primary” e “logical“.
#1 veja se realmente selecionou o disco correto executando print. Aqui usarei o disco /dev/sdb
(parted) print Error: /dev/sdb: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags:
#2 dê um rótulo(identificação) ao novo disco
Os rótulos devem ser um desses: “aix”, “amiga”, “bsd”, “dvh”, “gpt”, “loop”, “mac”, “msdos”,
“pc98”, ou “sun”.
(parted) mklabel gpt
#3 crie uma partição e defina um sistema de arquivos nela.
Abaixo demos o
- nome de backup
- tipo de sistema de arquivos: ext4
- início: 1
- final: 4000. Como nosso disco tem apenas 4GB coloquei 4 mil Mega Bytes que é 4 GB. Ou seja, criei apenas uma partição.
(parted) mkpart Partition name? []? backup File system type? [ext2]? ext4 Start? 1 End? 4000
#4 exiba informações novamente executando print
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 4000MB 3999MB ext4 backup
#5 saia da ferramenta parted digitando quit
(parted) quit
Formatando a partição
Acima, criamos a partição /dev/sdb1
root@debian11VM:~# ls /dev/sdb? /dev/sdb1
Vamos formatá-la com o sistema de arquivos ext4
Execute: mkfs.ext4 /dev/sdb1
root@debian11VM:~# mkfs.ext4 /dev/sdb1
Redimensionando Partições com Parted
O comando resizepart é usado para redimensionar partições. Podendo aumentar ou diminuí-las.
Para este exemplo, usaremos a partição criada anteriormente: /dev/sdb1
#1 antes de tudo, veja o número da partição com o comando print. Aproveite para checar se realmente esse é o disco que quer gerenciar
(parted) select /dev/sdb Using /dev/sdb (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 4000MB 3999MB ext4 backupNa parte de baixo, mm Number, vemos que o número é o 1
Na parte de cima, vemos que estamos usando(using) /dev/sdb
#2 iremos diminuir de 4GB(ou 4000 MB) para 3GB(ou 3000 MB).
Execute resizepart
Quando perguntando, dê o número da partição, o novo tamanho em MB e confirme com um yes.
(parted) resizepart Partition number? 1 End? [4000MB]? 3000 Warning: Shrinking a partition can cause data loss, are you sure you want to continue? Yes/No? Yes
Confira executando print
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 3000MB 2999MB ext4 backup
Excluindo uma Partição
Usamos o comando rm para remover partições. Precisaremos do número da partição e,Conforme visto acima, você pode obter facilmente esse número usando “print”. Em nosso exemplo, excluiremos a partição com o número 1 em /dev/sdb1.
Execute rm
(parted) rm Partition number? 1
Recuperando uma partição com parted
Usamos rescue para recuperar partições. Iremos recuperar a que acabamos de excluir: /dev/sdb1
Parted oferece suporte a um coamndo chamado “rescue” que ajuda a recuperar uma partição perdida. Basta passarmos um ponto inicial e final. Se uma partição for encontrada dentro desse intervalo, ele tentará restaurá-la.
execute rescue
(parted) rescue Start? 1 End? 4000 searching for file systems... 2% (time left 00:39)Information: A ext4 primary partition was found at 1049kB -> 4000MB. Do you want to add it to the partition table? Yes/No/Cancel? Yes
Acima vemos que ele encontrou uma partição e pergunta se desejamos recuperá-la. Digitei yes e veja o resultado:
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 4000MB 3999MB ext4
Alterando uma Partição no Linux com Parted
Usando o parted, podemos alterar o estado de uma “flag” nas partições do disco. As flags suportadas são:
- boot
- root
- swap
- hidden
- raid
- lvm
- lba
- legacy_boot
- irst
- esp
- palo
Os estados podem ser:
- on = ligado
- off = desligado
Para alterar uma flag, basta executar o comando “set” dentro do parted:
(parted) set 1 raid on
1 representa a partição que recuperamos acima. Definir a partição /dev/sdb1 com a flag raid. Veja o resultado:
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 4000MB 3999MB ext4 raid
Observe na parte de baixo do resultado acima.
Conclusão
Até aqui deu para ver bastante coisa sobre a ferramenta parted. Espero ter ajudado!
Fontes: categoriaoutros/help-parted
Bônus: Opções e Comandos da Ferramenta parted
Opções
-h, --help exibe uma mensagem de ajuda -l, --list lista o layout da partição em todos os dispositivos de bloco -m, --machine exibe a saída analisável da máquina --script nunca solicita a intervenção do usuário -v, --version mostra a versão -a alignment-type, --align alignment-type Defina o alinhamento para partições recém-criadas, os tipos de alinhamento válidos são: none Use o alinhamento mínimo permitido pelo tipo de disco. cylinder Alinhe as partições aos cilindros. minimal Use o alinhamento mínimo fornecido pelas informações de topologia do disco. Isso e o valor opt usará as informações de layout fornecidas pelo disco para alinhar o endereços da tabela de partições lógicas para blocos físicos reais nos discos. O valor mínimo é o alinhamento mínimo necessário para alinhar a partição adequadamente aos blocos físicos, o que evita a degradação do desempenho. optimal Use o alinhamento ideal conforme fornecido pelas informações de topologia do disco. Isso alinha a um múltiplo do tamanho do bloco físico de forma a garantir a otimização atuação.
Comandos
[dispositivo] O dispositivo de bloco a ser usado. Quando nenhum for fornecido, o parted usará o primeiro bloco dispositivo que encontrar. [comando [opções]] Especifica o comando a ser executado. Se nenhum comando for dado, parted apresentará um prompt de comando. Os comandos possíveis são: help [command] Imprime ajuda geral ou ajuda no comando , se especificado. align-check tipo particao Verifique se a partição satisfaz a restrição de alinhamento do tipo . tipo deve ser "minimal" ou "optimal". mklabel tipo-rotulo Crie um novo disklabel (tabela de partição) de label-type . o tipo de etiqueta deve ser um dos"aix", "amiga", "bsd", "dvh", "gpt", "loop", "mac", "msdos", "pc98", ou "sun". mkpart tipo_part [fs-tipo] inicio fim Cria uma partição part-type para o sistema de arquivos fs-type (se especificado), começando no início e terminando no final (por padrão em megabytes). tipo de peça deve ser "primary", "logical", ou "extended". name nome_da_partição Defina o nome da partição como nome. Esta opção funciona apenas em Mac, PC98 e Rótulos de disco GPT. O nome pode ser colocado entre aspas, se necessário. print Mostra a tabela de partições. quit Sair do parted. Rescue inicio fim Resgatar uma partição perdida que estava localizada em algum lugar entre o início e o fim.Se uma partição for encontrada, o parted perguntará se você deseja criar uma entrada para a tabela de partições. resizepart particao fim Altere a posição final da partição . Observe que isso não modifica nenhum sistema de arquivos presente na partição. rm partição Excluir partição . select dispositivo Escolha o dispositivo como o dispositivo atual a ser editado. dispositivo geralmente deve ser um dispositivo de disco rígido do Linux, mas pode ser uma partição, dispositivo de invasão de software ou um volume lógico LVM, se necessário. set Altere o estado do sinalizador na partição para o estado . Os sinalizadores suportados são: "boot", "root", "swap", "hidden", "raid", "lvm", "lba", "legacy_boot", "irst", "esp" e "palo". estado deve ser "on" ou "off". unit Defina a unidade como a unidade a ser usada ao exibir locais e tamanhos e para terpretando aqueles dados pelo usuário quando não sufixados com um explícito unidade. a unidade pode ser "s" (setores), "B" (bytes), "kB", "MB", "MiB", "GB", "GiB", "TB", "TiB", "%" (porcentagem do tamanho do dispositivo), "cyl" (cilindros), "chs" (cilindros, cabeçotes, setores) ou "compacto" (megabytes para entrada e um formulário amigável para saída). toggle Alterna o estado do sinalizador na partição . version Exibir informações de versão e uma mensagem de direitos autorais.