Dual-boot XP / Fedora em HD's diferentes


21-09-2008 por Netwalker_14
Dual-boot XP / Fedora em HD's diferentes
Saudações.

Sou iniciante no uso do Linux, embora já tenha usado o passado o Kurumin. Eu tenho dois HD's na minha máquina, num deles está instalado Windows XP e no outro está instalado Fedora (instalei ontem).

Quando conecto apenas o HD do Fedora, a máquina inicia normalmente. Quando conecto o HD do Windows XP como primário e o HD do Fedora como secundário, a máquina inicializa normalmente com o XP; agora, quando coloco o Fedora como primário e o Windows como secundário, a máquina não inicializa. Aparece uma mensagem tipo "can't load DOS, press any key to retry" ou algo assim e aí reinicia. Esse é o primeiro problema.

Segundo, não estou sabendo executar nada sem ser usando interface gráfica no Fedora, tá instalado o grub e o grubconf, mas como eu executo eles? Não sei executar nada no terminal. Quando eu vou pro terminal, a coisa fica brava. Eu instalei o GRUB e instalei o Grubconf, como? Eis:

Baixei o grubconf, descompactei, fui pelo terminal ao diretório dele e executei no terminal:

./configure
make
make check
make install

Ótimo, aparentemente deu tudo certo. Então, ingenuamente pensei "talvez agora deve ter aparecido algum ícone bonitinho no Fedora escrito 'grubconf' e eu poderei clicar lá e prosseguir minha vida feliz", mas, obviamente que não apareceu nada. Então pensei que dando o comando grubconf no terminal, iria aparecer alguma tela, mas não apareceu.

Pensei que o problema ocorreu por eu não estar logado como root. Então dei o comando "su" e tentei novamente, mas nada ocorreu.

Enfim, estou tentando fazer o dual-boot, mas não estou conseguindo. Não acho nada relativo a isso no fórum e nem na net (posso não ter procurado direito, claro), só acho relativo a dual-boot num mesmo HD, mas com partições diferentes.

Alguém poderia me ajudar? Dar um dual-boot entre Windows e Linux é um sonho que tenho desde criança, desde os 8 anos. rs

Abraços a todos e agradeço desde já.
21-09-2008 por NaldoOddy
Olá!

Dentro da pasta /boot existe outra chamada grub logo: /boot/grub e dentro deste há um arquivo chamado menu.lst, posta o conteúdo dele pra nós!

Há uma referência aqui:http://www.gdhpress.com.br/ferrament...x.php?p=cap2-6 de uma lida!!!
21-09-2008 por Netwalker_14
E como é que eu mostro o conteúdo dele? Qual comando? Desculpem a falta de conhecimento, mas é que tô começando no Linux.
21-09-2008 por Netwalker_14
Esse comando grub-install /dev/hda também tá dando command not found
21-09-2008 por selvaking
Citação:
Postado Originalmente por Netwalker_14 Ver Mensagens
Quando conecto apenas o HD do Fedora, a máquina inicia normalmente. Quando conecto o HD do Windows XP como primário e o HD do Fedora como secundário, a máquina inicializa normalmente com o XP; agora, quando coloco o Fedora como primário e o Windows como secundário, a máquina não inicializa. Aparece uma mensagem tipo "can't load DOS, press any key to retry" ou algo assim e aí reinicia. Esse é o primeiro problema.
Os sistemas operacionais envolvidos são sensiveis a localização do HD na controladora IDE/SATA. Por isto não se pode trocar eles de lugar após serem instalados. Vc deve definir quem será o primeiro HD e este HD será responsável por carregar o próximo.
No sistema linux vc até pode modificar o HD de lugar, mas tem que atualizar alguns arquivos de configuração, já na linha NT do Windows, isto não é possível.
Como vc já tem o Windows dando boot normalmente, o HD que ele se encontra deve ser responsável por carregar o outro. Isto é feito adicionando uma linha no /boot.ini para bootar o MBR do próximo HD e este MBR tem que tá salvo num arquivo no HD com o Windows. Coisa mais confusa, né?
Pois é. Vc quer colocar 2 sistemas operacionais distintos em dois HD´s diferentes então vai ter que suar a camisa. HEhHEHhEheh!
A outra forma é instalar o GRUB do fedora no MBR do HD com o Windows, mas não recomendo este tipo de abordagem pois quando o HD com o Fedora for retirado o HD com o Windows apresentará um erro informando a retirada. E como erros sempre deixam a gente de cabelo em pé.
Citação:
Postado Originalmente por Netwalker_14 Ver Mensagens
Segundo, não estou sabendo executar nada sem ser usando interface gráfica no Fedora, tá instalado o grub e o grubconf, mas como eu executo eles? Não sei executar nada no terminal. Quando eu vou pro terminal, a coisa fica brava. Eu instalei o GRUB e instalei o Grubconf, como?
Se vc não é acostumado ao terminal sugiro usar somente um sistema. Ou Windows ou Linux. Pois se vc quer fazer eles conviverem pacificamente o terminal é a palavra chave e o pleno entendimento da carga dos dois sistemas tbm.
21-09-2008 por selvaking
Se vc usa o MSN é só me adicionar que podemos bater um papo e retirar muitas dúvidas suas.
21-09-2008 por Netwalker_14
Selvaking,

Já adicionei e já estamos nos falando lá, agradeço bastante, amigo!





Eis então o conteúdo do menu.lst:


# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.25-14.fc9.i686)
root (hd0,0)
kernel /vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=b055f0d7-1856-482c-8d14-84ee70672727 rhgb quiet
initrd /initrd-2.6.25-14.fc9.i686.img




Abraços.
23-09-2008 por Netwalker_14
Bom, minha questão evoluiu um pouco. Eis então:

Há dois HD's instalados na minha máquina. O HD master é de 80 gb e nele está instalado Windows XP a muito tempo. O segundo, slave, é um HD de 40 gb que instalei o Fedora ontem. Na instalação, o Fedora detectou a sda e a sdb e, obviamente, mandei que fosse instalado no sdb.

Se eu entro na configuração da BIOS e mando o computador dar boot na IDE0, logo, o computador acessa o MBR do Windows e o inicializa normalmente. Se eu entro na configuração da BIOS e mando o o computador dar boot na IDE1 primeiro, logo, ele acessa a MBR do Fedora e inicializa o Fedora normalmente.

O problema é que eu não quero ficar toda hora mudando configuração na BIOS, quero fazer dual-boot.

Já tentei trocar fisicamente os HD's de lugares, tentei fazer o HD de 40 ficar como Master, quando ele está sozinho fica tudo beleza. Agora, se eu coloco ele como Master e o de 80 como slave, aí a BIOS nem detecta o de 80 e ainda dá pau na inicialização. Eu queria fazer isso porque se o Anaconda (instalador do Fedora 9.0) reconhecesse o HD de 40 como master e o de 80 como slave, talvez o GRUB viesse configurado para fazer o dual-boot, mas aconteceu isso que eu falei.


Que eu posso fazer? Será que se eu mandar a BIOS da boot no IDE1, ou seja, mandar ela acessar o MBR do Fedora primeiro e configurar o GRUB direitinho eu consigo a tela de dual-boot?

É possível? Como eu faria essa configuração?

Abraços e obrigado desde já.
23-09-2008 por pcnjr
Olha Esse Linux E Triste Cara
23-09-2008 por Netwalker_14
Outro fato interessante que acabei de notar:

Agora eu reiniciei e entrei pelo linux naquele esquema que já falei de mudar a instrução do HD que a BIOS vai procurar o MBR.

Quando o Fedora inicializa, a primeira tela dele é a de boot e ele fala pra você pressionar qualquer tecla pra escolher qual sistema da boot, aí eu apertei. E então?

Apareceu a tela do GRUB. Lá tinham as opções

Fedora
Other

E aperte c pra não sei o que, a pra não sei o que de algum comando, x pra não sei o que do Kernel.

Ou seja, a tela do GRUB apareceu. Será que não tá faltando uma ediçaozinha na configuração do GRUB pra ele mostrar o Windows como opção não? Mesmo ele estando em outro HD ?

Aguardo ajuda, obrigado, pessoal.
E obrigado ao Selvaking que tem me ajudado bastante!
23-09-2008 por quemsou_naodigo
Poste a saída do comando:
Citação:
fdisk -lu
E o conteúdo do arquivo /boot/grub/device.map
e...
Citação:
Postado Originalmente por pcnjr Ver Mensagens
Olha Esse Linux E Triste Cara
Fedora, ruim? Não sei não... É uma das distribuições mais bem conceituadas atualmente...
23-09-2008 por Netwalker_14
Cara, isso tudo tá muito louco.

O comando fdisk não funciona. Dá "command not found". Eu não tô entendendo mesmo isso.

O conteúdo do device.map é esse:

# this device map was generated by anaconda
(hd1) /dev/sda
(hd0) /dev/sdb




No prompt do GRUB antes de dar boot, ele também não acha arquivo nenhum. O selvaking tem me ajudado, a gente tentou dar um find /boot.ini e não deu, tentou dar find /boot/grub/menu.lst e também não achou. Queria ver só o retorno de onde estavam esses arquivos.


Tá ****. Abraços.
23-09-2008 por DJ.
Tente o comando fdisk mas como root. Provalmente os executáveis de algumas pastas de privilégio root não estejam na PATH do usuário comum, por isso deu "command not found".

Provalmente baste adicionar isso aqui ao /boot/grub/menu.lst pra carregar o seu Windows no outro HD :
Código:
title Windows XP root (hd1,0) makeactive chainloader +1 map (1) (0) map (0) (1)
23-09-2008 por Netwalker_14
Não, o pior que eu dei "su" antes de tentar os comandos todos.

O fdisk não tá dando mesmo. E não é só ele não.
24-09-2008 por Netwalker_14
Final feliz!!!
Pessoal, consegui finalmente fazer o dual-boot!

O processo foi o seguinte:

Entrei na tela do grub logo na inicialização do Fedora (antes eu troquei os HD's de lugar, coloquei o HD com Linux como Master e o HD com Windows como slave), ao entrar na tela do GRUB haviam as opções "Fedora 9.0" e "Others". Selecionei "Others" e pressionei a tecla "E" de edição. Lá haviam duas linhas de comando:

rootnoverify (hd1,0)
chainloader +1

A partir daí comecei a editar baseado no comando "map" para ver se de alguma forma ele entrava no windows.

Editei primeiro:

rootnoverify (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

Não deu nada. Então fiz a seguinte edição:


rootnoverify (hd1,0)
map (hd0,1) (hd1,0)
map (hd1,0) (hd0,1)
chainloader +1

Aí mandei dar boot e ele inicializou o Windows. Certo. Logo depois, ainda testando, ví que só era necessário isso:

rootnoverify (hd1,0)
map (hd1,0) (hd0,1)
chainloader +1

Então resetei e fui tentar editar o arquivo /boot/grub/menu.lst para colocar isso. Não sei como conseguir abrir o menu.lst, pois não tava aceitando ser editado por nada no mundo. Comando sudo su, su, sudo su kate, et cetera, um milhão de comandos e, por algum motivo (pois parece que o terminal deste Fedora é bem chato), uma hora a tela da interface gráfica que tava aberto o Kate abriu o conteúdo do menu.lst

Eu coloquei então title Windows XP, editei as linhas como coloquei aí em cima, mudei o timeout de 5 para 10 e coloquei uma cerquilha (#) em frente à linha de comando hiddenmenu para que o Fedora já inicialize te dando a tela de escolha entre os sistemas e não apenas se você pressione qualquer tecla na hora da inicialização.

No final o conteúdo do menu.lst ficou assim:


# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sdb
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title Fedora (2.6.25-14.fc9.i686)
root (hd0,0)
kernel /vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=9ac6bc53-400b-40e0-aeb8-3c1ae5f5c5b4 rhgb quiet
initrd /initrd-2.6.25-14.fc9.i686.img
title Windows XP
rootnoverify (hd1,0)
map (hd1,0) (hd0,1)
chainloader +1





E o final foi feliz. Agora o dual-boot está feito, a primeira tela depois da BIOS mostra lá bonitinho com 10 segundos aguardando

Fedora (2.6.25-14.fc9.i686)
Windows XP


Você seleciona e brinca feliz da vida! Muito obrigado pela força aí do pessoal, principalmente o selvaking que me ajudou e fez uma boa exposição para mim sobre a inicialização do computador!

Abraços.
24-09-2008 por Ruy Dantas
Olá pessoal.

Estou com problema parecido.
Instalei outro HD e passei o Kurumin para o slave.
Fiquei com a seguinte configuração:
master (hd0)
hda1 - Windows XP
hda2 - swap
hda3 - Kurumin
hda5 - /home
fstab (hda3)
# /etc/fstab: filesystem table.
#
# filesystem mountpoint type options dump pass
/dev/hda3 / ext3 defaults 0 1
/dev/hda2 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /mnt/floppy vfat users,rw,noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 defaults,ro,user,noexec,noauto 0 0
# partições encontradas pelo instalador:
/dev/hda1 /mnt/hda1 ntfs noauto,users,exec,ro,umask=000 0 0
/dev/hda5 /mnt/hda5 ext3 noauto,users,exec 0 0
/dev/hdb1 /mnt/hdb1 ext3 noauto,users,exec 0 0
/dev/hdb5 /mnt/hdb5 ext3 noauto,users,exec 0 0
sys /sys sysfs noauto 0 0
/dev/pts /dev/pts devpts mode=0622 0 0
usbfs /proc/bus/usb usbfs defaults 0 0
# Monta a partição /home, adicionado pelo instalador do Kurumin
/dev/hda5 /home ext3 defaults 1 2

slave (hd1)
hdb1 - Kurumin
hdb2 - swap
sdb5 - /home
fstab (hdb1)
# /etc/fstab: filesystem table.
#
# filesystem mountpoint type options dump pass
/dev/hdb1 / ext3 defaults 0 1
/dev/hdb2 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /mnt/floppy vfat users,rw,noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 defaults,ro,user,noexec,noauto 0 0
# partições encontradas pelo instalador:
/dev/hda1 /mnt/hda1 ntfs noauto,users,exec,ro,umask=000 0 0
/dev/hdb1 /mnt/hdb1 ext3 noauto,users,exec 0 0
/dev/hdb5 /mnt/hdb5 ext3 noauto,users,exec 0 0
sys /sys sysfs noauto 0 0
/dev/pts /dev/pts devpts mode=0622 0 0
usbfs /proc/bus/usb usbfs defaults 0 0
# Monta a partição /home, adicionado pelo instalador do Kurumin
/dev/hdb5 /home ext3 defaults 1 2

menu.lst no slave (hdb1)
default 0
timeout 9
color cyan/blue white/blue
gfxmenu (hd1,0)/boot/message

title Kurumin Linux
root (hd1,0)
kernel /boot/vmlinuz-2.6.18.1-slh-up-2 ro nomce quiet apm=power-off vga=791
initrd /boot/initrd.img-2.6.18.1-slh-up-2

title Microsoft Windows XP (hd0)
root (hd0,0)
makeactive
chainloader +1

title memtest86
root (hd1,0)
kernel /boot/memtest86.bin

Quando ia dar o boot só entrava o Kurumin instalado no master.
Depois de apanhar um pouco entrei no GRUB e fiz o seguinte
root (hd1,0) <--------- linux instalado no slave
setup (hd0) <--------- MBR do master

Beleza passou a ler o slave e apresentou o menu gravado no slave.
Acontece que o menu de boot é lido do slave e o Kurumin, acho que está carregando no slave, monta as partições do fstab do master.

Gostaria que analisassem os arquivos e me dessem uma luz.

24-09-2008 por selvaking
Saca só camarada!

TEmpos atrás tive este problema quando mudei o kurumin de localização na IDE.

Como não queria reinstalar ele percebi que o arquivo initrd.img-2.6.18.1-slh-up-2 utilizava a referência do master da primária. Não consegui gerar o initrd.img novo e acabei montando a imagem que existia e modificando a referência em um dos arquivos internos. gerei novamente o arquivo e este funcionou beleza!

Vou ver se consigo achar o histórico dos comandos utilizados e analisar pra entender melhor e te passar um tutorial. Mas se vc não quiser perder tempo reinstale o Kuruma. Esta é a melhor solução. A não ser que o seu kuruma tenha alguma configuração que vc não possa ou não queira fazer backup.

Espero ter ajudado!
24-09-2008 por Ruy Dantas
Citação:
Postado Originalmente por selvaking Ver Mensagens
Saca só camarada!

TEmpos atrás tive este problema quando mudei o kurumin de localização na IDE.

Como não queria reinstalar ele percebi que o arquivo initrd.img-2.6.18.1-slh-up-2 utilizava a referência do master da primária. Não consegui gerar o initrd.img novo e acabei montando a imagem que existia e modificando a referência em um dos arquivos internos. gerei novamente o arquivo e este funcionou beleza!

Vou ver se consigo achar o histórico dos comandos utilizados e analisar pra entender melhor e te passar um tutorial. Mas se vc não quiser perder tempo reinstale o Kuruma. Esta é a melhor solução. A não ser que o seu kuruma tenha alguma configuração que vc não possa ou não queira fazer backup.

Espero ter ajudado!

Boiei.

O que o initrd faz?
Como ele guarda a referência e como editá-lo?

Valeu....
24-09-2008 por Ruy Dantas
Tentei esta alteração, em vermelho, no menu.lst e também não deu certo.

title Kurumin Linux
root (hd1,0)
kernel /boot/vmlinuz-2.6.18.1-slh-up-2 root=/dev/hd1 ro nomce quiet apm=power-off vga=791
initrd /boot/initrd.img-2.6.18.1-slh-up-2


25-09-2008 por selvaking
Citação:
Postado Originalmente por Ruy Dantas Ver Mensagens
O que o initrd faz?
Como ele guarda a referência e como editá-lo?
O initrd é uma imagem compactada pronta pra ser carregada em memória de um sistema linux inicial com os módulos necessários ao seu sistema. (definição minha. Pode estar totalmente errada)
Esta imagem está fazendo referência ao lugar que vc instalou inicialmente o sistema.

Para modificar o initrd vc deve descompacta-lo em uma determinada localização.
Abrir o arquivo de script "init" com um editor de texto e modificar a referência ao disco rígido e partição.
Após isto, compactar novamente todo o "micro-filesystem" já com a modificação.
e copia-lo para o local desejado.

Achou complicado?

Como o initrd que vc quer modificar se encontra no 2° HD, devemos primeiro montar a partição e como todos os comandos devem ser dados como root, vamos usar um velho conhecido.
Código:
sudo su
O comando abaixo cria o diretório /mnt/hdb1 se não existir.
Código:
if [ -e /mnt/hdb1 ]&&[ -d /mnt/hdb1 ];then echo "Diretório Existe";else mkdir -p /mnt/hdb1&&echo "Diretório Criado"; fi;
O próximo monta a partição
Código:
mount -text3 /dev/hdb1 /mnt/hdb1
Cria um diretório temporário para descompactar os arquivos do intrd.ing e entra nele.
Código:
mkdir -p /mnt/hdb1/init-tmp/tmp&&cd /mnt/hdb1/init-tmp/tmp
O comando abaixo descompacta o initrd
Código:
zcat /mnt/hdb1/boot/initrd.img-2.6.18.1-slh-up-2 | cpio -i --make-directories
Este abre o arquivo de script para edição. vc pode usar outros editores em substituição ao kate. como o vi ou mcedit. Modifique todas as referências que se encontram no fim do arquivo ao HD e partição antiga. salve e saia.
Código:
kate init
O comando abaixo a estrutura do micro sistema e novamente compactada e salva um diretório acima.
Código:
find . | cpio -o -H newc | gzip -9c > ../initrd.img-2.6.18.1-slh-up-2&&cd ..&&rm -Rf tmp
Com este comando vc move o arquivo criado para o diretório boot e faz um backup do initrd que está lá.
Código:
cd /mnt/hdb1&&mv boot/initrd.img-2.6.18.1-slh-up-2 boot/initrd.img-2.6.18.1-slh-up-2.bkp&&mv init-tmp/initrd.img-2.6.18.1-slh-up-2 boot/
Pra finalizar remova o diretório init-tmp criado
Código:
rm -Rf init-tmp
Reinicie sua máquina.
 
Guia do Hardware Melhores Tópicos