GRUB problems
I have just installed Red Hat Linux 9 on my computer. I haveWindows XP on the system also. GRUB installed to my MBR (hda). Both of my hard drives have LBA enabled according to my BIOS.
When Grub runs on starup i get: GRUB Loading stage1.5 GRUB loading, please wait... Error 18 This is how my computer is set up (fdisk -l): Code:
Disk /dev/hda: 80.0 GB, 80026361856 bytes Code:
default=0 All I can do right now is boot Linux from my boot floppy disk I made durring installation. |
By this line:
/dev/hdb3 15213 15343 1052257+ 82 Linux swap we see that this is a swap partition. But your grub.conf maps this partition to be the root: title Red Hat Linux root (hd1,3) Still, the output of fdisk shows that hdb4 is marked active (the *). Try to set this one to be the root. Try to fix this, and see if it works. Its possible that grub fails even if only one entry is bugged. One would expect grub to supply the whole stuff and boot only the good ones. But it doesn't. There's another alternative to this situation: You may want to overwrite grub and its stuff with winXP tools, and let linux boot from floppies always. Just run the winXP install cd, choose recovery console and run the utility to write mbr. I guess its name is something like xpboot, or makeboot or some similar .exe. |
Grub uses a different numbering system for its hard drives/partitions. Grub starts at (hd0, 0) where as linux starts at /dev/hda1. So /dev/hdb4 is the same as (hd1,3) (2nd hard drive, 4th partition).
I could overwrite the MBR with the windows version, but I'd kinda like to get some kind of boot loader working where I can choose windows or linux. |
This might have an easy solution.
First you should just boot linux with your rescue floppy/cd and type in the comman line; # update-grub I hope this fix your problem. :) |
Uhh, update-grub is not a command. When I typed it into my terminal, I got
bash: update-grub: command not found grub-update does not work either. I know that "grub-install" installs grub, but i've re-installed grub and still got the same error. |
From the GRUB manual :study:
http://www.gnu.org/software/grub/man...roubleshooting "Stage 1: Geom Error The location of the stage2 or stage1.5 is not in the portion of the disk supported directly by the BIOS read calls. This could occur because the BIOS translated geometry has been changed by the user or the disk is moved to another machine or controller after installation, or GRUB was not installed using itself (if it was, the Stage 2 version of this error would have been seen during that process and it would not have completed the install). Stage 1.5 & Stage 2: Error 18 : Selected cylinder exceeds maximum supported by BIOS This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general).” Hmmmmm. |
So, what do I do. I mean, I've even tried removing the slashimage line and the linux option (so all it would show is windows) since both are beyond the first 8GB, and I still get the same error. What exactly is it that has to be at the front of the hd? GRUB itself is in the MBR, which is the first 512MB. Also, does anyone know how old an 'older machine' is? I mean, I bought my computer about the time that the P4 came out, so it's not really old.
|
Actually, a pointer for GRUB is in the master boot record (MBR). The MBR is only 512 bytes in size.
It may not help, but try starting at the beginning. Rewrite the MBR using either the recovery utilities on the XP installation CD or using a Win95/98/ME Startup Disk (i.e., run fdisk /mbr). Then boot to linux using the floppy boot disk and try installing GRUB using: grub-install --force-lba --recheck /dev/hda where: --force-lba = force GRUB to use LBA mode --recheck = force probing of device map Again, this may not help. :) |
Thanks for correcting me on the size of the MBR, i knew it was 512 something, lol. I reset the MBR and then installed GRUB again with no luck though. I still get the same error.
|
You might also use the boot-loader of XP by editing boot.ini (if it still exists :(). In WinNT it looks like this
Code:
[operating systems] Code:
multi(0)disk(0)rdisk(1)partition(4)\Linux="Your distro here" [edit]Uargh, that's not right. First you have to copy the boot sector from your /dev/hdb4 by dd and write it to a partition XP can read, e.g. as Linux.ini. Next you have to move it to C: (into the NTFS file structure by WIn...) Then you access it by Code:
multi(0)disk(0)rdisk(1)partition(4)\Linux.ini="Your distro here" |
Alright, this is what I did. I copied my MBR to the file boot.lnx. Then I took boot.lnx and put it on my C:\ drive. Then I added 'C:\boot.lnx="Red Hat Linux 9"' to my boot.ini file. The problem is, all that this does it add a choice in boot.ini to load GRUB. I got the same error after selecting Linux from my boot.ini menu. Does anyone know of a way i can point directly to Linux from boot.ini instead of pointing to GRUB or LILO?? (all of the tutorials i've found have you copy lilo and add it into your boot.ini)
|
I have an idea, not sure if it's possible though. What if i take the files from my rescue floppy, and put them on my c:\ drive. Then somehow have boot.ini use those files. Has anyone done this or know if it works???
|
Sorry to answer so late.
You absolutelyhave to use a bootloader to start Linux, and the Win-bootloader can't do it. So my suggestion is to check your installation of GRUB (though it works with LILO as well). I just shot down my machine and had to rebuild the whole procedure this weekend, so do I know it works -- but most times not at the first try ;) (I think I had five tries this time, dunno why GRUB is so pigheaded or whether its just the quality of my CD-ROMs). Oh, and as to your last question, I don't think it works, because you have to set the floppy as boot-medium, but experiment away -- and don't forget to tell us your results. And you still have to announce to the boot loader that these files are there ... |
All times are GMT -5. The time now is 01:11 PM. |