Revista Do Linux
EDIÇÃO DO MÊS
 CD do Mês

 Capa
 Entrevista
 Corporativo
 Editoração
 Segurança
 Hardware
 Produtos
 Programação
 Sistema
 

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.


    A Revista do Linux é editada pela Conectiva S/A
    Todos os Direitos Reservados.

    Política de Privacidade
    Anuncie na Revista do Linux