Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

After successful creation of the Xen kernel and entry into grub, whenever I try and boot into the Xen kernel I receive the following error:

Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
            - Check rootdelay= (did the system wait long enough?)
            - Check root= (did the system wait for the right device?)
  - Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/sda6 does not exist. Dropping to a shell!

Here is the entry in /boot/grub/menu.lst

title           Xen 4.1.2 / Ubuntu 10.04.4 kernel 2.6.32.40 (root=sda6)
uuid            8edf0e1b-5f9c-4ca0-8f88-77d35af87093
#root           (hd0,1)
kernel          /xen-4.1.2.gz dom0_mem=4096M,max:4096M loglvl=all guest_loglvl=all
module          /vmlinuz-2.6.32.40 dummy=dummy root=/dev/sda6 ro console=tty0 nomodeset rootdelay=50
module          /initrd.img-2.6.32.40

A section of the boot information file is provided below:

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

 => Grub0.97 is installed in the MBR of /dev/sda and looks on the same drive 
    in partition #2 for /grub/stage2 and /grub/menu.lst.

sda1: _________________________________________________________________________

    File system:       ext2
    Boot sector type:  Grub
    Boot sector info:  Grub0.97 is installed in the boot sector of sda1 and 
                       looks at sector 4462688 of the same hard drive for the 
                       stage2 file. A stage2 file is at this location on 
                       /dev/sda. Stage2 looks on partition #2 for 
                       /grub/menu.lst.
    Operating System:  
    Boot files/dirs:   

sda2: _________________________________________________________________________

    File system:       ext4
    Boot sector type:  Grub
    Boot sector info:  Grub0.97 is installed in the boot sector of sda2 and 
                       looks at sector 4462688 of the same hard drive for the 
                       stage2 file. A stage2 file is at this location on 
                       /dev/sda. Stage2 looks on partition #2 for 
                       /grub/menu.lst.
    Operating System:  
    Boot files/dirs:   /grub/menu.lst /grub/grub.cfg /grub/core.img

sda3: _________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info:  

sda5: _________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info:  

sda6: _________________________________________________________________________

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

sda7: _________________________________________________________________________

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

sda8: _________________________________________________________________________

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

sda9: _________________________________________________________________________

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

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

Drive: sda ___________________ _____________________________________________________

Disk /dev/sda: 1788.6 GB, 1788618997760 bytes
255 heads, 63 sectors/track, 217453 cylinders, total 3493396480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot         Start           End          Size  Id System

/dev/sda1               2,048         4,095         2,048  83 Linux
/dev/sda2    *          4,096    19,535,871    19,531,776  83 Linux
/dev/sda3          19,537,918 3,493,394,431 3,473,856,514   5 Extended
/dev/sda5          19,537,920    39,067,647    19,529,728  82 Linux swap / Solaris
/dev/sda6          39,069,696   136,724,479    97,654,784  83 Linux
/dev/sda7         136,726,528   234,381,311    97,654,784  83 Linux
/dev/sda8         234,383,360   332,038,143    97,654,784  83 Linux
/dev/sda9         332,040,192 3,493,394,431 3,161,354,240  83 Linux


blkid -c /dev/null: ____________________________________________________________

/dev/sda1: UUID="1dd012ba-04e8-4c89-bd25-0e9f89e991eb" TYPE="ext2" 
/dev/sda2: UUID="8edf0e1b-5f9c-4ca0-8f88-77d35af87093" TYPE="ext4" 
/dev/sda5: UUID="b5e5c40e-193c-4c6d-9068-45cc033b66a9" TYPE="swap" 
/dev/sda6: UUID="266e71af-e145-495b-b38f-2da1f444885d" TYPE="ext4" 
/dev/sda7: UUID="52f32e5d-9b43-4972-bb2e-e97133dd2c80" TYPE="ext4" 
/dev/sda8: UUID="015a40de-8f96-4c1b-8fb1-1a23575054a6" TYPE="ext4" 

=============================== "mount" output: ===============================

/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/sda2 on /boot type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

=========================== sda6/boot/grub/menu.lst: ===========================

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-legacy-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default     0
fallback    2
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout     10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title     Windows 95/98/NT/2000
# root      (hd0,0)
# makeactive
# chainloader   +1
#
# title     Linux
# root      (hd0,1)
# kernel    /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=8edf0e1b-5f9c-4ca0-8f88-77d35af87093

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
##      indomU=true
##      indomU=false
# indomU=detect

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##


title       Xen 4.1.2 / Ubuntu 10.04.4 kernel 2.6.32.40 (root=sda6)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
#root       (hd0,1)
kernel      /xen-4.1.2.gz dom0_mem=4096M,max:4096M loglvl=all guest_loglvl=all
module      /vmlinuz-2.6.32.40 dummy=dummy root=/dev/sda6 ro console=tty0 nomodeset rootdelay=50
module      /initrd.img-2.6.32.40

title       Xen 4.2.0-rc3 / Ubuntu 10.04.4 kernel 2.6.32.40 (root=sda6)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
#root       (hd0,1)
kernel      /xen-4.2.0-rc3-pre.gz dom0_mem=4096M,max:4096M loglvl=all guest_loglvl=all com1=9600,8n1 console=com1,vga
module      /vmlinuz-2.6.32.40 root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro console=tty0 console=hvc0 earlyprintk=xen nomodeset
module      /initrd.img-2.6.32.40

title       Ubuntu 10.04.4 LTS, kernel 2.6.32-42-generic (sda6)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32-42-generic root=/dev/sda6 ro quiet splash 
initrd      /initrd.img-2.6.32-42-generic

title       Ubuntu 10.04.4 LTS, kernel 2.6.32-42-generic (sda7)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32-42-generic root=/dev/sda7 ro quiet splash 
initrd      /initrd.img-2.6.32-42-generic

title       Ubuntu 10.04.4 LTS, kernel 3.1.0-rc9+
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-3.1.0-rc9+ root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro quiet splash 

title       Ubuntu 10.04.4 LTS, kernel 3.1.0-rc9+ (recovery mode)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-3.1.0-rc9+ root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro  single

title       Ubuntu 10.04.4 LTS, kernel 2.6.32.40
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32.40 root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro quiet splash 
initrd      /initrd.img-2.6.32.40

title       Ubuntu 10.04.4 LTS, kernel 2.6.32.40 (recovery mode)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32.40 root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro  single
initrd      /initrd.img-2.6.32.40


title       Ubuntu 10.04.4 LTS, kernel 2.6.32-42-generic (recovery mode)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32-42-generic root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro  single
initrd      /initrd.img-2.6.32-42-generic

title       Ubuntu 10.04.4 LTS, kernel 2.6.32-38-generic
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32-38-generic root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro quiet splash 
initrd      /initrd.img-2.6.32-38-generic

title       Ubuntu 10.04.4 LTS, kernel 2.6.32-38-generic (recovery mode)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /vmlinuz-2.6.32-38-generic root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro  single
initrd      /initrd.img-2.6.32-38-generic

title       Chainload into GRUB 2
root        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
kernel      /boot/grub/core.img

#title      Ubuntu 10.04.4 LTS, memtest86+
#uuid       8edf0e1b-5f9c-4ca0-8f88-77d35af87093
#kernel     /memtest86+.bin

### END DEBIAN AUTOMAGIC KERNELS LIST

=========================== sda6/boot/grub/grub.cfg: ===========================

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/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
  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
}
insmod ext2
set root='(hd0,6)'
search --no-floppy --fs-uuid --set 266e71af-e145-495b-b38f-2da1f444885d
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
set locale_dir=($root)/grub/locale
set lang=en
insmod gettext
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
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/08_xen ###
menuentry "Xen Unstable 4.2 RC3 / Debian Squeeze kernel 2.6.32.40" {
        insmod ext2
        set root='(hd0,4)'
        multiboot (hd0,1)/xen-4.2.0-rc3-pre.gz dummy
        module (hd0,1)/vmlinuz-2.6.32.40 dummy root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro quiet console=tty0 nomodeset rootdelay=130
        module (hd0,1)/initrd.img-2.6.32.40
}
### END /etc/grub.d/08_xen ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 3.1.0-rc9+' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
    linux   /vmlinuz-3.1.0-rc9+ root=/dev/sda6 ro   quiet splash
}
menuentry 'Ubuntu, with Linux 2.6.32.40' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
    linux   /vmlinuz-2.6.32.40 root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro   quiet splash
    initrd  /initrd.img-2.6.32.40
}
menuentry 'Ubuntu, with Linux 2.6.32-42-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
    linux   /vmlinuz-2.6.32-42-generic root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro   quiet splash
    initrd  /initrd.img-2.6.32-42-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-38-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
    linux   /vmlinuz-2.6.32-38-generic root=UUID=266e71af-e145-495b-b38f-2da1f444885d ro   quiet splash
    initrd  /initrd.img-2.6.32-38-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
    linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 8edf0e1b-5f9c-4ca0-8f88-77d35af87093
    linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### 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 ###

=============================== sda6/etc/fstab: ===============================

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' 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).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda6 during installation
UUID=266e71af-e145-495b-b38f-2da1f444885d /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda2 during installation
UUID=8edf0e1b-5f9c-4ca0-8f88-77d35af87093 /boot           ext4    defaults        0       2
# swap was on /dev/sda5 during installation
UUID=b5e5c40e-193c-4c6d-9068-45cc033b66a9 none            swap    sw              0       0

nas-1g:/export/utils/scratch    /sapmnt/scratch     nfs     defaults 0 0
nas-1g:/export/virtual_machines     /sapmnt/virtual_machines    nfs     defaults 0 0

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


  20.0GB: boot/grub/grub.cfg
  20.0GB: boot/grub/menu.lst
  20.0GB: boot/grub/stage2
  20.0GB: boot/initrd.img-2.6.32-38-generic
  20.0GB: boot/initrd.img-2.6.32.40
  20.0GB: boot/initrd.img-2.6.32-42-generic
  20.0GB: boot/vmlinuz-2.6.32-38-generic
  20.0GB: boot/vmlinuz-2.6.32.40
  20.0GB: boot/vmlinuz-2.6.32-42-generic
  20.0GB: boot/vmlinuz-3.1.0-rc9+
  20.0GB: initrd.img
  20.0GB: initrd.img.old
  20.0GB: vmlinuz
  20.0GB: vmlinuz.old

I have already attempted to use rootdelay=50 to increase the chance of detecting the root device, but have had no luck so far

share|improve this question

Why have you commented the root entry in menu.lst? Have you tried this:

title       Xen 4.1.2 / Ubuntu 10.04.4 kernel 2.6.32.40 (root=sda6)
uuid        8edf0e1b-5f9c-4ca0-8f88-77d35af87093
root       (hd0,6)
kernel      /xen-4.1.2.gz dom0_mem=4096M,max:4096M loglvl=all guest_loglvl=all
module      /vmlinuz-2.6.32.40 dummy=dummy root=/dev/sda6 ro console=tty0 nomodeset rootdelay=50
module      /initrd.img-2.6.32.40

NOTE: It's been a while since I've used the old GRUB, check that hd0,6 actually corresponds to sda6. It should since sda6 is the 2nd logical partition of your extended partition, but check anyway.


I see you also have a grub.cfg file. I assume, therefore, that you have GRUB2 installed. Does that fare any better? Will it not properly detect and configure everything if you run

$ sudo update-grub
$ sudo grub-install /dev/sda
share|improve this answer
    
I was having the same issue previously with grub2, I carried out the update-grub and everything seemed in order, but the same error occurred when booting, I haven't seen the grub-install /dev/sda command used, I will try using that and report back – TuathaDannan Aug 22 '12 at 13:58
    
@CWinchcombe update-grub generates /boot/grub/grub.cfg. You still need grub-install to write grub2 to the MBR. If not, your system will still use GRUB 0.97 as is happening. – terdon Aug 22 '12 at 14:07
    
Yeah I know that, the reason for using legacy grub was due to the fact that grub2 wasn't working correctly – TuathaDannan Aug 23 '12 at 9:22
    
Ok using grub-install didn't solve the issue, the grub entry is definitely working as it finds the xen-4.1.2.gz file, the only issue is with when it tries to find the root folder: root=/dev/sda6 /dev/sda6 is definitely the path for the root directory, standard ubuntu grub entries in the same file use the same path and work fine. I have tried using both the named path and the uuid reference to the partition, both reach the same failure point – TuathaDannan Aug 24 '12 at 10:44
    
@CWinchcombe curiouser and curiouser... So, uncommenting the root (hd0,6) on menu.lst line as per my suggestion, also has no effect? – terdon Aug 25 '12 at 14:38

You must log in to answer this question.

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