Advertisement

Boot Loader Help

Started by August 22, 2006 10:03 PM
19 comments, last by Sander 18 years, 3 months ago
I see several problems. First, hd(1,0) means first partition on your second disk. That's your old boor, not the new. Your new should be hd(0,x) where x is the partition number of your new boot. Second, since /boot is now a separate partition, there should be no more /boot/ in front of the paths because the root is already in /boot during the boot process.

It looks like on your old Linux installation, everything was in / and /boot was not a separate partition (that's Ubuntu's default). You should delete the contents of /boot (but not remore the directory) from your removable drive, then edit fstab to mount hdaX (the new boot) on /boot.

I think Grub dies at stage 1.5 because it cannot find hdb / hd(1,0) (you indicated that you pulled it).

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

First, hd(1,0) means first partition on your second disk. That's your old boor, not the new. Your new should be hd(0,x) where x is the partition number of your new boot.
hd(1,0) is where Ubuntu is. I changed where GRUB is, but not where Ubuntu is.
Is that wrong..?
Second, since /boot is now a separate partition, there should be no more /boot/ in front of the paths because the root is already in /boot during the boot process.
The first partition on the first hard drive where I want GRUB to be has a /boot folder. I kept the stucture...

So... I'm putting the Linux kernal on the GRUB partition?
Advertisement
Quote: Original post by yitzle
Quote: First, hd(1,0) means first partition on your second disk. That's your old boor, not the new. Your new should be hd(0,x) where x is the partition number of your new boot.

hd(1,0) is where Ubuntu is. I changed where GRUB is, but not where Ubuntu is.
Is that wrong..?

Quote: Second, since /boot is now a separate partition, there should be no more /boot/ in front of the paths because the root is already in /boot during the boot process.

The first partition on the first hard drive where I want GRUB to be has a /boot folder. I kept the stucture...

So... I'm putting the Linux kernal on the GRUB partition?


You should move the entire /boot folder to the new partition on the first HDD. That includes grub and the kernels. You hard drives should look something like this:

hda: [............ windows ............][... /boot ...]hdb: [............... ubuntu / ...........][.. swap ..]


Grub installed in hda in the second partition. That would make your GRUB entry look something like:

title		Ubuntu, kernel 2.6.15-23-386root		(hd0,1)kernel		/vmlinuz-2.6.15-23-386 root=/dev/hdb1 ro quiet splashinitrd		/initrd.img-2.6.15-23-386savedefaultboot...


The root (hd0,1) command tells grub where to boot from. Counting starts at 0. It points to the /boot partition (second partition on the first disk in this example). The root=/dev/hdb1 command points to the main ubuntu partition. Counting now starts at 1. On this partition, the /boot directory is an empty directory. fstab will add the contents of the /boot partition of the first drive to the /boot folder on your second drive. Your /etc/fstab a bit like:

proc            /proc           proc    defaults        0       0/dev/hdb1       /               ext3    defaults,errors=remount-ro 0       1/dev/hda2       /boot           ext3    defaults        0       2/dev/hdc        /media/cdrom0   udf,iso9660 users,noauto     0       0/dev/fd0        /media/floppy0  auto    rw,users,noauto  0       0


So, you moved the entire contents of tyhe /boot directory of your ubuntu partition to / on the new partition on your first disk. Grub, kernels, everything.

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

I tried changing the root line (and nothing else) and it did not help.
Then I went to the drive where Ubuntu is and renamed /boot to /_boot
Upon reboot I got Error 15
But... if I installed grub correctly, that /boot should not be acccessed...
I've got to read that GRUB install manual.
I'll try your suggestion!
On the main Ubuntu partition, /boot must exist, but it must be empty. You can rename your old /boot to /_boot, but you should create a new, empty /boot directory or fstab will not be able to mount your new boot partition.

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

I didn't add /boot to the fstab yet...
Advertisement
You should. You can't boot without it :-)

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

I still have the /boot directory on the GRUB partition so my menu.lst looks like
title		Ubuntu, kernel 2.6.15-23-386root		(hd0,1)kernel		/boot/vmlinuz-2.6.15-23-386 root=/dev/hdb1 ro quiet splashinitrd		/boot/initrd.img-2.6.15-23-386savedefaultboot

So far so good.
I modified the fstab - found in /dev/hdb1/etc or /etc on the Ubuntu partition
I moved /boot to /_boot and made an empty /boot
I rebooted. Boom. GRUB stage1.5 Error 15.
Note: this error occurs before I get the menu of OSs I can boot into, so the fault probably does not lie with the menu.lst or fstab
I reboot with a LiveCD and move /_boot back to /boot
Reboot. Everything works.
I'm convinced GRUB is using something in the /boot on the second hard drive (hdb1) even though GRUB stage1 works fine off hda3.
So... what's up?
GRUB stage 1 is working off /dev/hda/boot
GRUB stage 1.5 needs /dev/hdb/boot
You should remove the /boot prefixes in your new menu.lst, but that doesn't solve the problem with stage 1.5. Going off the Grub installation manual, I assume you installed grub with a command like:

# grub-install /dev/hda


In that case, it uses the /boot of the OS you are running. That would be the old boot (you installed Grub before properly moving /boot). You should reiunstall grub and manually specify the /boot partition so that grub 1.5 can load:

# grub-install --root-directory=/boot hda


/boot should be mounted as the new /boot partition.

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

Yay! It works now.
I thought I tried --root-directory /dev/hda3 at one point...
So I guess I had the GRUB 1.5 image on hdb.
Thank you so much for all your time, patience and expertise. I sincerely appreciate all the effort!

This topic is closed to new replies.

Advertisement