Reparticione seu HD sem precisar perder seus dados, de diversas formas. Métodos bem seguros e sem o uso de programas comerciais.
Particionamento
Esta é uma das mais difíceis tarefas, que impedem e confudem vários iniciantes do Linux! Sem dúvida, esta é a etapa mais difícil de qualquer instalação, todo mundo diz que o Linux é dificil de instalar justamente por causa disto. Mas pense bem, imagine que um computador venha pronto para instalar o Linux, será difícil? Não, será que nem o Windows, e do jeito que os tipos de instalação estão ficando cada vez mais fáceis…
Reparticionamento com o fdisk
Legal, mas vamos aprender a mecher então no fdisk do Linux, que é onde criaremos nossas partições :) Antes de mais nada, fique sabendo que você tem que ter o HD com espaco livre (não espaço livre numa partição, e sim espaço livre para criar uma partição). Tem gente que opta em formatar o HD, mas como não é todo mundo que gosta disso, tentem usar o FIPS, que deixará espaço livre para você criar outras partições, sem ter de formatar o HD. Funciona, eu já vi funcionar.
Se você não tiver um sistema DOS/Windows, então você pode usar o programa GNU Parted para fazer o particionamento do disco sem ter que perder os dados dele. Também funciona porque eu já tentei aqui na minha própria máquina. Algumas distribuições atuais já incluem na sua instalação uma interface automática para reparticionar o disco com esse programa… Então se for o caso de você usar uma distribuição que tenha este recurso, não será necessário você ter que particionar seu disco como descrito aqui nesta seção.
Aqui estão os endereços para os programas de reparticionamento:
- GNU Parted – http://www.gnu.org/software/parted/
- FIPS – ftp://ftp.debian.org/debian/tools/
Antes de tentar qualquer coisa desesperadamente, certifique-se de que sabe o que você vai fazer, e sempre pense duas vezes antes de fazer qualquer coisa. Se você tem dúvidas em relação a particionamento, e quer ter a certeza que não vai perder nenhum dado, o ideal seria você fazer um backup dos seus arquivos. Então vamos, mãos à obra. Você deve estar no simples prompt do Linux… Nas instalações você pode ser presenteado com uma shell, onde você poderá rodar o fdisk. Se você tiver numa interface gráfica ou coisa assim, experimente apertar CTRL+ALT+F2, provavelmente você irá para o prompt. Primeiro entenda o seguinte:
/dev/hda | IDE Primária Master |
/dev/hdb | IDE Primária Slave |
/dev/hdc | IDE Secundária Master |
/dev/hdd | IDE Secundária Slave |
Fazemos de conta que aqui eu não tenho o Linux instalado, e pretendo instalar ele no segundo HD da minha máquina. Tenho 2 HDs, um para o sistema Windows (/dev/hda) e outro para o Linux (/dev/hdb). O que eu vou particionar com o fdisk é apenas o segundo HD, que é o /dev/hdb, então eu executo o fdisk assim:
fdisk /dev/hdb
Você irá ser presentiado com um prompt. Neste prompt você poderá digitar algumas letras que vão corresponder a comandos… Como primeiro comando, vamos ver a mensagem de ajuda. Digite “m”, e uma mensagem com informações de uso vai aparecer. Os seguintes outros comandos estão disponíveis:
Comando | Ação |
a | Muda a partição ativa (bootável) |
b | Edita o disklabel do bsd |
c | Muda o sinal de compatibilidade do DOS |
d | Deleta uma partição |
l | Lista os tipos de partições conhecidas |
m | Mostra a mensagem de ajuda |
n | Adiciona uma nova partição |
p | Mostra a tabela de partições atuais |
q | Sai sem salvar as mudanças |
t | Muda o tipo de partição |
u | Muda as unidades de entrada/saída |
v | Verifica a tabela de partições |
w | Aplica as alterações e sai do programa |
x | Outras opções |
Vamos começar a mexer com as opções do fdisk. Como vamos mexer com o o HD, temos que saber primeiro se ele está vazio… Para fazer isso você usa o comando “p” para ver a tabela de partições atual:
Command (m for help): p Disk /dev/hdb: 64 heads, 63 sectors, 526 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Begin Start End Blocks Id System
Aqui no caso não apareceu nenhuma listagem de partição, então isto quer dizer que o HD está vazio e pronto para se criar partições! Mas se por exemplo, existisse uma partição já criada neste HD, como ficaria? Vejamos:
Command (m for help): p Disk /dev/hdb: 64 heads, 63 sectors, 526 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hdb1 1 1 526 1060384+ b Win95 FAT32
Aí então apareceu uma partição FAT32, e como eu não quero essa coisa, vou deletá-la para deixar o HD sem partições! :) Repare que é a partição 1, porque vem o número 1 depois de /dev/hdb, ficando /dev/hdb1. Então iremos agora deletar a partição 1:
Command (m for help): d Partition number (1-4): 1
Pronto, a partição foi deletada. Como eu vou querer instalar o Linux sozinho, crio as partições Linux Native e Linux Swap. Eu tenho um HD de 1gb, e vou colocar 950MB para o Linux Native e 50MB para Swap:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-526): 1 Last cylinder or +size or +sizeM or +sizeK ([1]-526): +950M Command (m for help): p Disk /dev/hdb: 64 heads, 63 sectors, 526 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hdb1 1 1 483 973696+ 83 Linux native Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (484-526): 484 Last cylinder or +size or +sizeM or +sizeK ([484]-526): 526 Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap) Command (m for help): p Disk /dev/hdb: 64 heads, 63 sectors, 526 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hdb1 1 1 483 973696+ 83 Linux native /dev/hdb2 484 484 526 86688 82 Linux swap Command (m for help):
Viu como não é tão difícil? Como último comando acima, eu primeiro criei duas partições com tamanhos variados. Uma dessas partições vai ser a swap, então tenho que mudar o tipo (id) dela… Para isso executei o “t” e coloquei o valor 82 para a partição 2 (/dev/hdb2). Como resultado deste processo todo… podemos ver a ultima mostragem do comando “p”… Perfeito! Agora só precisamos salvar a configuração, e só assim o fdisk irá fazer o particionamento de verdade. Para isso use o “w” e boa sorte :)
Com isso seu HD estará preparado para abrigar uma distribuição Linux. Saindo um pouco do fdisk, vamos ver agora como funciona o GNU Parted e o FIPS. Estes dois programas serão úteis para você não perder os seus queridos dados, como seus vídeos de Anime e suas musiquinhas em mp3 :D
Reparticionamento com o GNU Parted
O GNU Parted é um programa muito bom para reparticionar o seu HD sem perder os dados. Ele é um programa totalmente feito para o Linux, ou seja, você só poderá rodá-lo se tiver um Linux. Então você pergunta… Se eu quero particionar o meu HD para instalar o Linux, como vou fazer isso com esse programa?
Sim, existe um jeito bem simples de você usar o GNU Parted sem ter instalado o Linux em sua máquina. Para fazer isso você precisará de um disquete, e alguns utilitários. Com isso iremos criar um bootdisk que vai conter o GNU Parted para você usar à vontade! Se você já tiver Linux, não precisa criar um bootdisk… :) Você precisará de dois arquivos para criar o bootdisk:
- Rawrite – ftp://ftp.debian.org/debian/tools/rawrite2.zip
- Imagem do disco – ftp://ftp.gnu.org/gnu/parted/bootdisk/partboot.img
O Rawrite é um programa que cria bootdisks a partir de imagens. Então para criar a bootdisk, a imagem (segundo arquivo) é o necessário. Essa imagem contém um Linux bem compacto, com o GNU Parted contido nele. No DOS, descompacta o Rawrite em um diretório e coloca a imagem neste mesmo diretório e executa o comando:
rawrite partboot.img a:
Ou você pode digitar rawrite apenas, e ele vai te pedir a imagem e depois aonde escrever a imagem. Então você coloca os dois parâmetros (partboot.img que é a origem, e a: que é o destino). Espere um pouco e o bootdisk está pronto para ser criado e utilizado. Para criar este bootdisk no Linux, você só precisará da imagem, então é só utilizar o comando:
dd if=partboot.img of=/dev/fd0 bs=1440k
Para utilizar o bootdisk, reinicie a máquina, coloque o disquete no driver e espere o boot (o boot por disquete tem de estar habilitado na BIOS claro). Você irá cair no prompt do Linux, podendo usar o GNU Parted à vontade. Vou explicar agora como usar o GNU Parted direitinho. Primeiro de tudo, você tem de executar o parted em um HD. No exemplo anterior (do fdisk), estávamos usando o /dev/hdb, então aqui vai ser a mesma coisa:
parted /dev/hdb
Você será presenteado com um prompt. Digite print para obter a tabela de partições atual do seu HD. Vamos usar aqui um exemplo que bate com a maioria dos casos:
(parted) print Disk geometry for /dev/hdb: 0.000-2457.984 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 2457.000 primary FAT boot
Aqui eu tenho uma partição de 2.5GB. Os dados fornecidos pelo comando print estão todos em MB… O que você terá de fazer aqui é redimensionar esta partição, para deixar um espaço livre para Linux. Antes de redimensionar certifique-se de que sabe o que está fazendo, e de que o espaço livre tenha o tamanho da partição que você quer criar (é meio impossível você criar uma partição sem espaço em disco disponível né? :)). Vamos supor que eu quero criar uma partição de 1.5GB, faço assim:
(parted) resize 1 0.031 1000
O programa irá mecher com seu HD como se estivesse esbagaçando ele todinho, mas o que ele está fazendo é redimensionando a partição, mexendo nos dados e checkando tudo para que se houver algum crash, possa se recuperar alguma coisa depois. O comando “resize” já diz tudo, redimensiona a partição. O primeiro parâmetro, o “1” corresponde ao número da partição (Minor), que foi mostrado com o comando “print”. O segundo e terceiro parâmetro são respectivamente o início e o fim em Megabytes da partição que vai ser redimensionada, no exemplo, a partição ia de 0 até 2500, então diminuímos ela para de 0 até 1000, deixando 1500 Megabytes livres para criar outras partições. Feito com sucesso essa modificação da tabela de partições do HD, saia com o comando “quit”, e manuseie normalmente o seu HD com o programa fdisk (criação de partições Linux, definições como Linux Native e Swap, etc). Por que usar o fdisk? Questão de gosto :)
Reparticionamento com o FIPS
Se você não pode usar o fdisk, e não quer usar o GNU Parted para reparticionar sem perder dados, o FIPS é uma boa alternativa para fazer isso. O FIPS é um programa para DOS, então é o oposto ao GNU Parted: só roda em DOS, e não em Linux. O FIPS foi e ainda é bem usado para fazer a tarefa de repartição do HD. Mostrarei a seguir os passos básicos para você redimensionar uma partição Windows, seguindo o mesmo escopo dos exemplos anteriores.
Antes de mais nada, você terá que desfragmentar o seu disco todo. No Windows e no DOS isto é feito com o programa defrag, que move os arquivos para o começo do HD, organizando e deixando o final livre. O FIPS requer que o final do HD fique livre, assim ele pode dividir a partição sem mexer com nenhum dado. Outra coisa muito importante: crie um disco de boot do Windows e coloque dentro dele também o fips.exe. Então boote com este bootdisk que você criou e execute o fips:
a:\fips.exe
Depois disso, algumas informações irão ser mostradas, como por exemplo a tabela de partições e os informações sobre o setor de boot, como no exemplo a seguir:
Partition table: | | Start | | End | Start |Number of| Part.|bootable|Head Cyl. Sector|System|Head Cyl. Sector| Sector |Sectors | MB -----+--------+----------------+------+----------------+--------+---------+---- 1 | yes | 1 0 1| 0Ch| 127 783 63| 63| 6330177|3090 2 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 3 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 4 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 Boot sector: Bytes per sector: 512 Sectors per cluster: 8 Reserved sectors: 32 Number of FATs: 2 Number of rootdirectory entries: 0 Number of sectors (short): 0 Media descriptor byte: F8h Sectors per FAT: 6176 Sectors per track: 63 Drive heads: 128 Hidden sectors: 63 Number of sectors (long): 6330177 Physical drive number: 80h Signature: 29h Checking boot sector ... OK Checking FAT ...
Na mensagem “Checking FAT…”, o programa está checkando o seu sistema de arquivos DOS para ver se ele vai poder fazer o redimensionamento da partição. Se por exemplo você não tiver o último cilindro da partição livre (isso porque você não deve ter executado o defrag para colocar tudo no começo), então o programa diz que não pode criar partição e sai. Se tudo ocorrer bem, você já poderá especificar qual o tamanho para ser redimensionado.
Escolha o tamanho da sua nova partição movendo as dimensões dos cilindros com os cursores (setas do teclado). Depois de tudo ajeitado conforme as suas necessidades, aperte enter para continuar. O programa irá checkar novamente por cilindros livres e depois vai recalcular os dados da tabela de partições do HD, mostrando as novas configurações. Apertando C agora, ele vai fazer mais verificações e finalmente irá perguntar se você deseja continuar. Apertando Y você confirma, ele cria a nova partição, salva, e sai do programa.
Esta nova partição criada é uma partição primária DOS, então você terá de ir ao fdisk do Linux (através de um bootdisk por exemplo), excluir essa nova partição criada e criar novas para o Linux, como descrito anteriormente. É o mesmo esquema de depois da redimensionamento da partição com o GNU Parted, e não deve apresentar muitas dificuldades.
Ufa!
Finalmente tudo está criado e pronto para se instalar Linux. Só para finalizar o assunto de partições, vamos falar sobre os sistemas de arquivos suportados pelos redimensionadores (GNU Parted e FIPS). O FIPS apenas suporta redimensionamento de partições do tipo DOS (fat), sendo impossível dividir uma partição Linux (ext2). Já o GNU Parted suporta partições DOS (fat) e Linux (swap e ext2). No Linux também é possível usar o sistema de arquivos ReiserFS, e para redimensionar este tipo de partição, há um utilitário próprio chamado reiserfs resizer, que vem junto com o pacote ReiserFS. Se você tiver uma partição ReiserFS o pacote pode ser obtido através do endereço: http://devlinux.com/projects/reiserfs.
E qualquer dúvida sobre o partições, e o uso de destes programas, você deve recorrer à algumas documentações disponíveis:
- Partition mini-HOWTO: http://www.linuxdoc.org/HOWTO/mini/Partition.html
- GNU Parted User Guide: http://www.gnu.org/software/parted/USER
- Manpage do fdisk: man fdisk
- Documentação do FIPS (vem incluso com o fips20.zip)