4 de set. de 2009
Instalando o Windows depois do Linux
10 de ago. de 2009
Restaurando o Grub no Ubuntu e enganando o Windows
Tenho um computador com dual boot há algum tempo (Ubuntu + Windows), porém faz uns 2 anos que não uso mais o Windows nele. No entanto, outro dia formatei (sem querer) a partição do Windows e, como estava precisando de um espaço para meu /home, resolvi montá-lo nesta "nova" partição :-)
Até aí tudo bem. Coloquei outro HD no micro e resolvi instalar o Windows, pois periodicamente preciso instalar e homologar alguns softwares "for Windows" que usamos na nossa instituição.
Como era de se esperar eu perdi meu Grub. Usei um Live CD do Ubuntu, conferi o arquivo de configuração do Grub e restaurei o mesmo (vide o artigo Como reinstalar ou restaurar o GRUB.
O problema é que o meu Ubuntu estava instalado no HD mestre (/dev/sda)
; já o Windows eu instalei no HD escravo (/dev/sdb)
. Descobri que o Windows só funciona se estiver instalado no primeiro HD (que maravilha, hein...).
Foi aí que descobri a opção map do Grub. No Grub, o primeiro HD é identificado por hd0, o segundo é identificado por hd1 e assim por diante. Na configuração do ponto de partida para o Windows (que está em hd1), eu acrescentei a linha de comando:
map (hd1) (hd0)
Dessa forma, quando é invocado o boot através do Windows, este comando mapeia hd1
em hd0
, enganando o Windows.
Veja como ficou o meu arquivo de configuração do Grub (/boot/grub/menu.lst
):
default 0
timeout 10
password --md5 senha_cifrada
# Boot pelo Linux
title Ubuntu 8.04
root (hd0,2)
kernel /boot/vmlinuz-2.6.24-24-generic root=/dev/sda3 ro quiet splash locale=pt_PT
initrd /boot/initrd.img-2.6.24-24-generic
quiet
# Boot pelo Windows
title Windows XP
rootnoverify (hd1,0)
map (hd1) (hd0)
makeactive
chainloader +1
12 de fev. de 2009
Unindo partições com o mhddfs
Segue na íntegra:
Imagine que você possui três HDs, nos tamanhos de 80, 40 e 60 Gb. Imagine agora que você precise de um lugar para armazenar suas músicas, mas não quer simplesmente criar uma pasta em cada disco, até porque esse método seria muito cansativo para se administrar. Então iremos criar um tipo de RAID, e com isso criamos uma única partição (virtual) com a soma dos espaços livres dos três discos. Detalhe, tudo isso sem destruir os dados que já estão nos discos, e o mais interessante, tudo isso com apenas um comando :-)
Descobri essa solução utilizando o mhddfs
, que é um módulo do FUSE. O mhddfs permite agrupar pequenas partições em uma única partição virtual, que irá conter todos os arquivos de todas partições membras.
Instalação
A distribuição utilizada foi o Debian Lenny.
# apt-get install mhddfs
Utilização
Vamos dizer que você tenha três discos montados em /media/disco1
, /media/disco2,
/media/disco3
, então você terá algo semelhante a isso:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 80G 50G 30G 63% /media/disco1
/dev/sdb1 40G 35G 5G 88% /media/disco2
/dev/sdc1 60G 10G 50G 17% /media/disco3
Depois de instalado o mhddfs, vamos criar um novo ponto de montagem, vamos chamá-lo de /mnt/virtual, que irá conter a concatenação de todas as unidades. E em seguida vamos executar o comando mhddfs seguido dos três diretórios(onde estão montados as três partições) e do ponto onde serão montados.
# mkdir /mnt/virtual
# mhddfs /media/disco1,/media/disco2,/media/disco3 /mnt/virtual -o allow_other
option: allow_other (1)
mhddfs: directory '/media/disco1' added to list
mhddfs: directory '/media/disco2' added to list
mhddfs: directory '/media/disco3' added to list
mhddfs: move size limit 4294967296 bytes
mhddfs: mount point '/mnt/virtual'
A opção -o allow_other
, permite que o /mnt/virtual
seja visível para outros usuários, e não apenas ao usuário que o criou.
Digite novamente o comando df -h e observe que foi criando mais um ponto de montagem.
# df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda1 80G 50G 30G 63% /media/disco1
/dev/sdb1 40G 35G 5G 88% /media/disco2
/dev/sdc1 60G 10G 50G 17% /media/disco3
mhddfs 180G 95G 85G 53% /mnt/virtual
Observe a inteligencia dessa ferramenta, ela criou uma concatenação dos três discos, calculou o tamanho total das unidades juntas (180G), somou o espaço já utilizado (95G), e ainda trouxe o tamanho do espaço livre (85G). Se você entrar em /mnt/virtual
perceberá que todos os arquivos provenientes das três unidades se encontram no mesmo lugar.
Mas e se você tentar adicionar novos arquivos em /mnt/virtual?
Quando você cria um novo arquivo em /mnt/virtual
, o mhddfs vai olhar para o espaço livre, que permanece em cada uma das unidades. Se a primeira unidade tem espaço livre suficiente, o arquivo será criado nela. Caso contrário, se a unidade está com pouco espaço (tem menos que especificado pelo mlimit
opção do mhddfs, que o padrão é de 4 GB), a segunda unidade será utilizado no lugar. Se essa unidade também tem pouco espaço, a terceira unidade será utilizada. Se todas as unidades tem pouco espaço, a unidade com mais espaço livre será escolhida para criar os novos arquivos.
Se resolver adicionar ao fstab para a montagem automática durante o boot, você pode adicionar a seguinte linha:
mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual fuse defaults,allow_other 0 0
Bem, esse não é o método mais adequado de se criar um array de discos, mas em muitas situações da vida de um Sysadmin isso poderá ser muito útil. É sempre bom ter uma carta na manga :-)
Fonte: http://www.dicas-l.com.br
Um abraço e até a próxima!!!