Jump to content

Grub configuration


Hiro_
 Share

16 posts in this topic

Recommended Posts

Hello community, i've a doubt about with i can use the Grub for i choose the operational system, i have 3 hard drives at this machine, the first has the Suse Linux and Mac OS X installed, at the second has Windows with another partition without operational system, and the last hard drive not has none operational system it is only for storage files.

 

Look at my menu.lst of the Grub. it not it works neither for Mac neither for Windows, i tryed several times with several combinations and nothing.

 

# Modified by YaST2. Last modification on Qua Out  4 21:48:17 UTC 2006

color white/blue black/light-gray
default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 10.0
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 vga=0x31a selinux=0	resume=/dev/hda5  splash=silent showopts
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows XP Professional
root (hd3,0)
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: Mac OS X###
title Mac OS X
root (hd0,1)
chainloader +1


###Don't change this comment - YaST2 identifier: Original name: floppy###
title Disquete
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 10.0
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 vga=normal showopts ide=nodma apm=off acpi=off noresume selinux=0 nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd

 

The Suse starting normally, but the others (OS X and Windows) not starting.

 

Please any help is welcome.

Thanks!!

Link to comment
Share on other sites

Please guys, i find than is impossible than nobody can answer me, i don't know because this happen here, i always try help everybody.

 

Please if someone has the answer for this question, please give me only some minutes of the your life for help me.

 

 

Thank you. :)

Link to comment
Share on other sites

cbmkgd now i get this error message for OS X.

 

Filesystem type unknow, partition type (0xaf)
error1: Filename must be either an absolute pathname or blocklist

 

and this for the Windows

 

Filesystem type unknow, partition type (0x7)

error1: Filename must be either an absolute pathname or blocklist

 

Now my menu.lst is this.

 

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 10.0
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 vga=0x31a selinux=0	resume=/dev/hda5  splash=silent showopts
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: windows###
title   Microsoft Windows XP Professional
root	(hd2,1)
savedefault
makeactive
chainloader	 +1

###Don't change this comment - YaST2 identifier: Original name: Mac OS X###
title   Mac OS X Tiger
root	(hd0,1)
savedefault
makeactive
chainloader	 +1

 

and this is my partition map:

 

Filesystem______________________1K-blocks	  Used Available Use% Mounted on
/dev/hda6 ______________________16793100   3782292  12157760  24% /
tmpfs ______________________517964		 0	517964   0% /dev/shm
/dev/hdc1______________________23752068  15011148   8740920  64% /windows/C
/dev/hda1______________________20971520   2705736  18265784  13% /mnt/osX

 

I don't understand because not works, i also tried using hd0,0 and hd2,0 and i get the same error.

Link to comment
Share on other sites

No here's the outline how I do it, sounds you are experienced enough to figure out the exact details for your system:

 

Boot partition on HD1: FAT32 (set active), on it the chain0 for Darwin (--> Mac OS x86) and GRLDR + MENU.LST for Grub4DOS. First bootloader that pops up is Windows XP NTLDR. Here is how the Boot.ini on HD0 C:\ should pretty much look like:

[boot loader]

timeout=5

default=multi(0)disk(3)rdisk(0)partition(0)\WINDOWS

[operating systems]

multi(0)disk(3)rdisk(0)partition(0)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptOut

C:\chain0="Mac OS x86"

C:\GRLDR="Grub4DOS"

Just configure Grub4DOS to boot Linux the way you know.

 

As soons as chain0 finds a bootable HFS+ partition with Darwin in your system (no matter if on IDE/ SATA/ USB) the Darwin bootloader will load.

 

Good luck,

Bugs.

Link to comment
Share on other sites

Try:

 

title   Microsoft Windows XP Professional
rootnoverify (hd2,0)
makeactive
chainloader --force +1

title   Mac OS X Tiger
rootnoverify (hd0,0)
makeactive
chainloader --force +1

 

Infos from the GRUB manual:

about '--force';

about rootnoverify.

 

"error1: Filename must be either an absolute pathname or blocklist": seems it doesn't want to interpret the "+1" properly. Do you have tabs in place of spaces between "chainloader" and "+1"? (I don't know if that would make a diff; just trying to see why it wont take it).

 

hda1 and hdc1 should definitely translate as (hd0,0) and (hd2,0) resp.

 

The savedefault is not that important.

Link to comment
Share on other sites

Ok, you probably don't have any active fat/ntfs primary partition on first drive where windows could have put its bootloader files.

 

So try:

title Microsoft Windows XP Professional
map (hd0) (hd2)
map (hd2) (hd0)
rootnoverify (hd2,0)
makeactive
chainloader --force +1

The part:

map (hd0) (hd2)
map (hd2) (hd0)

virtually exchanges the first and third drive (your windows is on the third drive's first partition, hdc1). So this will do as if your third drive is the first (and the first will be third), and you'll have a primary active partition on first drive to satisfy windows' bootloader.. in theory.

Note the rootnoverify (hd2,0), in spite of the swap. I hope that's the good code.

Also you might see different drive letters for the second (data storage) drive partitions as a result.

Info about map command.

Link to comment
Share on other sites

I tried this too, but now say me not exists NTDLR. Press ctrl+alt+del for restarting,, The strange is than if i change on the bios the third hardrive for run the boot, it starting normally.... very strange. :)

 

I find than we are nearby, i think than if we can set active the hd2,0 we can resolve this, but i not know as i can do this using Linux or Mac.

Link to comment
Share on other sites

The makeactive makes the partition active.

And it's probably already active on that drive, since it boots when you force it to be first drive in bios.

 

Can you check again if your windows is still on hdc1?

 

Where did yast originally pointed to before you edited it?

 

Also, check this for me:

When you successfully boot into winxp (eg by putting 3rd drive to boot first in bios), check in the root C: of the drive. Do you see the files boot.ini, ntldr and ntdetect.com? (they are hidden, so set your explorer to see hidden files).

Link to comment
Share on other sites

All these files are here, the boot.ini say?

 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

 

 

The partition is really the hdc1, and yast originally pointed to (hd1,0).

Link to comment
Share on other sites

All these files are here (...)

The partition is really the hdc1, and yast originally pointed to (hd1,0).

boot.ini is ok (that is, when the disk will appear as the first disk).

 

Does yast still think it's (hd1,0), if you use it again?

Using the grub command line would help to check this.

 

Out of curiosity, which drives are sata, which are pata?

Link to comment
Share on other sites

Hum, i go try unplugged the third drive than not has none operational system installed and try using hd1,0. But i would like know more about using grub command line, you recommend me, some article?

 

The drives are PATA.

Link to comment
Share on other sites

I found this troubleshooter:

http://wiki.linuxquestions.org/wiki/GRUB_H...Trouble-shooter

 

He uses similar procedure for swapping drives, with a few differences. But especially check his trick with the grub command line.

 

To get grub command line, get a terminal and root permissions in linux. Then by typing something like:

grub>root (hd

and then hitting the <TAB> key, you'll get possible drives (hd0, hd1,...).

 

Then by typing:

root (hd0,

and then <TAB>, you'll get possible partitions of drive hd0; do the same for hd1, hd2, until you get the partition that has your windows, so you'll be sure if it's (hd2,0) or something else.

 

You'll notice that the guy in his guide maps the partitions, rather than the drives, and he maps after defining the root of the boot: http://picserver.org/i/4JPU2RWSKE96/512/p.png.

Anyway, I think we'll get it eventually ;)

And we'll have learned more about grub at the same time.

Link to comment
Share on other sites

 Share

×
×
  • Create New...