10 fdisk Commands to Manage Linux Disk Partitions
fdisk stands (para “disco fixo ou disco de formato”) é um utilitário de manipulação de disco baseado na linha de comando mais comummente utilizado para sistemas Linux/Unix. Com a ajuda do comando fdisk pode ver, criar, redimensionar, apagar, alterar, copiar e mover partições num disco rígido usando a sua própria interface baseada em menus de fácil utilização.
Esta ferramenta é muito útil em termos de criar espaço para novas partições, organizar espaço para novas unidades, reorganizar uma unidade antiga e copiar ou mover dados para novos discos. Permite-lhe criar um máximo de quatro novas partições primárias e número de partições lógicas (alargadas), com base no tamanho do disco rígido que tem no seu sistema.
Este artigo explica 10 comandos fdisk básicos para gerir uma tabela de partições em sistemas baseados em Linux. Deve ser utilizador root para executar o comando fdisk, caso contrário obterá um erro “comando não encontrado”.
Ver todas as Partições de Disco no Linux
O seguinte comando básico lista todas as partições de disco existentes no seu sistema. O argumento ‘-l’ significa (listando todas as partições) é usado com o comando fdisk para ver todas as partições disponíveis no Linux. As partições são exibidas pelos nomes dos seus dispositivos. Por exemplo: /dev/sda, /dev/sdb ou /dev/sdc.
# fdisk -lDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Visualizar partição específica de disco em Linux
Para visualizar todas as partições de disco rígido específico, utilize a opção ‘-l’ com o nome do dispositivo. Por exemplo, o seguinte comando exibirá todas as partições de disco de dispositivo /dev/sda. Se tiver nomes de dispositivos diferentes, escreva simplesmente o nome do dispositivo como /dev/sdb ou /dev/sdc.
# fdisk -l /dev/sdaDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Verifica todos os comandos de fdisk disponíveis
Se desejar visualizar todos os comandos disponíveis para fdisk. Basta usar o seguinte comando mencionando o nome do disco rígido, tal como /dev/sda, como se mostra abaixo. O seguinte comando dar-lhe-á a saída semelhante a abaixo.
Digite ‘m’ para ver a lista de todos os comandos disponíveis do fdisk que podem ser operados no disco rígido /dev/sda. Depois de introduzir ‘m’ no ecrã, verá todas as opções disponíveis para fdisk que podem ser utilizadas no dispositivo /dev/sda.
# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)Command (m for help):
Imprimir todas as tabelas de partições no Linux
Para imprimir todas as tabelas de partições do disco rígido, deve estar em modo de comando de um disco rígido específico, digamos /dev/sda.
# fdisk /dev/sda
No modo de comando, digite ‘p’ em vez de ‘m’ como fizemos anteriormente. Ao introduzir ‘p’, irá imprimir a tabela de partição específica /dev/sda.
Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVMCommand (m for help):
Como apagar uma partição no Linux
Se desejar apagar uma partição específica (isto é /dev/sda9) do disco rígido específico, como /dev/sda. Deve estar em modo de comando fdisk para o fazer.
# fdisk /dev/sda
Next, introduza ‘d’ para apagar qualquer nome de partição dado do sistema. Ao digitar ‘d’, irá solicitar-me que introduza o número da partição que pretendo apagar do disco rígido /dev/sda. Suponhamos que introduzo aqui o número ‘4’, então ele irá apagar a partição número ‘4’ (i.e. /dev/sda4) do disco e mostra o espaço livre na tabela de partições. Introduzir ‘w’ para escrever tabela no disco e sair depois de fazer novas alterações à tabela de partições. As novas alterações só terão lugar após a próxima reinicialização do sistema. Isto pode ser facilmente compreendido a partir da saída abaixo.
Aviso : Tenha cuidado, enquanto executa este passo, porque usando a opção ‘d’ apagará completamente a partição do sistema e poderá perder todos os dados na partição.
Como Criar uma Nova Partição em Linux
Se tiver espaço livre deixado num dos seus dispositivos diga /dev/sda e gostaria de criar uma nova partição sob ela. Então deve estar no modo de comando fdisk de /dev/sda. Digite o seguinte comando para entrar no modo de comando de um disco rígido específico.
# fdisk /dev/sda
Após entrar no modo de comando, prima agora o comando “n” para criar uma nova partição em /dev/sda com tamanho específico. Isto pode ser demonstrado com a ajuda de seguir uma dada saída.
Enquanto se cria uma nova partição, pedir-lhe-á duas opções: criação de partição ‘alargada’ ou ‘primária’. Prima ‘e’ para a partição alargada e ‘p’ para a partição primária. Em seguida, pedir-lhe-á para entrar seguindo duas entradas.
- Primeiro número de cilindro da partição a ser criada.
- Primeiro número de cilindro da partição a ser criada (último cilindro, + cilindros ou + tamanho).
Pode inserir o tamanho do cilindro adicionando “+5000M” no último cilindro. Aqui, “+” significa adição e 5000M significa tamanho da nova partição (i.e. 5000MB). Tenha em mente que depois de criar uma nova partição, deve executar o comando ‘w’ para alterar e guardar novas alterações na tabela de partições e finalmente reiniciar o seu sistema para verificar a nova partição criada.
Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.
Como formatar uma partição no Linux
Após a nova partição ser criada, não salte para formatar a nova partição criada usando o comando ‘mkfs’. Digite o seguinte comando no terminal para formatar uma partição. Aqui /dev/sda4 é a minha nova partição criada.
# mkfs.ext4 /dev/sda4
Como verificar o tamanho de uma partição em Linux
Após formatar a nova partição, verifique o tamanho dessa partição usando a bandeira ‘s’ (mostra o tamanho em blocos) com o comando fdisk. Desta forma, pode verificar o tamanho de qualquer dispositivo específico.
# fdisk -s /dev/sda25194304
Como corrigir a ordem da tabela de partição
Se tiver eliminado uma partição lógica e a tiver recriado novamente, poderá notar um problema de ‘partição fora de ordem’ ou uma mensagem de erro como ‘As entradas da tabela de partição não estão na ordem do disco’.
Por exemplo, quando três partições lógicas como (sda4, sda5 e sda6) são eliminadas, e é criada uma nova partição, pode esperar que o nome da nova partição seja sda4. Mas, o sistema iria criá-la como sda5. Isto acontece devido a, após a partição ser apagada, a partição sda7 ter sido movida como sda4 e o espaço livre deslocar-se para o fim.
Para corrigir tais problemas de ordem de partição, e atribuir sda4 à partição recém-criada, emitir o ‘x’ para introduzir uma secção de funcionalidade extra e depois introduzir o comando ‘f’ expert para corrigir a ordem da tabela de partição, como mostrado abaixo.
# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').Command (m for help): xExpert command (m for help): fDone.Expert command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.
Depois de executar o comando ‘f’, não se esqueça de executar o comando ‘w’ para guardar e sair do modo de comando fdisk. Uma vez fixada a ordem da tabela de partições, deixará de receber mensagens de erro.
Como desactivar a bandeira de arranque (*) de uma Partição
Por defeito, o comando fdisk mostra a bandeira de arranque (i.e. ‘*’) símbolo em cada partição. Se quiser activar ou desactivar a bandeira de arranque numa partição específica, faça os seguintes passos.
# fdisk /dev/sda
Pressione o comando ‘p’ para ver a tabela de partições actual, verá que existe uma bandeira de arranque (símbolo asterisco (*) na cor laranja) no disco /dev/sda1 como se mostra abaixo.
P>Próximo introduzir o comando ‘a’ para desactivar a bandeira de arranque, depois introduzir o número da partição ‘1’ como (i.e. /dev/sda1) no meu caso. Isto irá desactivar a bandeira de arranque na partição /dev/sda1. Isto irá remover o asterisco (*) flag.
Command (m for help): aPartition number (1-9): 1Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVMCommand (m for help):
Tentei o meu melhor para incluir quase todos os comandos básicos dos comandos fdisk, mas ainda assim o fdisk contém uma variedade de outros comandos especializados que pode usar introduzindo ‘x’. Para informações mais detalhadas, consulte o comando ‘man fdisk’ a partir do terminal. Se falhei algum comando importante, por favor partilhe comigo através da secção de comentários.
p>Leia também :ol>