Introdução
O utilitário parted é um programa utilizado para manipular partições no Linux. Com ele é possível adicionar, deletar, editar e redimensionar partições existentes nos discos, além de poder manipular os sistemas de arquivos dessas partições. O parted é semelhante ao já conhecido fdisk, porém a grande vantagem é a possibilidade em se trabalhar com a estrutura GPT (Tabela de Partição Guid) que é um novo layout relativo a particionamento de discos rígidos. O GPT traz muitos benefícios comparativamente ao tradicional MBR (Master boot record), dos quais se destacam:
- Suporte para partições acima dos 2 TB (ou seja, 2^64 blocos, um máximo de 1 ZB).
- Apesar de poderem ser criadas um número ilimitado de partições, o GPT “apenas” suporta 128 partições primárias
- Melhor estrutura/organização ao nível das partições
- Possui mecanismos para detecção da dados e partições corrompidas
- Aumenta a probabilidade de recuperação de dados, na existência de sectores do disco danificados, uma vez que tem um cabeçalho secundário (Secondary GPT Header) que funciona como backup da tabela de partições.
O Parted tem dois modos: linha de comando e interativo.
Comandos
Versão utilizada: GNU Parted 2.1
Os comandos “RESIZE” e “CP” foram removidos em versões mais atuais.
help [COMANDO] | Exibe a ajuda geral, ou ajuda para o COMANDO |
mklabel | Cria uma nova tabela de partição do tipo TIPO-LABEL, a qual pode ser bsd, gpt, loop, mac, msdos, sun, pc98 ou dvh |
mkpart PART-TYPE [FS-TYPE] START END | Cria uma partição do tipo TIPO-PART com o sistema de arquivos TIPO-FS (opcional) começando em início e terminando em fim (especificados em megabytes por padrão). O TIPO-FS pode ser fat16, fat32, ext2, ext3, HFS, linux- swap, NTFS, reiserfs ou ufs. O TIPO-PART pode ser primary (primária), extended
(estendida) ou logical (unidade lógica) |
name NUMBER NAME | Renomeia a partição com o nome fornecido. Funciona apenas quando o rótulo de disco (disklabel) da partição for mac, pc98 ou GPT |
print [devices|free|list,all|NÚMERO] | Exibe a tabela de partições, dispositivos disponíveis, espaço livre, todas as partições encontradas ou uma partição específica |
select DEVICE | Escolhe o dispositivo para editar |
rm NUMBER | Apaga a partição NUMERO |
set NUMBER FLAG STATE | Muda o estado da flag na partição para o estado desejado. As flags suportadas são: boot (Mac, msdos), root (Mac), swap (Mac), raid (msdos), lvm (msdos) ou
lbs (msdos). Os estados possíveis são on ou off. |
rescue START END | Recupera uma partição perdida próxima do INÍCIO e FIM |
*** resize NUMBER START END | Redimensiona a partição NUMERO e seu sistema de arquivos |
*** cp [FROM-DEVICE] FROM- NUMBER TO-NUMBER | Copia o sistema de arquivos para outra partição |
unit UNIT | Configura a unidade que será usada para mostrar tamanhos de partições e discos, e também para entender a entrada do usuário quando não for fornecido um sufixo de unidade apropriado. 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ças e setores) ou “compact”
(megabytes para entrada, e formato amigável para saída). |
version | Exibe o número da versão e informações de direitos autorais do GNU Parted |
quit | Sair do programa |
Mãos a Obra
SELECIONAR DISCO E MOSTRAR AS PARTIÇÕES
Passo 1: Listar o layout das partições em todos os dispositivos de bloco presente.
# parted -l
Passo 2: Selecionar o disco a ser utilizado, usando o comando “select”
(parted) select /dev/sdb
Passo 3: Exibir na tela as partições usando o comando “print”.
(parted) print
CRIANDO UMA PARTIÇÃO NO DISCO SELECIONADO (/dev/sdb)
Passo 1: Primeiramente, vamos criar um label (tabela de partições) do tipo desejado no disco. Como exemplo usaremos gpt.
(parted) mklabel gpt
Passo 2: Criaremos a partição com o comando “mkpart”.
(parted) mkpart primary ext4 0% -1
Entendendo cada complemento empregado:
Primary -> aqui definimos o tipo de partição, podendo ser primária, estendida ou uma unidade lógica.
Ext4 -> definimos o tipo de sistema de arquivos a usar. Podemos escolher entre fat16, fat32, ext2, ext3, HFS, linux- swap, NTFS, reiserfs ou ufs.
0% -> local onde a partição inicia no disco.
-1 -> local onde a partição terminará.
A partição ainda não foi formatada. Especificar a opção ext4 para o sistema de arquivos apenas configura o ID correto para o sistema de arquivos que será utilizado.
De forma a finalizar a partição, necessitamos sair do parted com o comando “quit”, e então formatar a partição com o utilitário mkfs.ext4
(parted) quit
# mkfs.ext4 /dev/sdb1
VERIFICANDO E EXCLUINDO PARTIÇÕES COM PARTED NO LINUX
Passo 1: Verificar os discos e partições existentes em nosso sistema
(parted) print all
Passo 2: Selecionar o disco que será configurado, que no caso será o disco /dev/sdb: (parted) select /dev/sdb
Passo 3: Consultar a tabela de partições do disco
(parted) print
Passo 4: Excluir a partição do disco selecionado
(parted) rm 1
RESGATAR UMA PARTIÇÃO PERDIDA
Isso é útil se você excluiu acidentalmente uma partição com o comando rm de parted, por exemplo.
Passo 1: Selecionar o disco que será configurado, que no caso será o disco /dev/sdb e consultar a tabela de partições do disco
(parted) print
Passo 2: Podemos verificar na imagem abaixo que foi excluído a partição 2 do disco selecionado.
Passo 3: Ao utilizar o comando rescue juntamente com o local de início e fim da procura, será exibido um alerta da partição encontrada, solicitando a criação da partição.
Passo 4: Exibindo a lista de partições do disco, verificamos que a partição foi recuperada.
Melhores Práticas
Importante sempre lembrar que é necessário criar partições devidamente alinhadas para o melhor desempenho. Desta forma ao utilizar o utilitário parted:
- Adiciona-se a opção –a seguido de “optimal”;
- Seta cyl como unidade;
- Utiliza porcentagens para obter o melhor alinhamento do setor.
Passo 1: parted -a optimal /dev/sdb
Passo 2: unit cyl
Passo 3: criando as partições com as melhores práticas.
Como podemos perceber não foi exibido nenhum alerta, indicativo que realmente foi criado uma partição devidamente alinhada para o melhor desempenho.
Passo 4: Verificando o alinhamento das partições.
Referências
Linux How To Partition a Hard Drive Using the Parted Command
https://www.youtube.com/watch?v=2IoEWy1QNSU
GNU Operating System
https://www.gnu.org/software/parted/
Red Hat Enterprise Linux 3
http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ch-disk-storage.html
GNU Parted – News
https://savannah.gnu.org/forum/forum.php?forum_id=6356
GNU Parted User Manual
https://www.gnu.org/software/parted/manual/parted.pdf
Planeta Unix
http://www.planetaunix.com.br/2016/08/particionando-discos-com-o-utilitario.html
Viva o Linux
https://www.vivaolinux.com.br/artigo/Exemplos-praticos-de-comandos-com-Parted?pagina=3