[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: error: no such disk

From: Nick Martin
Subject: Re: error: no such disk
Date: Sat, 26 Dec 2009 20:56:24 +0000

> While your thought process is logical the result is not valid.  You
> have a separate /boot partition which is the 'root device' for the
> grub-files; just as what you see as / after startup is the 'root
> device' for your Linux OS.
> As specified earlier, you must inform grub of /grub's root device/ not
> the /linux root device/.  That would be (hd1,2) in grub2 and (hd1,1)
> in grub 0.9x .

I understand this. I think the changes Tom H suggested were referring
to the very first section of the file, which shows hd1,4 as the root
because it uses files from /usr/share/..., which are on the root linux

> ### BEGIN /etc/grub.d/10_linux ###
> menuentry "Ubuntu, Linux 2.6.31-14-generic" {
>        recordfail=1
>        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
>        set quiet=1
>        insmod ext2
>        set root=(hd1,2)
>        search --no-floppy --fs-uuid --set d53965e1-bcb1-4158-8531-193af32d52e7
>        linux   /vmlinuz-2.6.31-14-generic
> root=UUID=17a9cefd-3754-4048-9aa9-93dc7967a107 ro   quiet splash
>        initrd  /initrd.img-2.6.31-14-generic
> }
> You'll notice that this section the root device is set to (hd1,2) and
> then two files are specified which would be under /boot/ when your
> system normally operates; you'll also see that /boot should have a
> symlink such that /boot/boot/ has the same files as /boot/ (literally
> cd /boot ; ln -s . boot ), this is to aid you, so that you can still
> specify /boot/ before files without breaking the install.

I left the two ubuntu menu entries as they were, with hd1,2 as the
root, as that is where the kernel resides. I don't think the changes
that Tom H suggested were correct (thanks for your help all the same),
but even if they were, they didn't work:

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
set default="0"
if [ ${prev_saved_entry} ]; then
  save_env saved_entry
  save_env prev_saved_entry
insmod ext2
// ====> CHANGED THIS <====
set root=(hd1,4) // ---->changed this to (hd1,2) as suggested <-------
// ====> /CHANGED THIS <====
search --no-floppy --fs-uuid --set 17a9cefd-3754-4048-9aa9-93dc7967a107
// ====> but this file is on (hd1,4), not (hd1,2), which is mounted as
/boot <====
if loadfont /usr/share/grub/unicode.pf2 ; then

The issue I'm still having, and still had when the suggested changes
were made, is that grub says there is no such disk; I'm then presented
with the grub rescue prompt and I'm unable to ls any of hard drives. I
can, however, do an ls and see all the hard drives themselves, I just
can't ls their contents. When I do an ls of any of the partitions I
get an unknown file system error.

Could the insmod ext2 line be the cause? (hd1,4) is an ext4 partition,
but the ext2 module is being loaded. I checked to see if I have an
ext4 module: I don't. But this shouldn't matter because ext4 is
backwards compatible with ext2.

My motherboard is an FIC VG31 (Tango). The full spec of my computer is
here [1]. I'm starting to think this might be a bug, but I'm not sure.
Thanks for all your help guys.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]