PDA

View Full Version : [ubuntu] GRUB2 doesn't boot after clonning



raul.ya
December 7th, 2010, 12:26 PM
I'm installing Ubuntu server 10.04 LTS in several machines with identical hardware using clonezilla.
Every thing is ok except than wen starting a cloned machine, grub waits the user to make a selection to boot from.
The hard disk has 3 partition:

Device Boot Start End Blocks Id System
/dev/sda1 * 1 14 112423+ 83 Linux
/dev/sda2 15 1059 8393962+ 82 Linux swap / Solaris
/dev/sda3 1060 121601 968253615 8e Linux LVM

boot is mounted in /dev/sda1

home and root folders are mounted in both filesystems over /dev/sda3 witch is a LVM volumen

ls /dev/mapper/
control vol0-home vol0-root

Do any body know how to do to start automaticaly? Thanks

This is the content of grub configuration file (/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 lvm
insmod ext2
set root='(vol0-root)'
search --no-floppy --fs-uuid --set c048c15b-78eb-4f80-a03d-9baada7f35cf
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,1)'
search --no-floppy --fs-uuid --set 9abdac4f-9f52-45e3-ab1d-810472e48e36
set locale_dir=($root)/grub/locale
set lang=C.UTF-8
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/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-24-server' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 9abdac4f-9f52-45e3-ab1d-810472e48e36
linux /vmlinuz-2.6.32-24-server root=/dev/mapper/vol0-root ro quiet
initrd /initrd.img-2.6.32-24-server
}
menuentry 'Ubuntu, with Linux 2.6.32-24-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 9abdac4f-9f52-45e3-ab1d-810472e48e36
echo 'Loading Linux 2.6.32-24-server ...'
linux /vmlinuz-2.6.32-24-server root=/dev/mapper/vol0-root ro single
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.32-24-server
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 9abdac4f-9f52-45e3-ab1d-810472e48e36
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 9abdac4f-9f52-45e3-ab1d-810472e48e36
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ ${timeout} != -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 ###

Quackers
December 7th, 2010, 01:45 PM
What choices are on offer?

raul.ya
December 7th, 2010, 02:43 PM
Sorry? I don't understand your quiestion...

dandnsmith
December 7th, 2010, 04:58 PM
Assuming you cloned the whole HDD,
then, if the original works OK, you need to look at the UUIDs of the filesystems to see if they are different on the copies.

If different, you've found it, and can either change the copy UUIDs or change the UUID sought in grub.cfg

blkid /dev/sda* will get you a partition list with the information about uuid included.

Quackers
December 7th, 2010, 04:58 PM
From your first post
"Every thing is ok except than wen starting a cloned machine, grub waits the user to make a selection to boot from"

What options are there to choose from?

raul.ya
December 9th, 2010, 08:31 PM
I've found the solution, it's very simple:

Select the first menu entry by pressing enter or starting up from a live CD.

And then do in this order:

1) grub-mkconfig

2) grub-install /dev/sda

3) reboot

The grub.conf is generated acording to the correct UUID.

That's all

Thanks to every body that answered.