Link to home
Create AccountLog in
Linux

Linux

--

Questions

--

Followers

Top Experts

Avatar of parkhensley
parkhensley

Grub error 15 file not found
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?

Thanks

Zero AI Policy

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


SOLUTION
Avatar of Jon_FergusonJon_Ferguson

Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.
Create Account

Avatar of parkhensleyparkhensley

ASKER

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

Avatar of wesly_chenwesly_chen🇺🇸

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?

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

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


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

default=0
timeout=5
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 Suse 10.0
      root (hd0,5)
      kernel /boot/vmlinuz root=/dev/hda6 vga=0x31a selinux=0 resume=/dev/hda8
      initrd /boot/initrd

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

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.

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


SOLUTION
Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.

.... 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:-).

-- Glenn

Avatar of gheistgheist🇧🇪

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.

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


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.

ASKER CERTIFIED SOLUTION
Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.

Hi

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....

Avatar of gheistgheist🇧🇪

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.

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


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;-).

Cheers
-- Glenn

Avatar of gheistgheist🇧🇪

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....

Hi Glenn

man... i have single booting server ......on vmware  :-)

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


:-) Well.... It was a good theory:-).

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
Linux

Linux

--

Questions

--

Followers

Top Experts

Linux is a UNIX-like open source operating system with hundreds of distinct distributions, including: Fedora, openSUSE, Ubuntu, Debian, Slackware, Gentoo, CentOS, and Arch Linux. Linux is generally associated with web and database servers, but has become popular in many niche industries and applications.