Grub com 3 sistemas operacionais e 2 HDs diferentes

Publicado por Glauber GF em 12/02/2009

[ Hits: 18.435 ]

Blog: http://www.vivaolinux.com.br/~mcnd2

 


Grub com 3 sistemas operacionais e 2 HDs diferentes



Baseado em fato real.

Configuração do Grub para dar boot em 3 sistemas e dois HDs diferentes (SATA1 [Debian Etch 4.0 r3 e Windows XP Professional] e IDE [Windows 7 Ultimate (BETA)]).

Dois HDs: SATA1 e IDE.

O hd SATA1 de 300Gb (sda) está particionado em 4 partições: (sda1) 1Gb Swap, (sda2) 50Gb ext3 (Debian Etch 4.0 r3), (sda3) 50Gb ntfs (Windows XP Professional), (sda4) 200Gb ext3 (backup).

O hd IDE de 40Gb (hda) está instalado em (hda2) ntfs (Windows 7 Ultimate (BETA)).

Como tenho tudo sobre controle no meu hd SATA1 (sda) onde está meu sistema principal, o Debian Etch 4.0 r3, e o mais valioso, a partição de "BACKUP", resolvi testar o sistema "BETA" da Microsoft o Windows 7 Ultimate (BETA) no IDE (hda). Desconectei o hd SATA1 (sda) e conectei o IDE (hda) para executar a instalação do BETA da Microsoft no IDE (hda), por precaução de não fazer nenhuma M... rsrsrs... no SATA1 (sda).

Depois da instalação do Windows 7 com sucesso no IDE (hda), desliguei o PC e reconectei o SATA1 (sda) junto com o IDE (hda) é claro! De início foi tudo como manda o figurino, liguei o PC e veio a tela do grub, então iniciei o Debian (sda2). Na configuração do grub em "/boot/grub/menu.lst, incluí o Windows 7, mas de início já estava conformado do boot do Windows 7 que não iria para frente, pois tinha instalado o sistema em um único hd conectado e depois reconectei o outro hd que esta com o grub "gerenciador de boot" instalado. Como o Windows só consegue dar boot quando em "primário", o gerenciador de boot gravado na mbr do hd IDE (hda) não iria subir pois com o SATA1 (sda) ligado, o IDE (hda) fica como secundário.

Então a configuração do grub ficou desta forma.

Exemplo de um Sistema Debian Etch 4.0 r3:

splashimage=(hd0,1)/boot/grub/caveira.xpm.gz
default        0
timeout        12

## ## End Default Options ##

title        Debian GNU/Linux, kernel 2.6.18-6-486
root        (hd0,1)-----(sda2)
kernel        /boot/vmlinuz-2.6.18-6-486 root=/dev/sda2 ro
initrd        /boot/initrd.img-2.6.18-6-486
savedefault

title        Debian GNU/Linux, kernel 2.6.18-6-486 (single-user mode)

root        (hd0,1)-----(sda2)

kernel        /boot/vmlinuz-2.6.18-6-486 root=/dev/sda2 ro single

initrd        /boot/initrd.img-2.6.18-6-486

savedefault

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.

title        Other operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda3

title        Microsoft Windows XP Professional
rootnoverify    (hd0,2)-----(sda3)
savedefault
makeactive
chainloader    +1

# on /dev/hda2
title        Microsoft Windows 7 BETA
rootnoverify    (hd1,0)-----(hda2)
makeactive
map (hd1,0) (hd0,1)
chainloader    +1

O grande segredo foi adicionar na configuração a opção "map (hd1,0) (hd0,1)" que o grub engana o bootloader do Windows dizendo que o hd IDE (hda) seja primário.

Resumo dos parâmetros

O "rootnoverify" ao invés de root na segunda linha, pois a montagem de partição não se aplica ao Windows. O rootnoverify é usado porque esse parâmetro não tenta fazer nenhuma montagem.

O "makeactive" tem a função de definir a partição em questão como ativa.

O "map" que permite o carregamento do Windows quando este não está instalado no primeiro HD (regra obrigatória no Windows 9x, por exemplo). Sua utilização é feita da seguinte forma (supondo que o Windows esteja no segundo disco):

map (hd0) (hd1)
map (hd1) (hd0)

O "chainloader +1", "chama" o carregador de boot do Windows, deixando a esse a tarefa de iniciar o sistema.

Então é isso, só quem mexe aprende, hehehe...
Linux: Grub com 3 SO's e 2 HD's diferentes.
Agradecimento a minha esposa Daniela que tem muita paciência comigo rsrsrs...

Até a próxima.

Outras dicas deste autor

Configurar internet via rádio e modem 3G no Debian Squeeze

Administrando rota de viagem com o Google Earth

Instalar driver da Nvidia no Debian 5 Lenny Linux

Instalar o compiz-fusion completo e sem conflito no Debian 5 Lenny

De volta a década de 1980 com o Atari

Leitura recomendada

Reconfigurar a impressora no Ubuntu

Configuração de rede no CentOS

Can't locate Unicode/EastAsianWidth.pm in @INC [Resolvido]

Configurando Wine no Debian 8 Jessie

Ver interfaces USB em sistema guest WindowsXP no Virtualbox em OpenSUSE 11.0

  

Comentários
[1] Comentário enviado por colombo em 17/04/2009 - 23:47h

Olá.
Tche meu caso é um pouco diferente.

tenho um hd somente e tinha o xp na primeira partição e o ubuntu na sda6(swap) e sda7(/), resolvi tirar o xp e instalar o windows 7 ultimate na sda1.

Restaurei minha mbr com o bkp q eu tinha feito antes(dd if=..............................) e configurei o parametro do win7 assim:
title windows 7
rootnoverify (hd0,0)
savedefault
makeactive
chainloader +1

dai reiniciei a maquina e quando escolho a opção windows 7 fica aparecendo na tela a mensagem "Starting up . . ." e não inicializa.

Vc consegue me ajudar?
michael.colombo@gmail.com

Abraços

[2] Comentário enviado por mcnd2 em 19/04/2009 - 19:24h

Cara, pelo que entendi você ficou com 3 partições no hd certo? sda1 (windows 7), sda6 (swap) e sda7 ( o sistema raiz do ubuntu [/]).

Tente colocar a opção "map (hd1,0) (hd0,1)" na configuração do windows 7.
Pois como você fez a restauração de sua mbr ele não vai conseguir arrancar o bootloader do windows.

Até mais.



[3] Comentário enviado por removido em 10/10/2009 - 19:07h

Boa noite.

Eu acabei de instalar outro distrito Linux em meu HD (sda), eu possui o 7, Debian, Arch(agora).
Quando instalar o Arch ele pede para instalar o Grub, mais como já tenho ele detectou e falou para não instalar, mais um problema! ele não colocou a partição do Arch no Grub para pode iniciar.

Queria saber como irei colocar?

# fdisk -l

Disk /dev/sda: 250.0 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe77ce77c

Dispositivo Boot Start End Blocks Id System
/dev/sda1 1 13 102400 7 HPFS ou NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 13 10199 81817600 7 HPFS ou NTFS
/dev/sda3 10200 22894 101972587+ 5 Estendida
/dev/sda5 * 10200 16306 49054446 83 Linux
/dev/sda6 16307 16572 2136613+ 82 Linux swap / Solaris
*****/dev/sda7 16573 22894 50781433+ 83 Linux

Disk /dev/sdb: 1000.2 GB, 1000203804160 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe30d664e

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 42 SFS

obs.: ***** É a nova partição.

Obrigado.


[4] Comentário enviado por tobexy em 21/10/2009 - 20:02h

Cara um gigantesco abraço pra ti
tava com um problema filho da .... aqui
ate que vi vc comentar que o windows só inicia se for primario
e aquelas 2 linhas do MAP no caso de ele estar no secundario
\o/
sucesso, agora ele funciona
fiz parecido com vc
tenho um hd ide de 80 onde tem o ubuntu 9.04 e outro sata 500 que tem o XP
porem o IDE precisa ser o primeiro porem nao precisa ser master
(palhaçada da minha placa mãe pré historica)
instalava o XP no sata sem o IDE plugado, pq se tivesse plugado dava pau (ele queria instalar no IDE pq ta como primario)
ai instalava o Ubuntu no IDE sem o sata plugado (isso era de medo de perder os dados do D: do sata)
resultado, um grub sem o XP
ai fui la inseri ele certinho como (hd1,0)
mais quem disse, ficava numa tela " starting up " e nunca subia
ai inseri aquela parte que vc falo ali e corri pro abraço, dei um grito " AAAA FUNCIONOU "
nao sabe o tamanho da minha alegria
como vc mesmo disse: " Então é isso, só quem mexe aprende, hehehe... "
Muito Obrigado

[5] Comentário enviado por mcnd2 em 02/11/2009 - 11:54h

Vlw... tobexy.

Só quem mexe aprende, abraços...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts