Particionamento de discos rígidos
Em geral, um PC novo já vem com o Windows
pré-instalado, praticamente pronto para ser usado, não
exigindo nenhuma interferência do usuário, a não
ser em configurações pessoais. Isso é bastante
conveniente, pois não é preciso se preocupar com
detalhes complicados como formatação e particionamento
de discos rígidos. O problema surge quando o usuário
quer instalar o Linux e não sabe como proceder, pois seu disco
possui apenas uma partição que ocupa todo o
espaço. Por falta de informação, muitos
usuários passam por experiências desagradáveis,
como perda de dados e até mesmo apagamento do sistema
operacional anterior. O mais comum é atribuir essa falha ao
Linux, ao instalador e ao distribuidor do CD (que pode ser uma revista
como esta). O suporte técnico do Windows pode orientar seus
usuários como redimensionar o HD com apenas uma
partição, porém muitos usuários não
dispõem desse serviço. Para auxiliá-los, vamos
descrever neste artigo o funcionamento de um disco rígido, o
que vem a ser o particionamento e quais ferramentas utilizar para
redimensionar a partição que monopoliza o seu disco.
Anatomia de um disco rígido
Fisicamente, o disco rígido possui os seguintes componentes (veja quadro):
disco (platter): o próprio disco, onde os dados são armazenados.
cabeças (heads): para gravação/leitura dos dados na superfície do disco.
braço (arm): é a peça na qual se fixam as cabeças. Possui movimento para frente e para trás.
Toda operação de leitura/gravação
é feita por setores. Um setor é um bloco de bytes, algo
como um tijolo que forma a parede, que é o disco rígido.
Para identificar cada tijolo, discos rígidos mais antigos
utilizam a notação CHS (Cylinders, Heads, Sectors
cilindros, cabeças, setores). Os atuais discos rígidos
atribuem a cada setor um número distinto; essa
notação se chama LBA (Logical Block Addressing
endereçamento lógico de blocos). Muitos sistemas
operacionais também trabalham com a notação LBA.
Mas para manter a compatibilidade com os programas antigos (e
também com o MS-DOS, que só trabalha com CHS), os discos
modernos possuem mecanismos que traduzem instruções em
CHS para seu próprio método de endereçamento.
A notação CHS tem o limite máximo de 8 Gb.
Isso significa que, se você tem um disco de 12 Gb, muitos
programas só enxergarão 8 Gb devido ao CHS. Por outro
lado, é mais simples trabalhar com centenas de cilindros do que
milhões de setores (talvez você tenha de determinar esses
valores quando for configurar os tamanhos das
partições).
Por que particionar o disco rígido?
Organização: manter separados sistemas operacionais,
aplicações e dados. Dessa forma, podem-se instalar
vários sistemas operacionais em partições
diferentes, colocar os dados em uma partição separada
para facilitar o backup e a instalação de novos sistemas
operacionais.
Otimização: recuperar o espaço perdido por
clusters ineficientes, utilizando partições menores. Ter
diversos sistemas de arquivos em partições
diferentes.
Segurança: separar dados das aplicações e do
sistema operacional. Colocar dados sigilosos em
partições que podem ser escondidas por
utilitários.
Partições, MBR, Tabela de Partições
Existem três tipos de partição:
primárias, estendidas e lógicas. As
partições primárias e estendidas são as
principais, existem apenas quatro partições principais
(4 partições primárias ou 3
partições primárias e uma estendida). Somente as
partições primárias podem ser
inicializáveis.
Todos discos rígidos para PC são particionados da
mesma maneira. O primeiro setor do disco chama-se MBR (Master Boot
Record) e contém a Tabela de Partições (onde
são armazendas as informações sobre as
partições: se ela é inicializável, se
é primária ou estendida, qual tipo de sistema de
arquivos é utilizado). Essa tabela contém quatro
entradas, e cada uma delas descreve uma única
partição. O MBR ocupa apenas um setor no cilindro 0,
lado 0 e setor 1, porém a partição deve iniciar
no cilindro 0, lado 1, setor 1. Os 62 setores de distância entre
os cilindros ficam inutilizados, porque as partições
iniciam nos limites de um cilindro. Isso não é requerido
pelo LBA, mas é preciso satisfazer as regras de programas
antigos (por exemplo, o MS-DOS).
Para aumentar o número de partições
disponíveis, utiliza-se a partição estendida, que
pode comportar até 64 partições lógicas. A
partição estendida não armazena dados, e sim
outras partições lógicas. A ferramenta mais comum
para particionamento de discos no Win/DOS é o FDISK. No Linux
há várias ferramentas, as mais comuns são: o
fdisk (apesar de ser homônimo do programa DOS, é
totalmente diferente) e o cfdisk (com interface de menus em modo
texto).
Sistemas de arquivos (file system)
Após o particionamento, vem a formatação
lógica, que é feita pelo sistema operacional, para a
criação do sistema de arquivos (file system).
Sem um sistema de arquivos, o sistema operacional não
consegue gravar/ler dados na partição. Cada
partição pode ter apenas um tipo de sistema de arquivos.
Existem vários tipos de sistemas de arquivos, e os mais comuns
(DOS/Win) são:
FAT (File Alocation Table) é o sistema de
arquivos padrão do DOS e do Windows.
VFAT (Virtual File Alocation Table) é um modo
protegido do FAT, usado pelo Windows 95. É compatível
com FAT, e a principal diferença é o suporte a nomes
longos de arquivos.
FAT32 (32-bit File Alocation Table) apareceu
juntamente com o Windows 95 OSR2, e supera a maioria das
limitações da FAT.
O comando para criar os sistemas de arquivos descritos
anteriormente é o FORMAT. Depois de formatadas, as
partições também são conhecidas por volume
(é uma boa idéia dar um nome para as
partições DOS/Win). Sistemas DOS/Win identificam volumes
com letras, por exemplo, "C:\", tratando-as como unidades de
disco ou drive. Como o alfabeto só possui 26 letras, o DOS
possui a limitação de 26 unidades de disco, ou seja,
você poderá ter no máximo até 26
partições.
Quando os discos são formatados, o DOS configura a FAT para
gerenciar o armazenamento de arquivos. A FAT pode manipular apenas um
número limitado de blocos de informação em disco
(chamados de clusters) e então calcula o tamanho do cluster
baseado no da partição. Quanto maior for o disco,
maiores serão os clusters um cluster é um grupo
contínuo de setores em disco. Sob o DOS, um setor tem 512
bytes.
Arquivos são manipulados em unidades de clusters, em vez de
bytes ou setores. Quando um arquivo é gravado no disco, ele
ocupa um número inteiro de clusters. Por exemplo, o cluster de
um disquete de 1,44 é de 512 bytes, e mesmo que um arquivo de 1
byte seja gravado no disco, esse arquivo estará ocupando um
cluster de 512 bytes, deixando 511 bytes de espaço
inutilizado.
O tamanho de um cluster de um disco de 540 Mb é 16 kb. Todo
arquivo maior do que um número inteiro de cluster irá
ocupar 16 kb extras, requeridos ou não. Também existem
centenas de arquivos pequenos usando espaço muito maior do que
o tamanho dos arquivos.
Perceba que quando um diretório do disco é listado, o
DOS informa o tamanho de cada arquivo e não o
espaço ocupado em disco.
No Linux não existem "unidades de disco",
utiliza-se o conceito de dispositivos e pontos de montagem. O primeiro
disco rígido (master) é representado pelo arquivo de
dispositivo /dev/hda, e as partições por /dev/hda1
(primeira partição), /dev/hda2 (segunda
partição). Caso exista um segundo disco rígido
(slave), esse será chamado de /dev/hdb, e as
partições como /dev/hdb1, /dev/hdb2 e assim por diante.
Esses dispositivos estarão acessíveis quando estiverem
"montados" em um "ponto de montagem" (um
diretório).
Ferramentas para redimensionar partições
Atenção! Antes de alterar as partições
de seu disco rígido, faça backup de todos seus arquivos
importantes (ou melhor, faça dois ou três backups de seus
dados importantes). Tenha absoluta certeza do que está fazendo
e se tiver amor por seus arquivos, não clique em OK nem mande
prosseguir se não souber exatamente o que está
acontecendo, pois toda e qualquer alteração nas
partições do disco em geral é
irreversível. Eliminar uma partição, além
de apagar todos os seus dados, torna inacessível o sistema
operacional que estava instalado na partição. Nesse
caso, nem mesmo o seu disco de emergência vai funcionar para
restaurar a partição apagada.
Algumas ferramentas estão disponíveis para essa
delicada tarefa (comerciais e GPL). Partition Magic é a
aplicação comercial mais famosa para redimensionamento.
A Caldera traz uma versão Lite em sua
distribuição Linux. A vantagem é a facilidade de
uso e a desvantagem é que não funciona se a
partição não iniciar exatamente em um
cilindro.
FIPS este utilitário está praticamente em
todas grandes distribuições. Apesar de rodar em DOS e
necessitar da digitação de comandos no prompt,
não é difícil de usar. É eficiente e
oferece a possibilidade de salvar a tabela de partições
antes de alterá-la. Em caso de algum erro, será
possível voltar para o estado anterior.
GNU Parted desenvolvido e mantido pelo australiano Andrew
Clausen, é um programa para criar, destruir, redimensionar,
verificar e copiar as partições e os sistemas de
arquivos destas partições.
É um programa útil para liberar espaço para
novos sistemas operacionais, reorganizar o uso do disco, copiar dados
entre discos rígidos e fazer imagens de discos. O programa pode
funcionar interativamente com o fdisk ou em linha de comando. O Parted
possui as mesmas funcionalidades que o Partition Magic, com a vantagem
de ser software livre e GPL. A única desvantagem em
relação ao Partition Magic é a ausência de
uma interface gráfica. Mas um front-end está sendo
desenvolvido com GTK (GIMP Tool Kit) e será incorporado nas
próximas versões do Parted.
Para saber mais
Linux Total pág. 353
www.zdnet.com/pcmag/pctech/content/16/11/tu1611.001.html
consult.cern.ch/cnl/236/
disk partition.html
www.powerquest.com/support/pm/pm1015.html
www.linuxdoc.org/HOWTO/mini/Partition.html
www.gnu.org/software/parted
O autor do Parted
Andrew Clausen tem 19 anos e estuda Ciência da
Computação na Universidade de Melbourne. Ele está
no Brasil desde dezembro de 2000 atuando no aperfeiçoamento do
GNU Parted.
Clausen começou a trabalhar com programação em
um 286, com 1 Mb de RAM e HD de 40Mb, usando as linguagens Basic,
Assembler e depois Pascal.
Ele salienta que o que o mais motiva é o fato de trabalhar
na comunidade de software livre. Segundo ele, o trabalho torna-se mais
político e menos social à medida que se distancia do
conceito de free sofware.
Quanto à usabilidade e ao aprimoramento de interfaces, ele
aponta que o Linux ainda tem um longo caminho a percorrer. No que se
refere ao item eficiência, Clausen crê que seja
difícil comparar o Linux com outros sistemas operacionais, pois
eles atuam em áreas muito abrangentes, exigindo
aplicações diferentes. "Já ouvi falar que o
Linux está melhor que o Windows e MacOS, mas isso é
apenas o que outras pessoas falam. Solaris e FreeBSD estão
à frente em algumas áreas, e o Linux está na
frente em outras", conclui.