2.1. fdisk
O programa
fdisk é um manipulador de tabelas de partições do
Linux. Com ele podemos criar, mudar, listar e apagar as partições de um disco rígido. Ele nos possibilita criar vários tipos de partições com diferentes sistemas operacionais para o
Linux.
Vamos listar a tabela de partições do meu sistema:
# fdisk -l
Disk /dev/sda: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163 +83 Linux
/dev/sda2 7 37 249007 +82 Linux swap
/dev/sda3 38 219 1461915 83 Linux
/dev/sda4 220 1305 8723295 5 Extended
/dev/sda5 220 705 3903763 +83 Linux
/dev/sda6 706 766 489951 83 Linux
/dev/sda7 767 888 979933 +83 Linux
/dev/sda8 889 1305 3349521 83 Linux
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes
Disk /dev/sdb doesn't contain a valid partition table
Observe que possuo dois HDs SCSI, /dev/sda e /dev/sdb, porém o /dev/sdb ainda não tem nenhuma tabela de partições válidas. Veja que o disco /dev/sda possui duas partições primárias, uma partição de swap, uma partição estendida e quatro partições lógicas. Vamos criar algumas partições no disco /dev/sdb. Lembrando que para fazer estas operações você deve estar logado como superusuário.
# fdisk /dev/sdb
Tecle m para obter a ajuda dos comandos
Command (m for help):
m
Command action
a Marca ou desmarca a partição como ativa para o processo de boot.
b Edita discos bsd
c Faz comutação compatível com DOS
d Deleta uma partição
l Lista os tipos de partições possíveis
m Mostra o menu de ajuda
n Adiciona uma nova partição
o Cria uma partição vazia DOS na tabela de partições
p Mostra a tabela de partições
q Sai sem salvar as mudanças
s Cria uma partição SUN disklabel
t Muda o tipo de sistema de arquivos da partição
u Muda o display
v Verifica a tabela de partições
w Grava as alterações efetuadas em disco
x Funcionalidades Extras (Somente para experts)
Vamos criar uma nova partição:
Command (m for help):
n
Command action
e extended
p primary partition (1-4)
Escolha "p" para criarmos uma partição primária, como podemos notar o número de partições primárias possíveis é quatro. A próxima etapa é escolher o número da partição:
Partition number (1-4):
1
Se a partição for lógica o fdisk se encarrega de numerá-la. Agora devemos escolher o tamanho da partição definindo o cilindro inicial e o cilindro final ou pelo tamanho em megabytes ou gigabytes.
Por exemplo, para criar uma partição de 1 giga, digite +1024M ou +1G. No meu caso, selecionei 1 que é o default e depois defini o tamanho dessa partição para três gigas.
First cylinder (1-1305, default 1):
1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):
+3G
Vamos repetir o procedimento e criar uma partição de dois gigas:
Command (m for help):
n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):
2
First cylinder (384-1305, default 384):
384
Last cylinder or +size or +sizeM or +sizeK (384-1305, default 1305):
+2G
Agora vamos criar uma partição extendida e duas lógicas de um giga cada. No meu caso criarei uma partição extendida com as opções default:
Command (m for help):
n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4):
3
First cylinder (639-1305, default 639):
639
Last cylinder or +size or +sizeM or +sizeK (639-1305, default 1305):
1305
A próxima etapa é criar as partições lógicas:
Command (m for help):
n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (639-1305, default 639):
639
Last cylinder or +size or +sizeM or +sizeK (639-1305, default 1305):
+1G
Command (m for help):
n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (767-1305, default 767):
767
Last cylinder or +size or +sizeM or +sizeK (767-1305, default 1305):
+1G
Observe que a opções agora são para criação de partições lógicas e primárias. Vamos analisar como ficou a nossa tabela de partições. Para isso tecle “p” no menu de ajuda:
Command (m for help):
p
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 83 3076416 83 Linux
/dev/sdb2 384 638 2048287 +83 Linux
/dev/sdb3 639 1305 5357677 +5 Extended
/dev/sdb5 639 766 102812 +83 Linux
/dev/sdb6 767 894 1028128 +83 Linux
Podemos verificar que todas as partições possuem sistema de arquivos com o tipo 83 ext2 e que a partição /dev/sdb3 é a partição estendida que contêm as partições lógicas /dev/sdb5 e /dev/sdb6.
Mas suponhamos que eu necessite de um outro tipo de sistema de arquivos diferente do ext2 para uma das partições, uma partição NTFS por exemplo. Podemos usar a opção "t" para essa tarefa, observe:
Command (m for help):
t
Partition number (1-6):
5
Hex code (type L to list codes):
L
0 Empty 1c Hidden Win95 FA 65 Novell Netware bb Boot Wizard hid
1 FAT12 1e Hidden Win95 FA 70 DiskSecure Mult c1 DRDOS/sec (FAT-
2 XENIX root 24 NEC DOS 75 PC/IX c4 DRDOS/sec (FAT-
3 XENIX usr 39 Plan 9 80 Old Minix c6 DRDOS/sec (FAT-
4 FAT16 <32M 3c PartitionMagic 81 Minix / old Lin c7 Syrinx
5 Extended 40 Venix 80286 82 Linux swap da Non-FS data
6 FAT16 41 PPC PReP Boot 83 Linux db CP/M / CTOS / .
7 HPFS/NTFS 42 SFS 84 OS/2 hidden C: de Dell Utility
8 AIX 4d QNX4.x 85 Linux extended df BootIt
9 AIX bootable 4e QNX4.x 2nd part 86 NTFS volume set e1 DOS access
a OS/2 Boot Manag 4f QNX4.x 3rd part 87 NTFS volume set e3 DOS R/O
b Win95 FAT32 50 OnTrack DM 8e Linux LVM e4 SpeedStor
c Win95 FAT32 (LB 51 OnTrack DM6 Au 93 Amoeba eb BeOS fs
e Win95 FAT16 (LB 52 CP/M 94 Amoeba BBT ee EFI GPT
f Win95 Ext'd (LB 53 OnTrack DM6 Au 9f BSD/OS ef EFI (FAT-12/16/
10 OPUS 54 OnTrackDM6 a0 IBM Thinkpad hi f0 Linux/PA-RISC b
11 Hidden FAT12 55 EZ-Drive a5 FreeBSD f1 SpeedStor
12 Compaq diagnost 56 Golden Bow a6 OpenBSD f4 SpeedStor
14 Hidden FAT16 <3 5c Priam Edisk a7 NeXTSTEP f2 DOS secondary
16 Hidden FAT16 61 SpeedStor a9 NetBSD fd Linux raid auto
17 Hidden HPFS/NTF 63 GNU HURD or Sy b7 BSDI fs fe LANstep
18 AST SmartSleep 64 Novell Netware b8 BSDI swap ff BBT
1b Hidden Win95 FA
Hex code (type L to list codes):
7
Changed system type of partition 5 to 7 (HPFS/NTFS)
Command (m for help):
p
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 383 3076416 83 Linux
/dev/sdb2 384 638 2048287+ 83 Linux
/dev/sdb3 639 1305 5357677+ 5 Extended
/dev/sdb5 639 766 1028128+ 7 HPFS/NTFS
/dev/sdb6 767 894 1028128+ 83 Linux
Agora vamos excluir uma partição:
Command (m for help):
d
Partition number (1-6):
6
Command (m for help):
p
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 383 3076416 83 Linux
/dev/sdb2 384 638 2048287+ 83 Linux
/dev/sdb3 639 1305 5357677+ 5 Extended
/dev/sdb5 639 766 1028128+ 7 HPFS/NTFS
Para finalizar vamos gravar as alterações efetuadas em disco:
Command (m for help):
w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
2.2. cfdisk
Assim como o fdisk, o
cfdisk também é um manipulador de tabelas de partições para Linux. Com ele podemos criar, modificar, excluir, listar partições assim como no fdisk. A diferença é que o cfdisk (na minha opinião) é mais interativo e fácil de usar do que o fdisk. Vamos por a mão na massa:
# cfdisk /dev/sdb
cfdisk 2.11n
Disk Drive: /dev/sdb
Size: 10737418240 bytes
Heads: 255 Sectors per Track: 63 Cylinders: 1305
Name Flags Part Type FS Type [Label] Size (MB)
---------------------------------------------------------------
Pri/Log Free Space 10734.00
[ Help ] [ New ] [ Print ] [ Quit ] [ Units ] [ Write ]
Print help screen
Primeiro vamos identificar qual a utilidade de cada botão:
[ Help ] - Exibe a tela de ajuda (Estas opções são usadas na linha de comando)
Command |
Meaning |
b |
Seleciona qual será a partição de boot |
d |
Deleta a partição corrente |
g |
Muda os parâmetros Cilindros, Cabeças e Setores por trilha |
h |
Mostra o menu de ajuda |
m |
Aumenta o espaço da partição corrente |
n |
Cria uma nova partição |
P |
Mostra a tabela de partições
Opções:
- r - Dados não processados
- s - Tabela ordenada por setores
- t - Tabela em formato não processado
|
q |
Sai do cfdisk sem salvar a tabela de partições |
t |
Muda o tipo do sistema de arquivos |
u |
Muda a unidade de informação de tamanho da partição no display (MB, setores ou cilindros) |
W |
Grava a tabela de partições no disco sendo necessário confirmar esta operação com "yes" ou "no" |
[ New ] - Cria uma nova partição
[ Print ] - Mostra a tabela de partições
Opções:
- r - Dados não processados
- s - Tabela ordenada por setores
- t - Tabela em formato não processado
[ Quit ] - Sai do cfdisk sem salvar a tabela de partições
[ Units ] - Muda a unidade de informação de tamanho da partição no display (MB, setores ou cilindros)
[ Write ] - Grava a tabela de partições no disco sendo necessário confirmar esta operação com "yes" ou "no"
Agora que já sabemos qual é a utilidade de cada botão da interface do cfdisk vamos criar uma nova partição no disco, selecione o botão [ New ]:
[Primary] [Logical] [Cancel ]
Agora selecione o botão [Primary] para criarmos uma partição primária e depois defina o tamanho da partição em Megabytes.
Size (in MB):
2048
Selecione o botão [Beginning] para adicionar a partição na tabela de partições:
[Beginning] [ End ] [ Cancel ]
Observe que criamos uma nova partição chamada sdb1 com sistema de arquivos do tipo
Linux e com dois Gigabytes de espaço físico.
sdb1 Primary Linux 2048.10 Pri/Log
Repita o processo para criar outras partições primárias, pois agora vamos criar as partições lógicas. Selecione:
Pri/Log Free Space 8685.90
Depois selecione o botão [ New ]:
[Primary] [Logical] [Cancel ]
Selecione o botão [Logical] para criar a partição lógica e depois defina o tamanho da partição em Megabytes.
Size (in MB):
1024
Selecione o botão [Beginning] para adicionar a partição na tabela de partições:
[Beginning] [ End ] [ Cancel ]
Repita este procedimento para criar outras partições lógicas de acordo com a sua necessidade.
sdb1 Primary Linux 2048.10
sdb2 Primary Linux 2048.10
sdb3 Primary Linux 501.75
sdb5 Logical Linux 1019.94
sdb6 Logical Linux 797.86
sdb7 Logical Linux 2048.10
sdb8 Logical Linux 2270.18
Observe que foram criadas três partições primárias e quatro lógicas, a partição estendida foi criada automaticamente quando decidi criar a primeira partição lógica. Vamos analisar as opções que temos agora para as partições criadas:
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ] [ Type ] [ Units ] [ Write ]
[Bootable] - Seleciona qual será a partição de boot.
[ Delete ] - Deleta a partição corrente.
[ Help ] - Exibe a tela de ajuda.
[Maximize] - Aumenta o tamanho da partição corrente.
[ Print ] - Mostra a tabela de partições.
[ Quit ] - Sai do cfdisk sem gravar a tabela de partições.
[ Type ] - Muda o tipo do sistema de arquivos.
[ Units ] - Muda as unidades de tamanho das partições que são mostradas no display. Podem ser: Megabytes, setores ou cilindros.
[ Write ] - Grava a tabela de partições no disco.
Agora que já sabemos para que serve cada botão da interface do cfdisk vamos mudar o tipo de sistema de arquivos da partição /dev/sdb2 para NTFS. Selecione o botão [ Type ]. Observe que será exibida uma tabela com diversos tipos de sistemas de arquivos entre eles o HPFS/NTFS que é referenciado pelo número 07.
Enter filesystem type:
07
Repare que a partição /dev/sdb2 agora possui o sistema de arquivos NTFS.
sdb2 Primary NTFS 2048.10
Suponhamos que eu necessite deletar uma partição, selecione a partição que deseja deletar e pressione o botão [ Delete ].
Observe que a partição sdb8 foi deletada e que o seu espaço está livre. Agora para finalizar vamos gravar a nossa tabela de partições, para essa função selecione cada partição criada e pressione o botão [ Write ]:
Digite "yes" para gravar a partição...
Are you sure you want write the partition table to disk? (yes or no):
yes
Depois de gravar a tabela de partições pressione o botão [ Quit ] para sair do cfdisk.
2.3. mkfs
O comando
mkfs é usado para formatar as partições criadas pelo fdisk ou cfdisk com o sistema de arquivos. Ele possui as seguintes opções:
- -c Verifica se o dispositivo possui bad blocks (defeitos)
- -L nome Configura o nome do dispositivo
- -n nome Configura o dispositivo para o formato msdos
- -q Não mostra a saída de vídeo
- -v Mostra a saída de vídeo
- -t Especifica o tipo de sistema de arquivos a ser formatado.
Ele pode ser usado de duas maneiras:
Primeira:
# mkfs -t ext3 -L partição1 /dev/sdb1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=partição1
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
250368 inodes, 500015 blocks
25000 blocks (5.00%) reserved for the super user
First data block=0
16 block groups
32768 blocks per group, 32768 fragments per group
15648 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Segunda:
# mkfs.ext3 -L particão3 /dev/sdb3
mke2fs 1.27 (8-Mar-2002)
Filesystem label=particão3
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
122880 inodes, 489982 blocks
24499 blocks (5.00%) reserved for the super user
First data block=1
60 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
2.4. mkswap
O comando
mkswap é usado para formatar uma partição swap preparando o dispositivo para ser usado como área de memória virtual.
# mkswap /dev/sdb6
Setting up swapspace version 1, size = 797814784 bytes