How can grub not be finding vmlinuz when I can see it right there? I am multibooting between Fedora Core 4, SuSE 10 and Windows XP Pro. It was working fine until today when I changed the default order from SuSE to Fedora. Fedora boots, but SuSE won't. When I'm in Fedora, I mount the SuSE root and look at the /boot directory and see vmlinuz right there (although for some reason "find" doesn't find it). Using the "find" command at the grub prompt doesn't find it. Hmmm, investigation leads to seeing that the vmlinuz file is a symbolic link to vmlinuz-2.6.13-15.8-default which is sitting right there along with it. But putting vmlinuz-2.6... into the grub now gives an "unsupported executable" error. So where is the kernel that I was booting so happily before making my change and how do I fix this?
If /boot is on a separate partition, the the path for grub would be /vmlinuz, if not it should be /boot/vmlinuz
If that doesn't answer it, please post your menu.list an the layout of you disk(s)
0
parkhensleyAuthor Commented:
I do not have a separate /boot partition
menu.lst
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,4)
# kernel /boot/vmlinuz-version ro root=/dev/hda5
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.11-1.1369_FC4)
root (hd0,4)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.11-1.1369_FC4.img
title Windows
rootnoverify (hd0,0)
chainloader +1
title Suse 10.0
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 vga=0x31a selinux=0 resume=/dev/hda8
initrd /boot/initrd
partitions:
/dev/hda1 Windows
/dev/hda5 - Fedora /
/dev/hda6 - SuSE /
/dev/hda7 - shared /home
/dev/hda8 - swap
Could you please also post
/boot/grub/device.map
fdisk -l (as root)
> I changed the default order from SuSE to Fedora.
So you can not boot into SuSE, right?
Could you tell how you change the default order from Fedora to SuSE? Could you change back and is it still work?
Could you also post the /boot/grub/menu.lst in SuSE partition for reference?
0
MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.
Might this be a "classic" multiboot problem? I get the feeling that grub is simply looking in the wrong place:-)... Or having problems reading the partition as such perhaps? When you try the boot commands for SuSE at the grub prompt, what are the exact verbatim errors reported?
-- Glenn
PS
For sanity, I always make a point of synchronizing the diverse OSes as much as possible.... dual-booting different linuces can be a b*tch otherwise. In this case, see to it that both OSes use grub, and that they use the same actual file. DS
0
parkhensleyAuthor Commented:
Thank you all for the responses. It works now. I am not sure that I understand why, but it does work. When I said that I only changed the default order, that was a misstatement. Actually, I also removed the comments from the SuSE produced grub.conf and some of the boot options on the kernel line. But you can see that the paths are the same.
This is the menu.lst created by Red Hat that would not boot SuSE
This is the menu.lst that worked for both SuSE and Red Hat:
default=0
timeout=5
###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/hda8
initrd /boot/initrd
###Don't change this comment - YaST2 identifier: Original name: Fedora Core (2.6.11-1.1369_FC4) (/dev/hda5)###
title Fedora Core (2.6.11-1.1369_FC4) (/dev/hda5)
kernel (hd0,4)/boot/vmlinuz-2.6.11-1.1369_FC4 root=LABEL=/ ro rhgb quiet
initrd (hd0,4)/boot/initrd-2.6.11-1.1369_FC4.img
And when I tried to do a find from the grub prompt for the vmlinuz, the message was ERROR 15: File not found. But it was right there.
Ah, so you reverted to the "SuSE" one, didn't you?
You could've acheived that "swap" easily by just changing what entry was the default one...:-).
-- Glenn
0
parkhensleyAuthor Commented:
I know, but for some reason Fedora stopped booting and so I booted with the Fedora CD and let it rewrite the grub.conf file and then added the lines from the SuSE grub.conf file without the comments identifiers. Then Fedora would boot but SuSE wouldn't which is when I started this question - the only difference between the 2 Grub.conf files that I could see was the default order and the lack of comment identifiers for SuSE in one and the presence of the comment identifiers for SuSE in the other. I still don't know why both don't work.
If you look at the SuSE one, it uses a slightly different syntax.... Instead of declaring a root (hd0,4) for Fedora, it explicitly details the disk/partition tuple for each file access.... If you feel brave, why not try make the fedora one look the same way, but the other way around? What one can suspect is some sublte failure of the root setting.
.... And you don't have to actually rewrite any files, just go to the grub prompt and type the commands .... only difference to the menu.lst case is that you need finish up with a "boot" instruction, to actually boot anything:-).
Nobody noticed that grub tried to attach initrd as writable disk device, and got back error 15 - Block device required. Once you add "ro" to suse menu item it may give different error, but most likely will commence to system boot.
Check out www.vmware.com - it may save many reboots and headaches in your setup ( at a cost for sure)
Actually vmare player and vmware server can both be had without cost.
0
parkhensleyAuthor Commented:
Grub Error 15 is actually "File not found". Is this the same thing as "Block device required"? Thanks for noticing that about "ro", though and the suggestion about vmware.
Even though SuSE boots now meaning obviously that it can find /boot/vmlinuz, when I enter find vmlinuz at the grub prompt in a konsole, it still returns Error 15: "File not found". This I don't understand.
Does it find it if you are explicit with a /boot/vmlinuz? The find grub command is not anywhere near what the shell find command is;-)... All it does is test the _absolute path and filename_ on every "readable" partition it knows of.
this problem coming to me too vmlinuz is there but still but its lil different when i see this error i go back to and agter type kernel / it gives me the vmlinz full name then i press enter now then b then it found vmliuz but not initrd then i repeat the same process with init too like press tab grub> initrd /
then it gives the full name press enter and b it boots the system perfectly i checked if any typo in grub.conf file but nothing wrong there ..................its really WEIRD
as reboot again same error comes up and same process makes it booting...............very crazy..thing it is....
It is really about different setup of GRUB needed to boot ext2, ext3, jfs, reiser.
I'd recommend vmware as definite solution (it is free now) -> then you have your primary OS running all the time - I'd recommend Linux as base system for power saving and less mess, though Windows may serve gaming better at a cost of electricity bill...
To establish normal multibooting install all your systems in one DOS partition each (for most of Linux it is a tickmark to install boot code in partition) and after they are done install some sort of BOOT manager like one from FerrBSD or another free thing.
When you install grub, the only thing you really "install" is the small shell like application, and the default for its other files (specific bootloading code, menu.lst etc).
In a multi-boot situation, where at least two of the OSes involed are different flavours of linux (or even the same!), it is very easy to be looking at the wrong manu.lst file;-).
And filesystem access module(s) to actually get to bzimage and initrd...
It shows with multibooting OpenSolaris and FreeBSD, where you do not get ufs2 and zfs modules present in normal GRUB build of popular distributions...
So i'd recommend at least putting exotic things into virtual machines....
What do you use to edit the menu.lst file? Something that will show non-printable characters? Might be a subtle typo too... Anyway, something is on the blink in that file.
Cheers
-- Glenn
0
Featured Post
Veeam is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers. It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.
If that doesn't answer it, please post your menu.list an the layout of you disk(s)