LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   SUSE / openSUSE (https://www.linuxquestions.org/questions/suse-opensuse-60/)
-   -   "Error 22: No Such Partition" from GRUB after openSUSE 11.3 install (https://www.linuxquestions.org/questions/suse-opensuse-60/error-22-no-such-partition-from-grub-after-opensuse-11-3-install-823362/)

ET3D 08-01-2010 06:51 AM

"Error 22: No Such Partition" from GRUB after openSUSE 11.3 install
 
I tried to install openSUSE 11.3 from the Gnome live CD. I had four partitions set already for /boot, /, /home (ext4 all) and swap from a previous failed Linux Mint installation. I installed into them, and formatted them. The /boot partition is primary and pretty well into the disk. The other partitions are logical and at the end of an extended partition which has several partitions before them. There's also an inactive Windows primary partition at the start, and a second disk with a Windows installation and a lot of logical partitions.

After install, it looks like booting into grub works fine, and I get "Error 22: No Such Partition". I then get to the GRUB menu. If I choose openSUSE from there I get:

Booting 'openSUSE 11.3'
root (hd1,2)
Error 22: No Such Partition

Booting from the live CD it looks like /boot, / and /home contain data, so they must be formatted fine.

Help would be appreciated.

jasohl 08-02-2010 04:57 PM

Could you provide that actual drive and partition details.
Boot with a live disk and get fdisk -l. Also the GRUB configuration would be helpful.

GRUB numbers disks/partitions starting from 0.
Here it's looking for the partition with /boot on it. This is pointing to the 3 partition on the 2nd disk:
Code:

Booting 'openSUSE 11.3'
root (hd1,2)
Error 22: No Such Partition

If thats not where your boot partition is you need to change the GRUB config. How you do that depends on the version of GRUB. Not sure which openSUSE is using right now.

GRUB provides the ability to modify the entries and an excellent command line interface.
You can change that root line and see if it boots correctly.

vectordrake 08-02-2010 04:59 PM

root (hd1,2)

This implies that you are trying to lock to root on drive 2, partition 3. Is this a second drive? Is the "/" partition on the 3rd partition?

ET3D 08-02-2010 11:57 PM

No, that's actually where '/boot' is. '/' is on the 13th partition, IIRC. I'm confused now, thought, because if I understand jasohl correctly, that should be '/boot' (and it is), but your version makes more sense, since '/' is the OS itself.

I've since installed Fedora, the only distro so far that installed without problem, but if this really should point to '/' then it's probably an easy fix, and I might try openSUSE again, since I think it's friendlier.

syg00 08-03-2010 12:57 AM

No, that is the grub root. If you have a separate boot partition it should be that. From a terminal run "fdisk -l" (as root) and post the output.

jasohl 08-03-2010 11:59 AM

root (hd1,2) specifies GRUB root. where it looks for the boot files and kernels.
you specify OS root on the 'kernel' line.
for example:
Code:

kernel          /vmlinuz-2.6.28-11-generic root=/dev/sda1

ET3D 08-04-2010 03:51 AM

I made a new install, cleared up 20GB of space at the start of the disk and put '/' there (and booting is from there). Wasn't easy, since that partition manager in the installer is pretty awful, but it's done. Still doesn't work, but the error looks more informative.

Here's the menu.lst for GRUB:
Code:

# Modified by YaST2. Last modification on Wed Aug  4 07:20:01 IDT 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
gfxmenu (hd1,0)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.3
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/ata-ST3500418AS_5VM49NQK-part1 resume=/dev/disk/by-id/ata-ST3500418AS_5VM49NQK-part12 splash=silent quiet showopts vga=0x375
    initrd /boot/initrd-2.6.34-12-desktop

###Don't change this comment - YaST2 identifier: Original name: windows 1###
title windows 1
    rootnoverify (hd0,0)
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: windows 2###
title windows 2
    map (hd1) (hd0)
    map (hd0) (hd1)
    rootnoverify (hd1,1)
    makeactive
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.3
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/ata-ST3500418AS_5VM49NQK-part1 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x375
    initrd /boot/initrd-2.6.34-12-desktop

The error is:

Filesystem type unknown, partition type 0x7
kernel /boot/... (i.e., the command from menu.lst for linux)
Error 17: Cannot mount selection partition

fdisk -l gives:
Code:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x47dff5b8

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1      13055  104857600    7  HPFS/NTFS
/dev/sda2          13055      60801  383524864    f  W95 Ext'd (LBA)
/dev/sda5          13055      36552  188743680    7  HPFS/NTFS
/dev/sda6          36553      41774    41943040    7  HPFS/NTFS
/dev/sda7          41774      43341    12582912    7  HPFS/NTFS
/dev/sda8          43341      56395  104857600    7  HPFS/NTFS
/dev/sda9          56395      60801    35392512    7  HPFS/NTFS

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xfb5218ca

  Device Boot      Start        End      Blocks  Id  System
/dev/sdb1  *          1        2639    21197736  83  Linux
/dev/sdb2            2640        6756    33069802+  7  HPFS/NTFS
/dev/sdb3            6757      45736  313106819+  f  W95 Ext'd (LBA)
/dev/sdb5            6757      10011    26145754+  7  HPFS/NTFS
/dev/sdb6          10012      11716    13694328    7  HPFS/NTFS
/dev/sdb7          11716      15892    33543688+  7  HPFS/NTFS
/dev/sdb8          15892      21009    41096402    7  HPFS/NTFS
/dev/sdb9          21009      22066    8493338    7  HPFS/NTFS
/dev/sdb10          22066      23854    14359036    7  HPFS/NTFS
/dev/sdb11          23854      28030    33543688+  7  HPFS/NTFS
/dev/sdb12          28030      30022    15998976  82  Linux swap / Solaris
/dev/sdb13          30023      45736  126222673+  83  Linux


syg00 08-04-2010 04:16 AM

More or less what I expected - the BIOS is enumerating the disks differently to the Linux initscripts. Try this - at the boot menu, highlight the openSuse option, then hit the "e" key (for edit). Then highlight the "root (hd1,0)" and hit "e"again. Change the line to "root (hd0,0)" and hit enter. Then "b" to boot.

This is a temporary change only, just for a test.

ET3D 08-04-2010 04:47 AM

Thanks! I also got this response at the openSUSE forums, though I only saw the response after posting the above. I changed from hd1 to hd0 in menu.lst and got a working openSUSE desktop.

jasohl 08-04-2010 12:05 PM

syg00,
Just curious, how did you figure that "BIOS is enumerating the disks differently to the Linux initscripts."
fdisk shows the bootable Linux partition is on /dev/sdb1.
My first thought was
/dev/sda > primary master
/dev/sdb > primary slave.
But if root(hd0,0) cause is it to boot correctly then /dev/sdb must be as primary drive designated by BIOS. If I'm understanding you correctly.
How did you catch that?

syg00 08-04-2010 09:20 PM

Quote:

Filesystem type unknown, partition type 0x7
That's NTFS - so the stage1 loader code is looking at the "wrong" disk. The "fdisk -l" is from a Linux system (i.e. after initscripts have run) - grub install would have (likely) been run from this same environment.
Recent Ubuntus (for example) got around this by hacking (classic) grub to use uuid instead of root. Grub2 has that option as well.

jasohl 08-05-2010 12:45 AM

Cool. Thanks man. You guys are teaching me something new all the time.


All times are GMT -5. The time now is 02:25 PM.