0

I just installed 12.04, clean, from a USB memory stick, to an Asus netbook. As sda is only 4GB, I made a 1GB partition on sdb for /var (along with a partition for swap and /home). I used the desktop i386 iso with unetbootin to load the memory stick. Everything seemed to have worked just fine, and the netbook had been running 11.10 just fine. However, after restarting, I get 3 "error: no such partition" errors from grub at the boot menu.

I've started the machine back up with the memory stick to look around. The latest grub is installed on /dev/sda. (I thought maybe it hadn't "taken.") grub.cfg looks right, and the blkids match the internal drives. (I thought maybe the memory stick fooled the grub installer, but it all looks good.) If I open a grub command prompt at the boot menu, and try to do an 'ls', I get more "error: no such partition" errors. I even get the message when I try 'help'.

I'm lost. Everything I know from 15 years of running Linux makes me think this thing should boot. I've never seen this kind of error before.

                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and looks 
    for (,msdos1)/boot/grub on this drive.
 => Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and uses an 
    embedded config file:

    ---------------------------------------------------------------------------
    search.fs_uuid 11adf701-62df-45bd-949b-493582d3e6e4 root 
    set prefix=($root)/boot/grub
    ---------------------------------------------------------------------------
    -----.
 => Syslinux MBR (4.04 and higher) is installed in the MBR of /dev/sdc.

sda1: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 12.04 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

sdb1: __________________________________________________________________________

    File system:       
    Boot sector type:  -
    Boot sector info: 
    Mounting failed:   mount: unknown filesystem type ''

sdb2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        

sdb3: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        

sdc1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  SYSLINUX 4.05 20120131
    Boot sector info:  Syslinux looks at sector 535 of /dev/sdc1 for its 
                       second stage. The integrity of Syslinux couldn't be 
                       verified (install gawk). SYSLINUX is installed in the  
                       directory. The 2 ADV sectors are not the same 
                       (corrupt). No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /syslinux.cfg /ldlinux.sys

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 4034 MB, 4034838528 bytes
109 heads, 2 sectors/track, 36149 cylinders, total 7880544 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1    *          2,048     7,878,655     7,876,608  83 Linux


Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 16.1 GB, 16139354112 bytes
255 heads, 63 sectors/track, 1962 cylinders, total 31522176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1    *          2,048     3,999,743     3,997,696  82 Linux swap / Solaris
/dev/sdb2           3,999,744     5,953,535     1,953,792  83 Linux
/dev/sdb3           5,953,536    31,520,767    25,567,232  83 Linux


Drive: sdc _____________________________________________________________________

Disk /dev/sdc: 1059 MB, 1059323904 bytes
255 heads, 63 sectors/track, 128 cylinders, total 2068992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdc1    *             63     2,056,319     2,056,257   e W95 FAT16 (LBA)


"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/sda1        11adf701-62df-45bd-949b-493582d3e6e4   ext4       
/dev/sdb2        13102a87-bd10-48a1-9762-d52a025a7e87   ext4       
/dev/sdb3        58611555-14fd-4f09-b397-667760592be6   ext4       
/dev/sdc1        4EEA-35AF                              vfat       SAS_SATA

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/loop0       /rofs                    squashfs   (ro,noatime)
/dev/sdc1        /cdrom                   vfat       (ro,noatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)


=========================== sda1/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 11adf701-62df-45bd-949b-493582d3e6e4
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos1)'
  search --no-floppy --fs-uuid --set=root 11adf701-62df-45bd-949b-493582d3e6e4
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="$1"
    if [ "$1" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 11adf701-62df-45bd-949b-493582d3e6e4
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=11adf701-62df-45bd-949b-493582d3e6e4 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 11adf701-62df-45bd-949b-493582d3e6e4
    echo    'Loading Linux 3.2.0-23-generic-pae ...'
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=11adf701-62df-45bd-949b-493582d3e6e4 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 11adf701-62df-45bd-949b-493582d3e6e4
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 11adf701-62df-45bd-949b-493582d3e6e4
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=============================== sda1/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=11adf701-62df-45bd-949b-493582d3e6e4 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sdb3 during installation
UUID=58611555-14fd-4f09-b397-667760592be6 /home           ext4    defaults        0       2
# /var was on /dev/sdb2 during installation
UUID=13102a87-bd10-48a1-9762-d52a025a7e87 /var            ext4    defaults        0       2
# swap was on /dev/sdb1 during installation
#UUID=75c2cadb-a0b9-4888-a034-c1379420f015 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0
--------------------------------------------------------------------------------

=================== sda1: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1
               =                boot/initrd.img-3.2.0-23-generic-pae           1
               =                boot/vmlinuz-3.2.0-23-generic-pae              1
               =                initrd.img                                     1
               =                vmlinuz                                        1

============================== sdc1/syslinux.cfg: ==============================

--------------------------------------------------------------------------------
default menu.c32
prompt 0
menu title UNetbootin
timeout 100

label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --

label ubnentry0
menu label ^Help
kernel /ubnkern
append initrd=/ubninit 

label ubnentry1
menu label ^Try Ubuntu without installing
kernel /casper/vmlinuz
append initrd=/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper  quiet splash --

label ubnentry2
menu label ^Install Ubuntu
kernel /casper/vmlinuz
append initrd=/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity  quiet splash --

label ubnentry3
menu label ^Check disc for defects
kernel /casper/vmlinuz
append initrd=/casper/initrd.lz boot=casper integrity-check  quiet splash --

label ubnentry4
menu label Test ^memory
kernel /install/mt86plus
append initrd=/ubninit 

label ubnentry5
menu label ^Boot from first hard disk
kernel /ubnkern
append initrd=/ubninit 

--------------------------------------------------------------------------------

================= sdc1: Location of files loaded by Syslinux: ==================

           GiB - GB             File                                 Fragment(s)

            ?? = ??             ldlinux.sys                                    2
            ?? = ??             menu.c32                                       1
            ?? = ??             syslinux.cfg                                   1

============== sdc1: Version of COM32(R) files used by Syslinux: ===============

 menu.c32                           :  COM32R module (v4.xx)

========= Devices which don't seem to have a corresponding hard drive: =========

sdd 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
2
  • SOLVED (sort of). Swapping the boot order preference to my secondary "drive" fixed the booting problem. (On these netbooks, the SSD is split into a smaller, faster space, and a larger, slower one.) Ubuntu installed itself correctly (it put / on sda), but there's still the question of why the grub configuration on sda doesn't work, and the one on sdb DOES, while magically pointing back at sda. May 7, 2012 at 20:49
  • SOLVED (for real). I got back into an all-setup-and-mounted chroot environment, and then did a grub-install --no-floppy --recheck /dev/sda and I'm booting from the first hard drive. May 8, 2012 at 13:43

2 Answers 2

1

My guess is that your firmware (for whatever reason) only presents one drive to the bootloader, the drive from which it "booted" (read and executed the code in the MBR). That explains why when sda is first in the boot you're able to boot, because only one drive is involved. You should be able to confirm this by running "ls" from the working grub on sda, and see that only one drive is listed.

The reason that you got "no such partition" errors is that all commands in grub are stored in modules, and if a module for a given command hasn't been loaded yet when you try to run the command (like "help") grub tries to read $prefix/help.mod. When it turns out that the partition in $prefix doesn't exist, you get this error message. Grub's core.img sometimes has to fit in a very small area and so very few modules are included in it by default, meaning very few commands are available if /boot/grub/ can't be read. The most useful of these commmands are listed here: http://www.gnu.org/software/grub/manual/grub.html#GRUB-only-offers-a-rescue-shell (note that while a simple "ls" can function, "ls -l" and other options to ls require more modules).

1
  • When booting from the "second" disk, I see all the partitions I expect, but reversed: 3 partitions (swap, /var, and /home) on sda, and 1 (/) on sdb. So the "drives" do appear to the BIOS and grub as two separate drives. The installer seems to have sorted this all out, and told grub to boot from sdb1, and mounting the partitions in /etc/fstab makes everything right. I've been trying to use grub (installed under the memory-stick environment) to force a "normal" environment of using sda in it's proper boot order, but it can't find /boot/grub/stage1. I don't understand why. May 8, 2012 at 12:40
0

I'm as bit suspicious of your swap being on sdb1 .... I could be wrong, but .... I've not actually done a system in which the OS is spread over two hard drives as is yours. Home on a different drive, yes, but swap on a different drive, I'm just not sure. Especially as the first partition.

You might try booting into the 'Try Ubuntu' option on the USB stick and snooping around there. You could also try re-installing grub from there and updating it. I'm sure with youre experience you'll know how to do that.

3
  • Your boot system has this to say (above) "Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 1 of the same hard drive for core.img" I think it might be trying to find the image on the swap partition - but I could be wrong ....
    – barrydrake
    May 7, 2012 at 20:37
  • I used the "Try" and used a command prompt to mount /dev/sda1 on /mnt, /dev/sda2 on /mnt/var, bind-mounted /dev, /proc, and /sys, and then tried 'update-grub'. No change. May 7, 2012 at 20:39
  • Yes - that wasn't what I meant. I meant the try option when booting the live-DVD so you can have Ubuntu running from the DVD in order to see what your installation looks like.
    – barrydrake
    May 8, 2012 at 7:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .