Ambiente
Este tutorial foi elaborado utilizando o terminal do Slackware 15.
Guia Rápido
Se você já sabe o que está fazendo e precisa apenas de informações adicionais ou esqueceu algum comando, este guia rápido é para você.
# bash
# Listar discos e partições lsblk # Gerenciar partições gdisk /dev/sdX # No gdisk p Lista partições ? Mostra ajuda n Adiciona partição d Remove partição c Altera o nome da partição t Altera o tipo da partição x Habilita modo avançado w Grava as alterações no disco # Tipos de partições 8300 Sistema de arquivos Linux (ext4, xfs, etc) 8200 Linux swap 0700 Microsoft basic data (NTFS, FAT) # Formata com ext4 mkfs -t ext4 /dev/sdc1 # Formata com NTFS mkntfs -f /dev/sdc1
A seguir, um tutorial completo com exemplos e explicações detalhadas sobre o particionamento e formatação de discos no Linux.
Gerenciamento de discos e partições
Para começar, liste os discos e suas partições utilizando o comando lsblk.
# bash
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 10G 0 part /tmp ├─sda2 8:2 0 10G 0 part /var └─sda3 8:3 0 445.8G 0 part /home sdb 8:16 0 29.8G 0 disk ├─sdb1 8:17 0 100M 0 part /boot/efi └─sdb2 8:18 0 29.7G 0 part / sdc 8:32 1 14.6G 0 disk └─sdc1 8:33 1 14.6G 0 part
Neste artigo o disco que será manipulado está identificado como sdc. Ele possui uma partição já criada, identificada como sdc1. Para identificar corretamente o disco que deseja manipular, verifique o tamanho, as partições existentes e o ponto de montagem (se houver).
Caso ainda haja dúvidas, execute o comando lsblk com o disco desconectado e, em seguida, conecte o disco e execute o comando novamente. Dessa forma, você poderá comparar as saídas e identificar o disco corretamente.
MBR ou GPT
Sempre que houver suporte, a melhor escolha é utilizar a tabela de partições GPT. Ela oferece maior segurança, suporte a discos de maior capacidade e permite um número maior de partições.
A tabela MBR deve ser utilizada apenas em casos específicos, como: Sistemas antigos que utilizam BIOS legado ou discos externos que serão usados em múltiplos hardwares, para garantir a compatibilidade máxima.
Para manipular partições em discos com GPT, utiliza-se o gdisk enquanto para MBR é usado o fdisk. Para iniciar o particionamento execute gdisk /dev/sdX, onde X é a identificação específica do seu disco.
# bash
gdisk /dev/sdc
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help):
Agora estamos dentro do console de comandos do gdisk. Esclarecendo:
GPT: present O disco está configurado com GPT.
MBR: protective Existe uma MBR protetiva, que impede que ferramentas antigas (que só reconhecem MBR) interpretem o disco como não particionado e tentem formatá-lo.
Dentro do console do gdisk, você pode utilizar os seguintes comandos:
- Digite p para listar as partições atuais do disco.
- Digite ? para exibir a lista de comandos disponíveis.
- Digite x para habilitar funcionalidades avançadas (recomendado apenas para especialistas).
- Digite ? novamente para ver a lista completa de comandos avançados.
Destruindo a tabela de partições GPT
Vamos remover completamente as tabelas de partições do disco, tanto a GPT quanto a MBR protetiva. Por que fazer isso? Para mudar a tabela de partições. Ao destruí-la, o disco ficará sem formatação, como se tivesse saído de fábrica, permitindo que você escolha entre criar uma tabela de partição MBR com fdisk ou recriar a tabela GPT com o gdisk.
# bash
gdisk /dev/sdc Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Command (? for help): x # Habilita comandos avançados Expert command (? for help): z # Remove a tabela GPT About to wipe out GPT on /dev/sdc. Proceed? (Y/N): y # Confirma a remoção GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. Blank out MBR? (Y/N): y # Remove a MBR protetiva
Ao final do comando, o gdisk será encerrado. Entre novamente e repare que o disco não possui nenhuma tabela presente.
# bash
gdisk /dev/sdc
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help):
Ao criar novas partições em um disco sem tabelas de partições o gdisk criará automaticamente a estrutura GPT, juntamente com a MBR protetiva.
Criando partições no Linux
Vamos começar criando uma única partição para o Linux, utilizando todo o espaço disponível no disco.
# bash
gdisk /dev/sdc Command (? for help): n # Para adicionar uma nova partição Partition number (1-128, default 1): Enter ↲ # Número da partição First sector (34-30529502, default = 2048) or {+-}size{KMGTP}: Enter ↲ Last sector (2048-30529502, default = 30529502) or {+-}size{KMGTP}: Enter ↲ Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): Enter ↲ Command (? for help): p # Lista as partições Number Start (sector) End (sector) Size Code Name 1 2048 30529502 14.6 GiB 8300 Linux filesystem Command (? for help): w # Escreve as alterações em disco Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y # Confirma OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully.
- n Inicia o processo para adicionar uma nova partição
- Partition number (1-128, default 1) Número de identificação da partição dentro da tabela de particionamento. Permite a manipulação individual de cada partição. Ao pressionar Enter ↲ o próximo número sequencial disponível será utilizado.
- First sector Primeiro setor a partir do qual a partição será criada (início da partição). A não ser que você saiba o que está fazendo, pressione Enter ↲ para usar o primeiro setor disponível.
- Last sector Último setor, até onde a partição deve se extender. Esta opção vem pré configurada com o último setor disponível. Se você deseja criar uma única partição com todo o espaço do disco, basta pressionar Enter ↲.
- {+-}size{KMGTP} Kilo Mega Giga Tera Peta Bytes. Para criar partições com tamanhos personalizados, defina o valor do último setor com o dimensionamento desejado, por exemplo, +250G. Isso criará uma partição de 250 Gigabytes.
- Current type is 8300 (Linux filesystem) Indica o tipo de partição atual.
- Hex code or GUID (L to show codes, Enter = 8300): Para listar outros tipos pressiona L + Enter ↲. Um prompt de pesquisa será disponibilizado, digite o que está procurando e pressione Enter ↲. Pressione Enter ↲ sem digitar nada para exibir a lista completa dos tipos disponíveis.
- p lista as partições, w escreve a partição no disco e y confirma.
Quando se trata de criação e exclusão de partições, todas as alterações configuradas no gdisk só são gravadas no disco após usar a opção w (write). Portanto, se você cometer algum erro durante o processo, basta sair do programa ( q ) para descartar as alterações.
Por outro lado, ao concluir as alterações desejadas, não se esqueça de gravar as mudanças no disco utilizando a opção w antes de sair. Caso contrário, todo o seu trabalho será perdido.
Aqui estão os códigos dos tipos de partições mais comuns para Linux e Windows:
- 8300 (Linux filesystem) Para usar sistemas de arquivos do Linux, como ext4 e xfs.
- 8200 (Linux swap) Para criar uma partição swap no Linux.
- 0700 (Microsoft basic data) Para criar partições compatíveis com Windows, como NTFS ou FAT.
Pesquise para outros sistemas.
Alterando o nome da partição
No console do gdisk, utilize o comando c seguido pelo índice da partição (caso haja mais de uma). Digite o novo nome e grave as alterações com w. Observe que o novo nome só será reconhecido pelo sistema após a formatação da partição.
Excluindo uma partição
Dentro do gdisk, use a opção d e depois o número de índice da partição que deseja excluir. Grave as alterações em disco com w.
Se houver apenas uma única partição, ela será excluída automaticamente, sem a necessidade de especificar o número de índice. Use p para listar as partições e confirmar se as alterações foram aplicadas corretamente.
Antes de formatar
As partições no Linux são identificadas pelo nome do disco seguido de um número sequencial. Em nosso exemplo, o disco é sdc, e suas partições seriam sdc1, sdc2, e assim por diante.
Use o comando lsblk para encontrar o nome atribuído à sua partição. No nosso caso, será considerado sdc1. Certifique-se de que as partições foram criadas com os tipos apropriados antes de formatá-las.
Formatando com ext4
# bash
# Formata como ext4 mkfs -t ext4 /dev/sdc1 # Se um sistema de arquivos estiver presente, pode ser exibido um aviso /dev/sdc1 contains a vfat file system labelled 'WINDOWS' Proceed anyway? (y,N) y # Confirme
Após a conclusão, a partição estará pronta para uso no Linux.
Se este for o seu caso, identifique o ponto de montagem e altere a permissão para seu usuário e grupo:
# bash
lsblk sdc 8:32 1 14.6G 0 disk └─sdc1 8:33 1 14.6G 0 part /run/media/seu_usuario/sua_particao chown -R seu_usuario:seu_grupo /run/media/seu_usuario/sua_particao
Alterando tipo e nome
Continuando a partir do exemplo anterior, será demonstrado como alterar o tipo e o nome da partição antes de formatar com NTFS. Se você já criou a partição com o tipo adequado pule o próximo passo.
# bash
gdisk /dev/sdc Command (? for help): p # Lista partições Number Start (sector) End (sector) Size Code Name 1 2048 30529502 14.6 GiB 8300 Linux Command (? for help): t # Altera o tipo Using 1 Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): 0700 # Novo tipo Changed type of partition to 'Microsoft basic data' Command (? for help): c # Muda o nome Using 1 Enter name: Windows # Novo nome Command (? for help): p # Lista partições Number Start (sector End (sector) Size Code Name 1 2048 30529502 14.6 GiB 0700 Windows Command (? for help): w # Grava em disco Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y # Confirma OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully.
Formatando com NTFS
# bash
mkntfs -f /dev/sdc1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
Use a opção -f ou --fast para uma formatação rápida. Caso contrário, o processo pode demorar horas, dependendo do tamanho do disco.
Tabela de partições MBR
Para gerenciar partições com a tabela MBR, utiliza-se o comando fdisk. A seguir, será demonstrado um exemplo prático completo, que inclui:
- Remover a tabela de partições GPT de um disco.
- Criar duas novas partições usando a tabela MBR.
- Formatá-las, uma com ext4 e a outra com NTFS.
Este exemplo utiliza toda a base de conhecimento disponibilizada neste tutorial.
# bash
# Nosso disco: sdc gdisk /dev/sdc # Habilita comandos avançados Command (? for help): x # Destroi estrutura GPT e sai Expert command (? for help): z # Confirma About to wipe out GPT on /dev/sdc. Proceed? (Y/N): y GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. # Remove MBR protetiva Blank out MBR? (Y/N): y # Inicia o fdisk fdisk /dev/sdc # Cria uma nova partição Command (m for help): n # Define o tipo como primária Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p # Define o índice da partição (padrão: 1) Partition number (1-4, default 1): Enter ↲ # Define o primeiro setor (padrão: 2048) First sector (2048-30529535, default 2048): Enter ↲ # Define o tamanho da partição em 7 Gigabytes Last sector, +/-sectors or +/-size{K,M,G,T,P}: +7G Created a new partition 1 of type 'Linux' and of size 7 GiB. Partition #1 contains a ntfs signature. # Remove configuração antiga Do you want to remove the signature? [Y]es/[N]o: y The signature will be removed by a write command. # Cria uma segunda partição Command (m for help): n # Define o tipo como primária Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p # Define o índice da partição (padrão: 2) Partition number (2-4, default 2): Enter ↲ # Define o primeiro setor (padrão: próximo disponível) First sector (14682112-30529535, default 14682112): Enter ↲ # Define o último setor, usando o restante do disco Last sector, +/-sectors or +/-size{K,M,G,T,P}: Enter ↲ Created a new partition 2 of type 'Linux' and of size 7.6 GiB. # Mostra as partições recém-criadas Command (m for help): p Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 14682111 14680064 7G 83 Linux /dev/sdc2 14682112 30529535 15847424 7.6G 83 Linux Filesystem/RAID signature on partition 1 will be wiped. # Altera o tipo da partição 2 para NTFS Command (m for help): t # Escolhe a partição número 2 Partition number (1,2, default 2): 2 # Define o tipo como HPFS/NTFS/exFAT (código 07) Hex code or alias (type L to list all): 07 Changed type of partition 'Empty' to 'HPFS/NTFS/exFAT'. # Lista as partições Command (m for help): p Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 14682111 14680064 7G 83 Linux /dev/sdc2 14682112 30529535 15847424 7.6G 7 HPFS/NTFS/exFAT # Escreve as alterações no disco Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. # Formatando partição 1 com ext4 # -O 64bit: Habilita suporte para sistema de arquivos 64 bits mkfs -t ext4 -O 64bit /dev/sdc1 # Confirme a formatação mke2fs 1.46.5 (30-Dec-2021) /dev/sdc1 contains `DOS/MBR boot sector...` Proceed anyway? (y,N) y Creating filesystem with 1835008 4k blocks and 458752 inodes Filesystem UUID: 1b5d99d0-9647-4cd5-96e4-b91f49ffab0f Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done # Formatando partição 2 com NTFS mkntfs -f /dev/sdc2 Cluster size has been automatically set to 4096 bytes. Creating NTFS volume structures. mkntfs completed successfully. Have a nice day. # Nomeia como "Linux" a partição ext4 e2label /dev/sdc1 "Linux" # Nomeia como "Windows" a partição NTFS ntfslabel /dev/sdc2 "Windows"
Partições sendo reconhecidas no KDE ↓
Referências
A base deste artigo foi construída com conhecimento e experiência pessoal, somados a consultas e testes.