LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Win 98 won't boot from hdb0 with GRUB (https://www.linuxquestions.org/questions/linux-newbie-8/win-98-wont-boot-from-hdb0-with-grub-143797/)

mlse 02-08-2004 04:24 PM

Win 98 won't boot from hdb0 with GRUB
 
Hi. I used to have Windows 98 running on a single partitioned 40Gb drive, which was set as the primary master. I have subsequently bought another 40Gb drive onto which I have installed Redhat 9.0.

To keep things simple, I thought I would just set the old drive (with win98 on it) as the primary slave and have RH9.0 on the new drive as the primary master.

So I just changed the jumper settings on the old drive and plugged it in as the primary slave, formatted the new drive as the primary master and installed RH9.0 on it with GRUB in the MBR. RH9.0 boots fine, as expected.

However, when I try to boot win98 from GRUB, the whole computer just does nothing after "chainloader +1". I've looked in the RH9.0 manual and it just says "chainloader is required for Microsoft windows to boot", or something like that. The whole of the GRUB boot sequence for win98 is as follows:

> root (hd1, 0) That's fine I think - Win98 is on the first (and only) partition of hdb, the primary slave.
> chainloader +1
> boot

The root command returns the following result:
"Filesystem is fat, partition type 0xc" I'm happy about the first bit, but I don't know what the "partition type 0xc" bit means!

I've tried doing "fdisk /mbr" from a DOS prompt in Win98 (that was suggested by someone) but no joy.

Please help if you can! I am now completely flummoxed!

Breezwell 02-08-2004 06:34 PM

Try the following:

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

Basel 02-09-2004 12:36 AM

The same problem appeared with me when trying to boot WinXP and JDS with uses GRUB.

Solution:

Windows requires to be booted from the primary master disk. When
Windows is installed on a disk that is not the primary master disk, it
refuses to boot. However, using the Grub boot loader the disk labels
can be mapped in such a way Windows believes it's started from the
primary hard disk.
In this next example it is assumed that Sun Java Desktop System is
installed on the primary master disk and Windows XP is installed on
the primary slave disk. When Sun Java Desktop system is started, the
primary master disk is referred to as /dev/hda and the primary slave
is referred to as /dev/hdb. The Grub bootloader, however, uses a
slightly different naming convention, since it was originally designed
to be multiplatform (which it actually is). The primary master disk is
hd0 and the primary slave disk is hd1. The first partition on the
primary master disk is hd0,0 (/dev/hda1 under Sun Java Desktop system)
etcetera.
The Grun bootloader configuration file is "/boot/grub/menu.lst". In
this file, the entry to boot Sun Java Desktop System is put there by
default and may look like this :

title linux
kernel (hd0,0)/vmlinuz root=/dev/hda2 vga=788
initrd (hd0,0)/initrd

This entry very much depends on the way the Sun Java Desktop System
hard disk is partitioned and on what video modes are available for the
system.

To make Windows boot from the primary slave disk, this entry needs to
be added to the Grub bootloader configuration file /boot/grub/menu.lst:

title winxp
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive

chainloader +1
boot

The first line is the choice that shows up in the Grub boot list and
may be changed at will. the next two lines tell the Grub bootloader to
make a virtual swap between the master and slave disks. The next four
lines tell Grub to set the root device to the first partition on the
primary slave, to set the "active" flag on that partition, to load the
bootloader on that prtition and to boot from it.

kLUMSY bOT 02-09-2004 01:47 AM

(translation) you need to make windows think its on hda. one of those micro$oft things.

mlse 02-09-2004 04:33 PM

Thanks muchly!
 
Thanks guys,

I did the mapping thing and all is now hunky-dory. Thanks in particular to Basel for explaining it to me! I like to understand why I'm doing what I'm doing. They should put that info in the Linux manual seeing as it's pretty fundamental!

Mike.


All times are GMT -5. The time now is 07:01 AM.