Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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
add comment

1 Answer

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 –  CWinchcombe 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 –  CWinchcombe 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 –  CWinchcombe 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
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.