Pesquisa de site

10 comandos fdisk para gerenciar partições de disco Linux


fdisk significa (para “disco fixo ou disco de formato“) é um utilitário de manipulação de disco baseado em linha de comando mais comumente usado para um Sistemas Linux/Unix. Com a ajuda do comando fdisk você pode visualizar, criar, redimensionar, excluir, alterar, copiar e mover partições em um disco rígido usando sua própria interface amigável baseada em menu baseada em texto.

Esta ferramenta é muito útil em termos de criação de espaço para novas partições, organização de espaço para novas unidades, reorganização de unidades antigas e cópia ou movimentação de dados para novos discos. Ele permite que você crie no máximo quatro novas partições primárias e um número de partições lógicas (estendidas), com base no tamanho do disco rígido que você possui em seu sistema.

Este artigo explica 10 comandos fdisk básicos para gerenciar uma tabela de partição em sistemas baseados em Linux. Você deve ser o usuário root para executar o comando fdisk, caso contrário você receberá um erro “comando não encontrado”.

1. Veja todas as partições de disco no Linux

O comando básico a seguir lista todas as partições de disco existentes em seu sistema. O argumento ‘-l’ significa (listando todas as partições) é usado com o comando fdisk para visualizar 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.

[[email  ~]# fdisk -l

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = 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

2. Visualize partição de disco específica no Linux

Para visualizar todas as partições de um disco rígido específico, use a opção ‘-l‘ com o nome do dispositivo. Por exemplo, o comando a seguir exibirá todas as partições de disco do dispositivo /dev/sda. Se você tiver nomes de dispositivos diferentes, simplesmente escreva o nome do dispositivo como /dev/sdb ou /dev/sdc.

[[email  ~]# fdisk -l /dev/sda

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = 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

3. Verifique todos os comandos fdisk disponíveis

Se você quiser ver todos os comandos disponíveis para o fdisk. Basta usar o seguinte comando mencionando o nome do disco rígido, como /dev/sda conforme mostrado abaixo. O comando a seguir fornecerá uma saída semelhante à abaixo.

[root@tecmint ~]# fdisk /dev/sda

WARNING: 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):

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 inserir 'm' na tela, você verá todas as opções disponíveis para fdisk que pode ser usado no dispositivo /dev/sda.

[root@tecmint ~]# fdisk /dev/sda

WARNING: 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): m
Command 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):

4. Imprima todas as tabelas de partição no Linux

Para imprimir todas as tabelas de partições do disco rígido, você deve estar no modo de comando do disco rígido específico, digamos /dev/sda.

[root@tecmint ~]# fdisk /dev/sda

No modo de comando, digite 'p' em vez de 'm' como fizemos anteriormente. Ao inserir 'p', ele imprimirá a tabela de partição /dev/sda específica.

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = 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

Command (m for help):

5. Como excluir uma partição no Linux

Se você deseja excluir uma partição específica (ou seja, /dev/sda9) do disco rígido específico, como /dev/sda. Você deve estar no modo de comando fdisk para fazer isso.

[root@tecmint ~]# fdisk /dev/sda

Em seguida, digite ‘d’ para excluir qualquer nome de partição do sistema. Ao inserir 'd', será solicitado que eu insira o número da partição que desejo excluir do disco rígido /dev/sda. Suponha que eu insira o número '4' aqui, então ele excluirá o número da partição '4' (ou seja, /dev/sda4) do disco e mostrará o disco gratuitamente espaço na tabela de partição. Digite 'w' para gravar a tabela no disco e sair após fazer novas alterações na tabela de partição. As novas alterações só ocorreriam após a próxima reinicialização do sistema. Isso pode ser facilmente entendido na saída abaixo.

[root@tecmint ~]# fdisk /dev/sda

WARNING: 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): d
Partition number (1-4): 4

Command (m for help): w
The 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 at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

Aviso: Tenha cuidado ao executar esta etapa, pois usar a opção ‘d’ excluirá completamente a partição do sistema e poderá perder todos os dados na partição.

6. Como criar uma nova partição no Linux

Se você ainda tiver espaço livre em um de seus dispositivos, diga /dev/sda e gostaria de criar uma nova partição nele. Então você deve estar no modo de comando fdisk de /dev/sda. Digite o seguinte comando para entrar no modo de comando do disco rígido específico.

[root@tecmint ~]# fdisk /dev/sda

Após entrar no modo de comando, agora pressione o comando “n” para criar uma nova partição em /dev/sda com tamanho específico. Isso pode ser demonstrado com a ajuda do seguinte resultado.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: 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): n
Command action
   e   extended
   p   primary partition (1-4)
e

Ao criar uma nova partição, serão solicitadas duas opções de criação de partição ‘estendida’ ou ‘primária’. Pressione 'e' para partição estendida e 'p' para partição primária. Em seguida, ele solicitará que você insira as duas entradas seguintes.

  1. Número do primeiro cilindro da partição a ser criada.
  2. Número do último cilindro da partição a ser criada (Último cilindro, +cilindros ou +tamanho).

Você pode inserir o tamanho do cilindro adicionando “+5000M” no último cilindro. Aqui, ‘+’ significa adição e 5000M significa tamanho da nova partição (ou seja, 5000MB). Tenha em mente que após criar uma nova partição, você deve executar o comando ‘w’ para alterar e salvar as novas alterações na tabela de partição e, finalmente, reiniciar o sistema para verificar a partição recém-criada.

Command (m for help): w
The 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 at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

7. Como formatar uma partição no Linux

Depois que a nova partição for criada, não pule para formatar a partição recém-criada usando o comando ‘mkfs’. Digite o seguinte comando no terminal para formatar uma partição. Aqui /dev/sda4 está minha partição recém-criada.

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8. Como verificar o tamanho de uma partição no Linux

Após formatar a nova partição, verifique o tamanho dessa partição usando o sinalizador ‘s’ (exibe o tamanho em blocos) com o comando fdisk. Desta forma você pode verificar o tamanho de qualquer dispositivo específico.

[root@tecmint ~]# fdisk -s /dev/sda2
5194304

9. Como corrigir a ordem da tabela de partições

Se você excluiu uma partição lógica e a recriou 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 excluídas e uma nova partição é criada, você pode esperar que o novo o nome da partição seria sda4. Porém, o sistema o criaria como sda5. Isso acontece porque, após a exclusão da partição, a partição sda7 foi movida como sda4 e o espaço livre foi deslocado para o final.

Para corrigir esses problemas de ordem de partição e atribuir sda4 à partição recém-criada, emita 'x' para entrar em uma seção de funcionalidade extra e depois digite 'f<' comando especializado para corrigir a ordem da tabela de partição conforme mostrado abaixo.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: 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): x

Expert command (m for help): f
Done.

Expert command (m for help): w
The 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 at
the 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 salvar e sair do modo de comando fdisk. Depois de corrigir a ordem da tabela de partições, você não receberá mais mensagens de erro.

10. Como desativar o sinalizador de inicialização (*) de uma partição

Por padrão, o comando fdisk mostra o símbolo do sinalizador de inicialização (ou seja, ‘*‘) em cada partição. Se você deseja ativar ou desativar o sinalizador de inicialização em uma partição específica, execute as etapas a seguir.

[root@tecmint ~]# fdisk  /dev/sda

Pressione o comando 'p' para visualizar a tabela de partição atual, você verá que há um sinalizador de inicialização (símbolo de asterisco (*) na cor laranja) em /dev/ sda1 disco conforme mostrado abaixo.

[root@tecmint ~]# fdisk /dev/sda

WARNING: 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): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = 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

Em seguida, digite o comando 'a' para desativar o sinalizador de inicialização e, em seguida, insira o número da partição '1' como (ou seja, /dev/sda1) no meu caso . Isso desativará o sinalizador de inicialização na partição /dev/sda1. Isso removerá o sinalizador de asterisco (*).

Command (m for help): a
Partition number (1-9): 1

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = 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

Command (m for help):

Eu 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 você pode usá-los digitando 'x'. Para obter informações mais detalhadas, verifique o comando ‘man fdisk’ do terminal. Se eu perdi algum comando importante, compartilhe comigo através da seção de comentários.

Leia também:

  1. 12 comandos “df” para verificar o espaço em disco no Linux
  2. 10 comandos “du” úteis para encontrar o uso de arquivos e diretórios no disco