Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Linux    

Reparticionamento


Comentários  2
Visualizações  
12,520

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:

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/hdaIDE Primária Master
/dev/hdbIDE Primária Slave
/dev/hdcIDE Secundária Master
/dev/hddIDE 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:

ComandoAção
aMuda a partição ativa (bootável)
bEdita o disklabel do bsd
cMuda o sinal de compatibilidade do DOS
dDeleta uma partição
lLista os tipos de partições conhecidas
mMostra a mensagem de ajuda
nAdiciona uma nova partição
pMostra a tabela de partições atuais
qSai sem salvar as mudanças
tMuda o tipo de partição
uMuda as unidades de entrada/saída
vVerifica a tabela de partições
wAplica as alterações e sai do programa
xOutras 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:

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:


Comentários  2
Visualizações  
12,520


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

2 respostas para “Reparticionamento”

  1. DINHO disse:

    VC É MUITO BOM,OLHA ESTOU FAZENDO CURDO DE TÉCNICO EM INFORMÁTICA HÁ UM ANO GOSTEI DE SEUS ESCLARECIMENTOS SE PUDER ENTRAR EM CONTATO PRA GENTE BATER UM PAPO E VC ME TIRAR ALGUMAS DÚVIDAS VAI SER UM PRAZER.

  2. rafael ramos disse:

    vc é fera cara, mas estou com um problema no linux educional 1.0. Já tinha o linux instalado deu um erro e nao inicializava mais ai estou tentando instalar novamente so q no meio da instalação está dando um erro de debootstrap e nao da certo mais para instalar. Como que faço pra corrigir esse erro?

Deixe uma resposta