Advertisement

Boot Loader Help

Started by August 22, 2006 10:03 PM
19 comments, last by Sander 18 years, 3 months ago
Here's the story... I got 2 hard drives. #1, the primary, got WinXP installed on the second partition - NTFS The second is... say, removable. However, I installed Ubuntu on it which installed Grub bootloader. Now... Grub is located on the second hard drive, so when I remove it, the PC won't let me boot into Windows (hard drive #1) because that drive's boot loader is... ignored? I get an error saying it can't find Grub. Help?
Install GRUB in the Master Boot Record of the other hard drive, then configure your PC to start from that drive instead of the removable one.

Hmm... probably not because it will override the Windows bootloader and thus cannot chainload Windows anymore. You should make your Ubuntu's /boot a separate partition, then place that partition on your fixed hard drive. It's only 100MB or so. Then install GRUB in the MBR of that /boot partition.

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

Advertisement
The first suggestion has a second problem: Grub does not directly support NTFS, so it anyway needs to go through the chain loader... (though I'm not quite sure how that a;; works. I just know NTFS is not on the Grub page).

I'll try moving the /boot
The rest of the OS can remain?
In order to move the partition you will have to re-partition your NTFS drive to create a new, free, section to format for the /boot partition. There are several utilities out there to do this. I personally had a similiar issue, I downloaded a fully functional 30 day trial of a disk management utilty to defrage the hard drive and move the page file from the end. I then was able to use ubuntu's install to repartition my drives without losing any data.
Matt
Or get the GParted live CD. Shrink the NTFS by 100 MB, create a 100BM EXT2 or EXT3 partition in there, copy /boot to the new partition, edit /etc/fstab and install GRUB in the BMR of the new 100MB partition. That should about do it.

Needless to say, backup your system first!

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

The first partition of my master hard drive is not NTFS. I got a somewhat unused FAT32 partition.
So... I shift the first partition of my master drive over 100MB, format it to ext3, copy/move the /boot directory from the slave drive (where Ubuntu was installed), and run the grub-install command...
Right?
Advertisement
Quote: Original post by yitzle
So... I shift the first partition of my master drive over 100MB, create a new partition in the free space, format it the new partition to ext3, copy/move the /boot directory from the slave drive (where Ubuntu was installed), and run the grub-install command... and edit /etc/fstab


That should do it. I'm not sure wether the new /boot partition really needs to be at the beginning of the hard disk. There might be a BIOS setting that tells your PC what partition to boot from, or GRUB may write it to the beginning of the disk. I'm unsure of that, but having it at the beginning of the disk is probabely the safest.

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

No go.
I partitioned to ext3 and copied the /boot
I managed to run grub-install (required unmounting the drive first)
Even though my partition software says its the first partition it is /dev/hda3 (I also got a hda1 and hda5)

On boot I get past the GRUB bootloader to GRUB1.5 (second stage bootloader) and it coughs up error 21.
I hope I can figure out what that means...

So. GRUB is working. GRUB1.5 is not.

Awesome!
Quote: 21 : "Unknown boot failure"

This error is returned if the boot attempt did not succeed for reasons which are unknown.


Now what?
I see you have hda5, so you have more than 4 partitions on that disk. Is the new /boot a normal partition or an extended partition (inside another partition).

Also weird: It reports error code 21, which should be "21 : Selected disk does not exist". The "Unknown boot failure" is Grub error code 8. What grub version do you have?

Edit: Are you sure you are booting from the new /boot, not the old /boot on the removable drive? That isn't controlled in /fstab. You can specify the partition to boot from in /boot/grub/menu.lst.

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

My partition software does not allow me to stick an ext3 inside a logical partition. Its a primary.

According to http://www.uruk.org/orig-grub/errors.html, Error 21 is Unknown boot failure.
All I get displayed is "GRUB loading stage1.5. GRUB loading, please wait... Error 21"

I got whatever verison shipped with Ubuntu 6.06 - 0.97

Quote: Edit: Are you sure you are booting from the new /boot, not the old /boot on the removable drive? That isn't controlled in /fstab. You can specify the partition to boot from in /boot/grub/menu.lst.

Well... I pull the second drive, and it gets to stage 1.5, so the GRUB bootloader stage 1 is on HD#1 unless it is loaded directly into the MBR.

I can't find any place in /boot/grub/menu.lst where it specifies where stage1.5 is located.
It does specify Ubuntu of hdb and WinXP on hda
Can it be that the fact that hdb is unplugged and hdb is refered to is causing it trouble, even though I'm not asking it to boot from hdb?

menu.lst (without the commented lines)
default		4hiddenmenutitle		Ubuntu, kernel 2.6.15-23-386root		(hd1,0)kernel		/boot/vmlinuz-2.6.15-23-386 root=/dev/hdb1 ro quiet splashinitrd		/boot/initrd.img-2.6.15-23-386savedefaultboottitle		Ubuntu, kernel 2.6.15-23-386 (recovery mode)root		(hd1,0)kernel		/boot/vmlinuz-2.6.15-23-386 root=/dev/hdb1 ro singleinitrd		/boot/initrd.img-2.6.15-23-386boottitle		Ubuntu, memtest86+root		(hd1,0)kernel		/boot/memtest86+.bin boottitle		Other operating systems:roottitle		Windows NT/2000/XP (loader)root		(hd0,0)savedefaultmakeactivechainloader	+1


Device Map:
(hd0)	/dev/hda(hd1)	/dev/hdb

This topic is closed to new replies.

Advertisement