terça-feira, 1 de dezembro de 2015

Criando e Gerenciando Partições de Disco com FDISK


Criando e Deletando Partições em Disco no Linux Com Fdisk 

Mais um guia bem prático para efetuar o gerenciamento de partições de forma rápida e simples utilizando o Fdisk para criar, dividir e excluir partições de disco no Linux. 


Primeiro vamos listar todos os discos e partições presentes no servidor:
 # fdisk -l   
 [root@stageserver ~]# fdisk -l  
   
 Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 sectors  
 Units = sectors of 1 * 512 = 512 bytes  
 Sector size (logical/physical): 512 bytes / 512 bytes  
 I/O size (minimum/optimal): 512 bytes / 512 bytes  
 Disk label type: dos  
 Disk identifier: 0x000bd807  
   
 Dispositivo Boot   Start     End   Blocks  Id System  
 /dev/sda1  *    2048   1026047   512000  83 Linux  
 /dev/sda2     1026048  16777215   7875584  8e Linux LVM  
   
 Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors  
 Units = sectors of 1 * 512 = 512 bytes  
 Sector size (logical/physical): 512 bytes / 512 bytes  
 I/O size (minimum/optimal): 512 bytes / 512 bytes  
   

Podemos notar que possuímos dois dispositivos no servidor, um deles o sda que é o HD principal com duas partições e o drive sdb onde iremos realizar nossos testes. vamos propor de primeiro momento que queremos dividir o disco /dev/sdb em duas partes. Vamos utilizar o mesmo parâmetro do fdisk -l porém especificando somente o sdb para obter detalhes mais específicos do disco. Vamos nos atentar aos números de setores do disco, eles serão importantes na hora de efetuar a divisão para criar as partições futuramente.
 # fdisk -l /dev/sdb  
 [root@stageserver ~]# fdisk -l /dev/sdb  
   
 Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors  
 Units = sectors of 1 * 512 = 512 bytes  
 Sector size (logical/physical): 512 bytes / 512 bytes  
 I/O size (minimum/optimal): 512 bytes / 512 bytes  
   
 [root@stageserver ~]#   
   

Criando partições de Disco 

Podemos notar que disco possui praticamente 8 GB, vamos dividí-lo criando duas partições de 4 GB

 fdisk /dev/sdb  
Agora na sequência vamos digitar "m" para visualizar o menu do fdisk.
Tendo feito isso, vamos selecionar a opção para adicionar uma nova partição, no caso a opção "n"

 [root@stageserver ~]# fdisk /dev/sdb  
 Welcome to fdisk (util-linux 2.23.2).  
   
 Changes will remain in memory only, until you decide to write them.  
 Be careful before using the write command.  
   
 Device does not contain a recognized partition table  
 Building a new DOS disklabel with disk identifier 0x91022ffc.  
   
 Comando (m para ajuda): m  
 Comando - ação  
   a  toggle a bootable flag  
   b  edit bsd disklabel  
   c  toggle the dos compatibility flag  
   d  delete a partition  
   g  create a new empty GPT partition table  
   G  create an IRIX (SGI) partition table  
   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)  
   
 Comando (m para ajuda): n  
  

Na sequência, vamos criar uma primeira partição primária, selecionando o parâmetro "p", e deixando o numero da partição se setor primário como default de primeiro momento, uma vez que iremos criar somente a primeira partição, deveremos nos atentar a esses parâmetros da próxima vez quando criarmos a segunda.

O last sector é um caso a parte, notamos que neste caso o disco possui exatos  16777215 setores no disco. No caso, como queremos dividir o mesmo ao meio vamos fazer a divisão deste numero por 2, resultando em 8388607.5, porém arrendondando ganhamos um setorzinho a mais, iremos trabalhar com a ultimo setor 8388608

 Comando (m para ajuda): n  
 Partition type:  
   p  primary (0 primary, 0 extended, 4 free)  
   e  extended  
 Select (default p): p  
 Número da partição (1-4, default 1): 1  
 Primeiro sector (2048-16777215, default 2048):   
 Using default value 2048  
 Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215): 8388608
Partition 1 of type Linux and of size 4 GiB is set

Comando (m para ajuda):   

Criamos a partição com 4 Gb dividindo o número dos setores no meio. Vamos criar a segunda pressionando a opção "m" novamente e repentido os passos anteriores até a hora da divisão, neste ultimo caso deixaremos todos os outros parâmetros como Default, pois o fdisk irá identificar como o primeiro setor disponível o ultimo não utilizado pela primeira partição que criamos. Neste caso, somente neste caso deixaremos todas as opções por default
 Comando (m para ajuda): m  
 Comando - ação  
   a  toggle a bootable flag  
   b  edit bsd disklabel  
   c  toggle the dos compatibility flag  
   d  delete a partition  
   g  create a new empty GPT partition table  
   G  create an IRIX (SGI) partition table  
   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)  
   
 Comando (m para ajuda): n  
 Partition type:  
   p  primary (1 primary, 0 extended, 3 free)  
   e  extended  
 Select (default p): p  
 Número da partição (2-4, default 2):   
 Primeiro sector (8388609-16777215, default 8390656):   
 Using default value 8390656  
 Last sector, +sectors or +size{K,M,G} (8390656-16777215, default 16777215):   
 Using default value 16777215  
 Partition 2 of type Linux and of size 4 GiB is set  
   
 Comando (m para ajuda):   
   


Agora temos dois projetos de partições no FDISK, porém os mesmos ainda não estão criados. Precisamos escrever essas mudanças no disco antes de sair do console do FDISK para não perder essas alteraç]ões.
No caso pressione "m" novamente para acessar as opções e logo em seguida selecione a opção "w" para escrever as mudanças e sair .
 Comando (m para ajuda): m  
 Comando - ação  
   a  toggle a bootable flag  
   b  edit bsd disklabel  
   c  toggle the dos compatibility flag  
   d  delete a partition  
   g  create a new empty GPT partition table  
   G  create an IRIX (SGI) partition table  
   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)  
   
 Comando (m para ajuda): w  
 A tabela de partições foi alterada!  
   
 Chamando ioctl() para reler tabela de partições.  
 Sincronizando discos.  
 [root@stageserver ~]#   
   
Agora vamos listar os discos existentes para ver as modificações que fizemos
 [root@stageserver ~]# fdisk -l  
   
 Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 sectors  
 Units = sectors of 1 * 512 = 512 bytes  
 Sector size (logical/physical): 512 bytes / 512 bytes  
 I/O size (minimum/optimal): 512 bytes / 512 bytes  
 Disk label type: dos  
 Disk identifier: 0x000bd807  
   
 Dispositivo Boot   Start     End   Blocks  Id System  
 /dev/sda1  *    2048   1026047   512000  83 Linux  
 /dev/sda2     1026048  16777215   7875584  8e Linux LVM  
   
 Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors  
 Units = sectors of 1 * 512 = 512 bytes  
 Sector size (logical/physical): 512 bytes / 512 bytes  
 I/O size (minimum/optimal): 512 bytes / 512 bytes  
 Disk label type: dos  
 Disk identifier: 0x91022ffc  
   
 Dispositivo Boot   Start     End   Blocks  Id System  
 /dev/sdb1      2048   8388608   4193280+ 83 Linux  
 /dev/sdb2     8390656  16777215   4193280  83 Linux  
   

Note que agora temos duas partições no disco sdb, ficando identificadas como sdb1 e sdb2. Agora vamos excluir a partição sdb2. Para realizar este passo iremos simplesmente realizar os mesmos passos, porém na hora de escolher a opção no menu, devemos selecionar a opção "d" para deletar. Logo em seguida a o numero da partição a ser excluída.

 # fdisk /dev/sdb  
 [root@stageserver ~]# fdisk /dev/sdb  
 Welcome to fdisk (util-linux 2.23.2).  
   
 Changes will remain in memory only, until you decide to write them.  
 Be careful before using the write command.  
   
   
 Comando (m para ajuda): m  
 Comando - ação  
   a  toggle a bootable flag  
   b  edit bsd disklabel  
   c  toggle the dos compatibility flag  
   d  delete a partition  
   g  create a new empty GPT partition table  
   G  create an IRIX (SGI) partition table  
   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)  
   
 Comando (m para ajuda): d  
 Número da partição (1,2, default 2): 2  
 Partition 2 is deleted  
   
 Comando (m para ajuda):   
   


Formatando partições de disco

O Fdisk também suporta diversos tipos de Filesystems existentes, podemos listar todos como o parâmetro "l" no menu.

 [root@stageserver ~]# fdisk /dev/sdb  
 Welcome to fdisk (util-linux 2.23.2).  
   
 Changes will remain in memory only, until you decide to write them.  
 Be careful before using the write command.  
   
   
 Comando (m para ajuda): m  
 Comando - ação  
   a  toggle a bootable flag  
   b  edit bsd disklabel  
   c  toggle the dos compatibility flag  
   d  delete a partition  
   g  create a new empty GPT partition table  
   G  create an IRIX (SGI) partition table  
   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)  
   
 Comando (m para ajuda): l  
   
  0 Vazia      24 DOS NEC     81 Linux antigo/Mi bf Solaris      
  1 FAT12      27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT1  
  2 root XENIX   39 Plan 9     83 Linux      c4 DRDOS/sec (FAT1  
  3 usr XENIX    3c Recuperação do 84 Unidade C: OS/2 c6 DRDOS/sec (FAT1  
  4 FAT16 < 32 M  40 Venix 80286   85 Estendida Linux c7 Syrinx       
  5 Estendida    41 Boot PReP PPC  86 Conjunto de vol da Dados Não-FS    
  6 FAT16      42 SFS       87 Conjunto de vol db CP/M / CTOS / .  
  7 HPFS/NTFS/exFAT 4d QNX4.x     88 Linux plaintext de Utilitário Dell  
  8 AIX       4e QNX4.x 2ª parte 8e Linux LVM    df BootIt       
  9 AIX inicializáv 4f QNX4.x 3ª parte 93 Amoeba     e1 Acesso DOS     
  a Gerenc. Inicial 50 DM OnTrack   94 Amoeba BBT   e3 DOS R/O      
  b W95 FAT32    51 DM6 OnTrack Aux 9f BSD/OS     e4 SpeedStor     
  c W95 FAT32 (LBA) 52 CP/M      a0 Hibernação IBM eb sist. arq. BeOS  
  e W95 FAT16 (LBA) 53 DM6 OnTrack Aux a5 FreeBSD     ee GPT        
  f W95 Ext'd (LBA) 54 DM6 OnTrack   a6 OpenBSD     ef EFI (FAT-12/16/  
 10 OPUS      55 EZ-Drive    a7 NeXTSTEP    f0 Linux/PA-RISC b  
 11 FAT12 Escondida 56 Golden Bow   a8 Darwin UFS   f1 SpeedStor     
 12 Diagnóstico Com 5c Edisk Priam   a9 NetBSD     f4 SpeedStor     
 14 FAT16 Escondida 61 SpeedStor    ab Darwin boot   f2 DOS secundário   
 16 FAT16 Escondida 63 GNU HURD ou Sys af HFS / HFS+   fb VMware VMFS    
 17 HPFS ou NTFS Es 64 Novell Netware b7 sist. arq. BSDI fc VMware VMKCORE   
 18 AST SmartSleep 65 Novell Netware b8 permuta BSDI  fd Detecção automá  
 1b Hidden W95 FAT3 70 Multi-Boot Disk bb Boot Wizard hid fe LANstep      
 1c Hidden W95 FAT3 75 PC/IX      be Solaris boot  ff BBT        
 1e Hidden W95 FAT1 80 Minix antigo    
   
 Comando (m para ajuda):   
   

Podemos ver que o Fdisk possui uma gama de filesystems. Vamos agora definir o parâmetro "t" para definir o tipo de partição que queremos criar e em seguida "L" para listar em hex code. Neste caso irei realizar com o número 82, equivalente ao Linux Swap. Logo após é só criar a partição como explicado logo acima:

 Comando (m para ajuda): t  
 Número da partição (1,2, default 2): 2  
 Hex code (type L to list all codes): L  
   
  0 Vazia      24 DOS NEC     81 Linux antigo/Mi bf Solaris      
  1 FAT12      27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT1  
  2 root XENIX   39 Plan 9     83 Linux      c4 DRDOS/sec (FAT1  
  3 usr XENIX    3c Recuperação do 84 Unidade C: OS/2 c6 DRDOS/sec (FAT1  
  4 FAT16 < 32 M  40 Venix 80286   85 Estendida Linux c7 Syrinx       
  5 Estendida    41 Boot PReP PPC  86 Conjunto de vol da Dados Não-FS    
  6 FAT16      42 SFS       87 Conjunto de vol db CP/M / CTOS / .  
  7 HPFS/NTFS/exFAT 4d QNX4.x     88 Linux plaintext de Utilitário Dell  
  8 AIX       4e QNX4.x 2ª parte 8e Linux LVM    df BootIt       
  9 AIX inicializáv 4f QNX4.x 3ª parte 93 Amoeba     e1 Acesso DOS     
  a Gerenc. Inicial 50 DM OnTrack   94 Amoeba BBT   e3 DOS R/O      
  b W95 FAT32    51 DM6 OnTrack Aux 9f BSD/OS     e4 SpeedStor     
  c W95 FAT32 (LBA) 52 CP/M      a0 Hibernação IBM eb sist. arq. BeOS  
  e W95 FAT16 (LBA) 53 DM6 OnTrack Aux a5 FreeBSD     ee GPT        
  f W95 Ext'd (LBA) 54 DM6 OnTrack   a6 OpenBSD     ef EFI (FAT-12/16/  
 10 OPUS      55 EZ-Drive    a7 NeXTSTEP    f0 Linux/PA-RISC b  
 11 FAT12 Escondida 56 Golden Bow   a8 Darwin UFS   f1 SpeedStor     
 12 Diagnóstico Com 5c Edisk Priam   a9 NetBSD     f4 SpeedStor     
 14 FAT16 Escondida 61 SpeedStor    ab Darwin boot   f2 DOS secundário   
 16 FAT16 Escondida 63 GNU HURD ou Sys af HFS / HFS+   fb VMware VMFS    
 17 HPFS ou NTFS Es 64 Novell Netware b7 sist. arq. BSDI fc VMware VMKCORE   
 18 AST SmartSleep 65 Novell Netware b8 permuta BSDI  fd Detecção automá  
 1b Hidden W95 FAT3 70 Multi-Boot Disk bb Boot Wizard hid fe LANstep      
 1c Hidden W95 FAT3 75 PC/IX      be Solaris boot  ff BBT        
 1e Hidden W95 FAT1 80 Minix antigo    
 Hex code (type L to list all codes): 82  
 Changed type of partition 'Linux' to 'Linux swap / Solaris'  
   
 Comando (m para ajuda):   
   


:)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

2 comentários:

  1. No primeiro comando do Tópico Criando partições do disco tem um erro no comando fdisk /deb/sdb , creio que o certo seria fdisk /dev/sdb.

    ResponderExcluir
    Respostas
    1. Boa noite Ayr, foi um erro de digitação e já foi corrigido. Muito obrigado por avisar!!

      Excluir

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com