Tutorial do shell script para Clonar HDs WIN7 usando Linux
Definição e tipos de particionamento
1. 2.1. Definição e primitivas
Particionamento pode ser definido, tecnicamente, dentro da informática, como o
ato de se associar várias unidades lógicas a uma unidade física. É a ação de se
dividir logicamente um dispositivo de armazenamento de dados (normalmente um
disco rígido), de forma com que se trabalhe com cada divisão (partição) como se
esta fosse um disco rígido independente.
O uso mais comum do particionamento em discos rígidos é para a instalação de
mais de um sistema operacional nocomputador [LSAG 2006]. Dessa forma, cada
sistema operacional fica restrito à sua partição e não entra em conflito com os
demais. Caso não houvesse o recurso de particionamento, segundo [LSAG 2006],
para cada sistema operacional que se desejasse utilizar no computador, seria
necessário um disco rígido exclusivo para a sua instalação.
Existem basicamente, três tipos de partições: partições primárias, partições
estendidas e partições lógicas. De acordo com [LSAG 2006], o esquema original de
particionamento de discos rígidos para PCs, permitia apenas a criação de quatro
partições primárias, mas logo surgiu a necessidade de se utilizar mais partições.
Para solucionar este problema, as partições estendidas foram concebidas. Este tipo
de partição funciona quase como uma partição primária. A primeira grande
diferença entre elas, segundo [Piropo 2006], é o fato de que partições estendidas
não podem ser utilizadas para se inicializar o computador, portanto não podem
conter os arquivos de inicialização de um sistema operacional.
Dessa forma, estes arquivos devem estar dentro de uma partição primária. [Piropo
2006] ainda diz que, pelo fato de somente um sistema operacional poder ser usado
por vez no computador, somente uma partição primária pode estar apta a inicializar
o sistema e esta partição recebe o nome de partição ativa.
A segunda grande diferença entre partições primárias e estendidas, é que,
diferentemente de partições primárias, partições estendidas não podem ser
utilizadas, diretamente, para alocação de dados.
Para que as partições estendidas possam ser utilizadas, é necessário que sejam
divididas em partições lógicas, sendo que estas últimas serão utilizadas de fato.
Assim, partições estendidas devem ser encaradas como contêineres de partições
lógicas e são estas partições que serão utilizadas para alocação de dados.
Segundo [PPDebian 2006], além da limitação de quatro partições primárias por
disco rígido, cada disco pode conter apenas uma partição estendida e, dentro dela,
podem ser criadas até 60 partições lógicas para discos IDE e 12 para discos SCSI.
Dessa maneira, num disco rígido IDE, pode-se ter, dependendo do esquema de
particionamento, até 63 partições (três partições primárias e 60 lógicas) e até 15
em discos SCSI (3 primárias e 12 lógicas).
Vale lembrar que, como somente partições primárias podem ser usadas para se
inicializar um sistema operacional, no esquema de particionamento do disco deve
haver, pelo menos, uma partição primária. Segundo [LSAG 2006], não há diferença
no tempo de acesso entre os tipos de partição. Por isso é errado pensar que uma
partição primária será acessada mais rapidamente que uma partição lógica.
2.1.1. Conceitos importantes para usuários GNU/Linux
2. O setor inicial de todo disco rígido (os primeiros 512 bytes do disco) recebe o nome
de MBR (Master Boot Record - Registro Mestre de Inicialização) e este contém,
além de informações sobre a inicialização do computador, informações sobre o
esquema de particionamento do disco (cada partição também possui um setor de
boot, responsável por inicializá-la [LSAG 2006]).
Para cada informação, sobre cada partição, presente no MBR, há um byte
responsável por indicar qual o tipo daquela partição. Não há muito uso para este
byte e assim não há padronização para possíveis valores dele.
Segundo o programa fdisk, presente em muitas distribuições GNU/Linux, uma
partição reservada para armazenar um sistema GNU/Linux, possui o valor 83 neste
byte e uma partição de troca (seção 2.4), para o mesmo sistema, recebe o valor
82. Estes são os principais valores a se saber, para usuários GNU/Linux. Por isso, é
comum utilizar os termos Partição Linux Native (83) e Partição Linux Swap (82),
em sistemas deste tipo.
Tudo no GNU/Linux é um arquivo e dispositivos não fogem à regra. Por padrão,
arquivos de dispositivos se localizam no diretório /dev (dev provém de devices, em
inglês - dispositivos, em português) em sistemas GNU/Linux. A nomenclatura de
dispositivos IDE e SCSI (interfaces comuns de discos rígidos, CD-Roms e etc.)
segue o seguinte padrão. As duas primeiras letras representam o tipo de dispositivo
(hd, para IDE e sd, para SCSI). Na seqüência, existe um letra para indicar a
maneira com que o dispositivo está conectado ao computador: primary master (a);
secondary master (b); primary slave (c) e secondary slave (d). Finalmente, para
cada partição do disco em questão, é associado um número, que se inicia de um e
vai até o número máximo de partições do disco, o qual indica, obviamente, cada
partição do disco.
Assim, para um disco rígido IDE, conectado como primary master ao computador e
com três partições, os seguintes arquivos de dispositivo de /dev, seriam válidos:
hda (o disco como um todo); hda1 (a primeira partição do disco), hda2 (a segunda
partição do disco) e hda3 (a terceira partição do disco).
Para se utilizar qualquer dispositivo de armazenamento no GNU/Linux, é necessário
associar o arquivo referente ao dispositivo, a um diretório do sistema. Este
processo é chamado de montagem de dispositivos e mais informações sobre este
processo podem ser encontradas nos manuais do arquivo que possui a tabela de
montagem do sistema (fstab - man fstab, na linha de comando) e do programa que
executa a montagem dos dispositivos (mount - man mount, na linha de comando).
2.2. Instalação do GNU/Linux em mais de uma partição
Para se instalar um sistema GNU/Linux em um disco rígido, é necessária apenas
uma partição Linux Native, onde o sistema ficará residente. Contudo, na maioria
dos casos, é necessário que haja uma área para que o sistema utilize como
memória virtual (seção 2.4). Por isso, é comum, nas instalações domésticas do
GNU/Linux, haver, pelo menos, duas partições no disco rígido; uma Linux Native e
outra Linux Swap [Debian 2006]. Na verdade, não é obrigatório que a área de troca
fique em uma partição separada, podendo ser simplesmente um arquivo do
sistema, mas esta prática se justifica por razões de desempenho [LSAG 2006].
Apesar da utilização de somente duas partições ser uma prática bem comum em
instalações domésticas do GNU/Linux, este sistema pode ser instalado de forma
com que determinados diretórios fiquem, cada um em sua partição, ou até mesmo
3. em computadores diferentes [Conectiva 2006]. Pode-se definir, por exemplo, que o
diretório /boot ficará na partição hda1; / na partição hda2; /home na partição
hda3, /var na partição hda4 e hda5 como partição de troca. É claro que qualquer
combinação pode ser feita, dependendo das necessidades da aplicação e esta é
uma prática bastante comum em servidores.
Segundo [LSAG 2006], os seguintes diretórios não podem ter partições separadas
para eles e, portanto, devem ficar na mesma partição do diretório raíz (/): /bin;
/etc; /dev; /initrd; /lib e /sbin. Esta limitação se justifica pelo fato de que o
conteúdo destes diretórios são necessários no momento de inicialização do sistema
e por isso devem sempre fazer parte da partição do diretório raíz. Da mesma
forma, [LSAG 2006] sugere que os diretórios /var e /tmp fiquem em partições
próprias para eles, pois seu conteúdo se altera constantemente e a não criação de
partições separadas para eles traz o risco de um arquivo de log encher a partição
do diretório raíz, por exemplo.
2.3. Vantagens e desvantagens dos esquemas de particionamento
A utilização do GNU/Linux sob várias partições trás vantagens e desvantagens que
variam de acordo com a aplicação. De uma forma geral, [Debian 2006] cita como
as principais vantagens:
Segurança. Caso haja algum problema, em alguma parte da hierarquia de
diretórios, somente a partição que armazena aquela parte da hierarquia será
afetada e o administrador não terá que recuperar todo o sistema. Por
exemplo, imaginando que haja um problema de corrompimento de arquivos
em /tmp e que este diretório esteja montado em uma partição própria, não
haverá risco de perda de dados em outras partições, o que torna o sistema
mais confiável.
Crescimento descontrolado de dados. No caso de alguém ou algum
programa começar a criar arquivos no sistema, com o intuito de encher o
disco rígido, este problema ficará restrito à partição que foi alvo do ataque,
evitando o comprometimento geral do sistema. Um exemplo bem prático, no
caso de um servidor de e-mails, é o de se manter o diretório onde se
localizam as mensagens eletrônicas (/var/spool/mail) em uma partição
separada.
Assim, caso algum usuário começasse a receber muitas mensagens, como
spams, por exemplo, somente esta partição seria afetada, garantindo-se
assim a segurança dos dados armazenados no sistema e possibilitando ao
administrador uma solução mais prática para o problema.
É importante se observar que estes problemas podem ser solucionados através do
uso de quotas de disco, que é um recurso que limita o uso do disco rígido para
usuários e seus programas. O interessante é que as quotas de disco ainda podem
ser combinadas com esquemas de particionamento, o que possibilita a criação de
4. várias soluções diferentes para problemas deste tipo. Mais informações sobre
quotas de disco podem ser encontradas em [Conectiva 2006].
[Conectiva 2006] ainda cita, como vantagem de se utilizar várias partições para a
instalação do GNU/Linux, a facilidade de manutenção de cópias de segurança
(backup), que é uma prática indicada para qualquer tipo de sistema e aplicação.
Dentre todas essas vantagens, a única desvantagem encontrada em [Debian
2006], é a impossibilidade de se prever as necessidades de espaço para cada
partição, pois se o administrador alocar pouco espaço para uma partição, ficará
faltando futuramente e, caso ele aloque espaço em demasia, este será um espaço
desperdiçado no disco. Aparentemente esta pode ser uma desvantagem sem
importância para muitos, mas é bastante séria, visto a dificuldade que é o
redimensionamento de uma partição e o perigo de perda de dados que esta
operação apresenta. Por isso, os tamanhos de cada partição devem ser definidos
com muito cuidado e planejamento prévio, a fim de evitar futuros imprevistos.
O leitor mais cuidadoso poderia indicar, como outra desvantagem de se utilizar
muitas partições, o aumento do tempo de acesso ao disco, já que este deveria
buscar dados em várias partições, alocadas ao longo do disco rígido, a todo
instante. Entretanto, por causa dos avanços na construção de discos rígidos, este
tempo é pequeno o bastante para poder ser desprezado, fazendo com que esta
possível desvantagem não exista.
2.4. Memória virtual
2.4.1. Introdução
Para que qualquer software possa ser executado, ele deve estar carregado na
memória principal do computador (memória RAM). Acontece que em sistemas com
pouca memória RAM, a mesma pode se esgotar rapidamente, tornando inviável o
uso do computador. Por isso surgiu o conceito de memória virtual (memória
secundária). A memória virtual nada mais é do que uma área do disco rígido (um
arquivo ou uma partição), que é usada pelo computador como uma extensão da
memória RAM e esta área é comumente chamada de espaço ou área de troca
(swap space) [LSAG 2006].
A grande desvantagem desta técnica é que o acesso ao disco rígido é muito mais
lento que o acesso à memória RAM. Por isso, quanto mais o sistema tiver que fazer
uso da memória virtual, mais lento ele ficará [LSAG 2006].
2.4.2. O tamanho da área de troca
2.4.2.1. O problema
Como já foi dito, definir limites para partições é uma tarefa complicada e como a
área de troca, no GNU/Linux, costuma ser deixada em uma partição separada, ela
também sofre com este problema. O fato é que, ser for reservado pouco espaço
para esta área, o sistema poderá não funcionar direito, por falta de memória (há
relatos de compilações serem mal-sucedidas pela falta de memória) e se for
reservado muito espaço, haverá desperdício de espaço em disco.
2.4.2.2. A solução
Muito é dito sobre fórmulas "mágicas", onde se multiplica a quantidade de memória
5. RAM por uma constante, para se obter o tamanho da área de troca. Mas tais
fórmulas não conseguem exprimir uma solução muito exata para o problema,
induzindo muitas vezes o usuário, a alocar pouco ou muito espaço para esta área.
[LSAG 2006], no capítulo 6.5 (Allocating Swap Space - Alocando Espaço de Troca),
define um conjunto de medidas úteis para se definir com mais precisão o tamanho
da área de troca. Resumidamente, o que se encontra lá é o seguinte:
Estimar as necessidades máximas de memória. Para isso, pode-se executar
ao mesmo tempo todos os programas de uso mais comum pelo usuário e
utilizar o comando free, para determinar quanto de memória está sendo
consumida, lembrando-se de adicionar alguns Megabytes ao resultado final,
por conta de possíveis programas esquecidos e já prevendo um aumento
futuro de consumo de memória.
Com o resultado obtido, deve-se subtrair a quantidade de memória RAM que
o sistema possui, da quantidade encontrada. Caso o resultado seja muito
maior que a quantidade de memória principal do sistema, este pode ser um
sério indicador para investir na compra de mais memória RAM, para não
correr o risco do sistema ficar muito lento.
Vale lembrar também que, caso o resultado indique que não seja necessária
uma área de troca, é interessante que o usuário mantenha, ainda assim,
uma pequena área de troca, isto pois mesmo com memória sobrando, o
Linux (Kernel) usará a Swap para armazenar blocos alocados na memória
principal e que não estejam sendo usados, com o objetivo de liberar mais
memória.
Uma última observação a ser feita, é que o gerenciador de memória do Linux limita
cada área de troca a um tamanho de 2 GB, mas pode-se usar até oito áreas de
troca simultaneamente, totalizando 16 GB de área de troca [LSAG 2006].
2.4.3. Conclusão
A memória virtual é um recurso muito interessante e necessário para vários
usuários, mas seu uso deve ser limitado, para não tornar o sistema por demais
lento. Para se definir o tamanho da área de troca. basta que o usuário tenha bom
senso e procure prever quais e quantos programas ele pretende utilizar ao mesmo
tempo no computador, para que se possa definir um bom tamanho para a área de
troca.
2.5. Exemplo de esquema de particionamento
Um exemplo de um esquema de particionamento que pode ser utilizado em
computadores domésticos e em servidores (com modificações, dependendo do tipo
de servidor) seria o seguinte.
Dado um disco rígido de 40 GB, cria-se três partições primárias. A primeira com 64
6. MB, a segunda com 15360 MB e a terceira com 4544 MB. Nos 20992 MB restantes,
cria-se uma partição estendida, de forma com que ela ocupe todo o espaço. Nesta
partição estendida, criam-se cinco partições lógicas. A primeira com 10240 MB, a
segunda com 7168 MB, a terceira com 2048 MB, a quarta com 1024 MB e a quinta
com 512 MB. Desta forma o disco será totalmente preenchido.
Na instalação do GNU/Linux, define-se as seguintes partições com os respectivos
pontos de montagem para o sistema. Na primeira partição primária (de 64 MB),
será montado o diretório /boot. Desta forma os arquivos de carregamento do
sistema ficam isolados e mais seguros. A segunda partição primária (15360 MB)
fica reservada para o diretório /home, isolando-se assim os arquivos dos usuários e
limitando sua utilização do disco. Na terceira partição primária (4544 MB) será
montado o diretório raíz (/), com os arquivos de inicialização do sistema. Na
primeira e na segunda partições lógicas (10240 MB e 7168 MB) serão
armazenados, respectivamente, os diretórios /usr e /opt. Isto limita o espaço
utilizado pelos programas que serão instalados no sistema. Na terceira e na quarta
partições lógicas (2048 MB e 1024 MB) residirão os diretórios /var e /tmp. Por fim,
a quinta partição lógica (512 MB) ficará reservada para área de troca.
Através desta divisão pode-se ter um panorama geral do sistema e assim pode-se
prever o seu crescimento, além do fato de que os dados estarão protegidos em
suas respectivas partições, o que garante mais segurança ao sistema.
2.6. Conclusão - Esquemas de particionamento
Nesta seção foram apresentados os principais conceitos a se saber sobre
particionamento de discos, bem como motivações para se utilizar mais de uma
partição para a instalação do GNU/Linux.
Apenas torna-se necessário enfatizar que, antes de se tomar qualquer decisão com
relação ao esquema de particionamento a ser adotado, é preciso que algum tempo
seja gasto com o planejamento desta ação (na verdade toda decisão deve ser
precedida de um bom planejamento). Este planejamento é muito importante, para
evitar possíveis transtornos causados pelo problema da definição prévia de espaço
para cada partição.
Assim, o uso que será dado ao sistema deve ser bem claro (servidor de banco de
dados, servidor de e-mails, workstation, uso doméstico e etc.), para que se possa
prever de forma inteligente quanto de espaço cada partição possuirá, sem que haja
desperdício e nem falta de espaço para elas.
Linux - Manipulando partições de disco
Autor: Roberto Rodrigues da Silva <beto.rrs at gmail.com>
Data: 05/11/2006
Dispositivos de bloco e partições
7. 1.0 - Dispositivo de Bloco:
Um dispositivo de bloco é uma camada de abstração para algum dispositivo de armazenamento que
pode ser formatado em blocos. Blocos individuais podem ser acessados independentemente de outros
blocos. Tal acesso é frequentemente chamado de "random access" ou "acesso aleatório".
Essa camada de abstração para acesso aos blocos de dispositivos de armazenamento, permitem
programas acessarem estes dispositivos de bloco sem problemas, mesmo que o dispositivo abaixo
dessa camada de abstração não parece ser o que realmente é.
Exemplo: Dispositivos como disquete, disco rígido, CD, ou qualquer outro dispositivo virtual pode ser
acessado por essa camada de abstração.
No Linux, os dispositivos estão localizados no diretório /dev. Neste diretório podemos encontrar
diversos dispositivos. Os dispositivos de bloco são identificados com o caractere "b" e os dispositivos de
caractere são identificados com o caractere "c".
Exemplo:
$ cd /dev
$ ls -l
brw-rw---- 1 root disk 8, 2 2006-08-30 10:40 sda2
brw-rw---- 1 root disk 8, 5 2006-08-30 10:40 sda5
brw-rw---- 1 root plugdev 8, 16 2006-08-30 10:41 sdb
brw-rw---- 1 root plugdev 8, 17 2006-08-30 10:41 sdb1
crw-rw---- 1 root audio 14, 1 2006-08-30 10:41 sequencer
crw-rw---- 1 root audio 14, 8 2006-08-30 10:41 sequencer2
crw-rw---- 1 root root 21, 0 2006-08-30 10:41 sg0
Também podemos exibir somente os dispositivos de bloco com o comando abaixo:
$ cd /dev/ ; ls -l | grep "^b"
Descrevendo o comando acima: Primeiro entra do diretório /dev/, depois executa o comando ls -l e a
saída é redirecionada para o grep, que por sua vez exibe apenas os dispositivos iniciados com o
caractere "b" de "bloco".
1.1 - Partições de Disco:
Para alguns dispositivos de bloco, tal como disquetes e CD/DVD, é comum ter somente um único
sistema de arquivos. No entanto, com disco rígido e alguns dispositivos de armazenamento USB ( Pen-
drive ), é possível dividir um dispositivo em vários pedaços, ou seja, ter várias partições diferentes no
mesmo dispositivo.
Com isso concluímos que disquetes, Zip-disks e CD-ROMs/DVD não possuem tabela de partição. Tabelas
de partição são exclusivos dos discos rígidos e de "pen-drive".
Partições podem ter diferentes tamanhos e diferentes sistemas de arquivos. Com isso, um único disco
pode ser usado para vários propósitos. Por exemplo: Podemos instalar em um único disco rígido, vários
sistemas operacionais diferentes, incluindo FreeBSD, Solaris, Linux ou Microsoft Windows, entre outros.
9. As informações sobre partições são armazenadas na "tabela de partições", que é localizada na trilha "0"
do disco rígido (MBR). Essa tabela, lista informações sobre o início e o fim de cada partição, informações
sobre o tipo de sistema de arquivos e se alguma partição esta marcada como "bootável" ou não.
Para criar ou deletar partições, é necessário editar essa tabela de partição usando um programa
designado para este trabalho.
Neste artigo iremos utilizar o programa em modo texto "fdisk", mas existe muitos outro programas que
podem realizar esta tarefa, incluindo programas executados sobre janelas ( Gparted ).
2.0 - Utilizando "fdisk" para exibir partições:
Para exibir a tabela de partição, utilizamos o comando "fdisk" com a opção -l. No exemplo abaixo, estou
listando o disco /dev/sda:
# fdisk -l /dev/sda
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 9541 76638051 83 Linux
/dev/sda2 9542 9729 1510110 5 Extended
/dev/sda5 9542 9729 1510078+ 82 Linux swap / Solaris
Agora vamos entender o que cada um dos campos acima diz:
• Disk /dev/sda: 80.0 GB, 80026361856 bytes = Mostra o tamanho total do disco.
• 255 heads, 63 sectors/track, 9729 cylinders = Mostra a geometria do disco
• Units = cylinders of 16065 * 512 = 8225280 bytes = mostra o resultado da multiplicação de
cilindros por blocos de 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 9541 76638051 83 Linux
/dev/sda2 9542 9729 1510110 5 Extended
/dev/sda5 9542 9729 1510078+ 82 Linux swap/Solaris
• Primeira coluna: A coluna "Device" exibe o nome das partições existentes.
• Segunda coluna: A coluna "Boot" exibe as partições ativas como bootável. No exemplo a
partição /dev/sda1 esta ativada.
• Terceira coluna: A coluna "Start" exibe o cilindro inicial.
• Quarta coluna: A coluna "End" exibe o cilindro final.
• Quinta coluna: A coluna "Blocks" exibe números de blocos em 1k ( 1024 bytes ).
• Sexta coluna: A coluna "Id" exibe informação sobre o tipo da partição.
• Sétima coluna: A coluna "System" exibe o nome do tipo da partição.
11. Acima mostrei como exibir informações sobre sua partição com ferramenta "fdisk". E a ferramenta
"fdisk" providencia um ambiente interativo para editar a tabela de partição, criar ou remover partições.
Aviso: Antes de modificar sua tabela de partição, faça backup das informações que julgar importantes e
não realize nenhuma mudança com partições importantes em uso.
E tenha certeza que você saiba o que está fazendo antes de executar alguma ação. Pois o "fdisk" não irá
fazer muitas confirmações, e suas alterações não podem ser desfeitas.
Para iniciar o "fdisk" em modo interativo, passe como parâmetro para ele o nome do disco ao qual você
deseja editar.
Segue um exemplo abaixo:
# fdisk /dev/hda
O número de cilindros para este disco está configurado para 4865. Não existe nada de errado, mas isto
é maior que 1024 e pode em certas configurações causar problemas com:
1. Programas que executam em tempo de inicialização (versões velhas do LILO);
2. Inicialização e programas de particionamento de outros OSs (p.ex., DOS FDISK, OS/2 FDISK).
Comando (m para ajuda):
Agora você está em modo interativo. Você pode digitar "m" para exibir a ajuda do fdisk. Segue exemplo
abaixo:
Comando (m para ajuda): m
Comando - ação
a alterna a opção "inicializável"
b edita rótulo BSD no disco
c alterna a opção "compatibilidade"
d exclui uma partição
l lista os tipos de partição conhecidos
m mostra este menu
n cria uma nova partição
o cria uma nova tabela de partições DOS vazia
p mostra a tabela de partições
q sai sem salvar as alterações
s cria um novo rótulo de disco Sun vazio
t altera a identificação da partição para o sistema
u altera as unidades das entradas mostradas
v verifica a tabela de partições
w grava a tabela no disco e sai
x funcionalidade adicional (somente para usuários avançados)
Comando (m para ajuda):
Agora vamos verificar as partições existentes como o comando "p". Segue exemplo abaixo:
12. Criando uma nova partição primária
Nós agora iremos criar uma nova partição primária através do comando "n" ( de new ). É necessário
digitar "n" para criar a nova partição, "p" para criar uma partição primária e o informar um número
entre 1 á 4 para informar o numero da partição.
OBS: Lembre-se que podemos ter apenas 4 partições primárias, para o nosso exemplo irei criar a nova
partição primárias número 3.
Segue o exemplo abaixo para criar uma partição primária de aproximadamente 8 GB (8201181 Kbytes):
Comando (m para ajuda): n
Comando - ação
e estendida
p partição primária (1-4)
p
Número da partição (1-4): 3
Primeiro cilindro (1-4865, padrão 1): 3606
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (3606-4865, padrão 4865): +8201181K
Agora vamos verificar quais partições estão criadas com o comando "p":
Comando (m para ajuda): p
Disco /dev/hda: 40.0 GB, 40020664320 bytes
255 cabeças, 63 setores/trilha, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/hda1 2300 2331 257040 82 Linux swap / Solaris
/dev/hda2 * 2332 3605 10233405 83 Linux
/dev/hda3 3606 4627 8209215 83 Linux
Comando (m para ajuda):
Criando uma nova partição estendida
13. Agora iremos criar uma partição estendida com o resto do disco. Segue o exemplo abaixo:
Comando (m para ajuda): n
Comando - ação
e estendida
p partição primária (1-4)
e
Partição selecionada 4
Primeiro cilindro (1-4865, padrão 1): 4628
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (4628-4865, padrão 4865):
Usando valor padrão 4865
Comando (m para ajuda):
Como visto, não foi necessário informar o último cilindro ou tamanho, pois se você não especificar
nada, ele assume que o padrão é o resto do espaço livre do disco.
Para exibir as partições criadas, utilize o comando "p". Segue o exemplo abaixo:
Comando (m para ajuda): p
Disco /dev/hda: 40.0 GB, 40020664320 bytes
255 cabeças, 63 setores/trilha, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/hda1 2300 2331 257040 82 Linux swap / Solaris
/dev/hda2 * 2332 3605 10233405 83 Linux
/dev/hda3 3606 4627 8209215 83 Linux
/dev/hda4 4628 4865 1911735 5 Estendida
Comando (m para ajuda):
Criando partições lógicas a partir da partição estendida
14. A partição estendida não "ocupa espaço em disco", mas serve somente para podermos criar as
partições lógicas sobre ela. Não é possível criar partições lógicas sem ter uma partição estendida.
Agora vamos criar uma partição lógica sobre a partição estendida que acabamos de criar. Primeiro,
iremos criar uma partição lógica de 1048576 Kbytes ( 1 GB ). Depois iremos criar a segunda partição
lógica com o resto do espaço livre do disco. Segue o exemplo abaixo:
Criando a primeira partição lógica:
Comando (m para ajuda): n
Primeiro cilindro (4628-4865, padrão 4628): 4628
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (4628-4865, padrão 4865): +1048576K
Exibindo a partição criada com o comando "p":
Comando (m para ajuda): p
Disco /dev/hda: 40.0 GB, 40020664320 bytes
255 cabeças, 63 setores/trilha, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/hda1 2300 2331 257040 82 Linux swap / Solaris
/dev/hda2 * 2332 3605 10233405 83 Linux
/dev/hda3 3606 4627 8209215 83 Linux
/dev/hda4 4628 4865 1911735 5 Estendida
/dev/hda5 4628 4759 1060258+ 83 Linux
Criando a segunda partição lógica com o resto do disco:
Comando (m para ajuda): n
Primeiro cilindro (4760-4865, padrão 4760): 4760
Último cilindro ou +tamanho ou +tamanho M ou +tamanho K (4760-4865, padrão 4865):
Usando valor padrão 4865
Exibindo a partição criada com o comando "p":
Comando (m para ajuda): p
Disco /dev/hda: 40.0 GB, 40020664320 bytes
255 cabeças, 63 setores/trilha, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/hda1 2300 2331 257040 82 Linux swap / Solaris
/dev/hda2 * 2332 3605 10233405 83 Linux
/dev/hda3 3606 4627 8209215 83 Linux
/dev/hda4 4628 4865 1911735 5 Estendida
/dev/hda5 4628 4759 1060258+ 83 Linux
/dev/hda6 4760 4865 851413+ 83 Linux
16. Para alterar o tipo da partição utilizamos o comando "t" ( de type ). Depois escolhemos qual partição
queremos alterar, em seguida escolhemos o código e hexadecimal correspondente ao tipo de partição
que queremos ter.
Se você não sabe qual é o código hexadecimal relacionado a partição que você quer escolher, utilize
opção "L", para exibir os tipos disponíveis.
No exemplo abaixo iremos alterar o tipo da partição /dev/hda3, de "83 Linux" para "c W95 FAT32
(LBA)".
Comando (m para ajuda): t
Número da partição (1-6): 3
Código hexadecimal (digite L para listar os códigos): L
0 Vazia 1e FAT16 Win95 Esc 80 Minix antigo be Inicialização
1 FAT12 24 DOS NEC 81 Linux antigo/Mi bf Solaris
2 root XENIX 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT1
3 usr XENIX 3c Recuperação d 83 Linux c4 DRDOS/sec (FAT1
4 FAT16
5 Estendida 41 Boot PReP PPC 85 Estendida Linux c7 Syrinx
6 FAT16 42 SFS 86 Conjunto de vol da Dados Não-FS
7 HPFS ou NTFS 4d QNX4.x 87 Conjunto de vol db CP/M / CTOS / .
8 AIX 4e QNX4.x 2ª part 88 Linux texto pla de Utilitário Del
9 AIX inicializá 4f QNX4.x 3ª part 8e Linux LVM df BootIt
a Gerenc. Inicial 50 DM OnTrack 93 Amoeba e1 Acesso DOS
b W95 FAT32 51 DM6 OnTrack Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 DM6 OnTrack Aux a0 Hibernação IB eb sist. arq. BeOS
f Win95 (LBA) Par 54 DM6 OnTrack a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 FAT12 Escondida 56 Golden Bow a7 NeXTSTEP f0 Inicialização
12 Diagnóstico Co 5c Edisk Priam a8 Darwin UFS f1 SpeedStor
14 FAT16 Escondida 61 SpeedStor a9 NetBSD f4 SpeedStor
16 FAT16 Escondida 63 GNU HURD ou Sys ab Inicialização f2 DOS secundário
17 HPFS ou NTFS Es 64 Novell Netware b7 sist. arq. BSDI fd Detecção auto
18 AST SmartSleep 65 Novell Netware b8 permuta BSDI fe LANstep
1b Partição Esco 70 Multi-Boot Disk bb Assistente de I ff BBT
1c FAT32 Win95 Esc 75 PC/IX
Código hexadecimal (digite L para listar os códigos): c
O tipo da partição 5 foi alterado para c (W95 FAT32 (LBA))
Comando (m para ajuda):
Exibindo a partição alterada com o comando "p":
Comando (m para ajuda): p
Disco /dev/hda: 40.0 GB, 40020664320 bytes
255 cabeças, 63 setores/trilha, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
17. Excluindo partições existentes
Para excluir partições utilizamos a opção "d" ( de delete ). Em seguida escolhemos qual partição excluir.
Aviso: Muito cuidado ao excluir as partições, pois uma vez excluída, será excluído todos os dados
existentes na partição.
Você ainda pode desfazer esta ação, saindo do "fdisk" sem salvar as alterações, utilizando a opção "q"
de "quit".
Para o nosso exemplo, iremos excluir a partição /dev/hda6:
Comando (m para ajuda): d
Número da partição (1-6): 6
Exibindo a partição deletada com o comando "p":
Comando (m para ajuda): p
Disco /dev/hda: 40.0 GB, 40020664320 bytes
255 cabeças, 63 setores/trilha, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/hda1 2300 2331 257040 82 Linux swap / Solaris
/dev/hda2 * 2332 3605 10233405 83 Linux
/dev/hda3 3606 4627 8209215 c W95 FAT32 (LBA)
/dev/hda4 4628 4865 1911735 5 Estendida
/dev/hda5 4628 4759 1060258+ 83 Linux
Comando (m para ajuda):
Note acima que a partição /dev/hda6, não existe mais, pois foi excluída. Você agora tem espaço em
disco para criar mais uma partição.
Alterando a flag de partição "bootável"
18. A sinalização de "partição bootável" é necessária para dizer qual partição primária será iniciada pela
BIOS no processo do "post".
Partições estendidas não podem ser marcadas como "bootável". Tanto o LILO quanto o GRUB, ou
qualquer outro gerenciador de discos necessita estar em uma partição bootável.
Você pode notar que a partição atualmente bootável é a partição /dev/hda2 (Linux), que está sinalizada
com * na coluna "Boot".
Na partição /dev/hda2 temos o Linux com o LILO instalado, então não será necessário alterar a partição
"bootável".
Mas se a partição /dev/hda3 estivesse marcada como "bootável", e quisemos utilizar o Linux com o LILO
como gerenciador de boot, deveríamos alterar a partição "bootável" para /dev/hda2.
Para alterar a partição bootável utilize o comando: a
Saindo do Fdisk
19. Saindo do "fdisk" sem salvar as alterações feitas:
Às vezes é necessário, desfazer as alterações realizadas no "fdisk" estando ainda em modo interativo.
Ou mesmo sair do "fdisk" sem salvar as alterações. Para isso utilize o comando "q" ( de quit ).
Veja o exemplo abaixo:
Comando (m para ajuda): q
Saindo do "fdisk" e salvando alterações feitas:
Todas as alterações que nós realizamos até agora com o "fdisk" foram feitas utilizando a memória RAM.
Mas agora devemos gravar essas alterações no disco. Você deve ter certeza de que tudo está correto,
pois essa ação não tem volta. Liste as partições com o comando "p" para certificar que está tudo
correto.
No exemplo abaixo, iremos salvar as alterações na tabela de partição (MBR).
Comando (m para ajuda): w
A tabela de partições foi alterada!
Chamando ioctl() para reler tabela de partições.
AVISO: Re-leitura da tabela de partição falhou com erro 16: Device or resource busy.
O kernel ainda está usando a tabela antiga.
A nova tabela será usada no próximo reboot.
Sincronizando discos.
OBS: Como visto acima, em alguns sistemas onde existem partições em uso, as alterações terão efeito
somente após um reboot do micro. Após reiniciar seu computador, execute o comando "fdisk -l
/dev/hda" para listar suas partições.
Fim.