PDA

View Full Version : [SOLVED] Grub not booting Ubuntu



Stuart O'mahony
April 6th, 2011, 08:36 PM
So I installed Ubuntu (11.04 64-bit beta) to share w/ my SimplyMepis partition, following this scheme:

/dev/sda1 (/) (ext4, bootloader installed)
/dev/sda8 (swap)
/dev/sda9 /home (ext4)

Now when I boot up, GRUB will show a new entry (Linux), but when selected will bring up the standard 'not found' message.

There is something wrong with the grub entry?


title linux
root (hd0,0)
kernel /boot/vmlinuz BOOT_IMAGE=linux root=UUID=4590b4b8-5a9b-4477-b437-50a933cc1d94 resume=UUID=97d7823d-6255-400b-86c8-1f1df8705223 splash=silent vga=788 nomodeset nouveau.modeset=0
initrd (hd0,0)/boot/initrd.img

I'm using the old style grub that SimplyMepis installed in the MBR if that helps. Or maybe some issue in my using ext4?

Thanks in advance.

Dutch70
April 6th, 2011, 08:46 PM
Ubuntu uses Grub2
https://help.ubuntu.com/community/Grub2#Reinstalling%20from%20LiveCD (https://help.ubuntu.com/community/Grub2#Reinstalling%20from%20LiveCD)

Run this command in a terminal and post the contents of gedit.

sudo gedit /boot/grub/grub.cfg

Stuart O'mahony
April 6th, 2011, 08:57 PM
This is the contents on /dev/sda1:


#
# 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='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root b3c0332f-7434-44bc-9215-6afbfbe98411
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root b3c0332f-7434-44bc-9215-6afbfbe98411
set locale_dir=($root)/boot/grub/locale
set lang=en_GB
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
if background_color 44,0,30; then
clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
set matches_file=${prefix}/gfxblacklist.txt
set class_match=3
if lua ${prefix}/hwmatch.lua; 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=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 2.6.38-7-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root b3c0332f-7434-44bc-9215-6afbfbe98411
linux /boot/vmlinuz-2.6.38-7-generic root=UUID=b3c0332f-7434-44bc-9215-6afbfbe98411 ro quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-7-generic
}
menuentry 'Ubuntu, with Linux 2.6.38-7-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root b3c0332f-7434-44bc-9215-6afbfbe98411
echo 'Loading Linux 2.6.38-7-generic ...'
linux /boot/vmlinuz-2.6.38-7-generic root=UUID=b3c0332f-7434-44bc-9215-6afbfbe98411 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.38-7-generic
}
### 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='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root b3c0332f-7434-44bc-9215-6afbfbe98411
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root b3c0332f-7434-44bc-9215-6afbfbe98411
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "MEPIS at sda7, newest kernel (on /dev/sda7)" --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos7)'
search --no-floppy --fs-uuid --set=root 5b60bf7c-d77d-4617-9fd5-d4e0c9abd948
linux /boot/vmlinuz root=/dev/sda7 nomce quiet splash vga=789 nomodeset nouveau.modeset=0
initrd /boot/initrd.img
}
menuentry "MEPIS at sda7, kernel 2.6.32-1-mepis64-smp (on /dev/sda7)" --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos7)'
search --no-floppy --fs-uuid --set=root 5b60bf7c-d77d-4617-9fd5-d4e0c9abd948
linux /boot/vmlinuz-2.6.32-1-mepis64-smp root=/dev/sda7 nomce quiet splash vga=789 nomodeset nouveau.modeset=0
initrd /boot/initrd.img-2.6.32-1-mepis64-smp
}
menuentry "linux (on /dev/sda7)" --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos7)'
search --no-floppy --fs-uuid --set=root 5b60bf7c-d77d-4617-9fd5-d4e0c9abd948
linux /boot/vmlinuz BOOT_IMAGE=linux root=UUID=4590b4b8-5a9b-4477-b437-50a933cc1d94 resume=UUID=97d7823d-6255-400b-86c8-1f1df8705223 splash=silent vga=788 nomodeset nouveau.modeset=0
initrd (hd0,0)/boot/initrd.img
}
menuentry "MEMTEST (on /dev/sda7)" --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos7)'
search --no-floppy --fs-uuid --set=root 5b60bf7c-d77d-4617-9fd5-d4e0c9abd948
linux /boot/memtest86+.bin
}
### 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 ###

oldfred
April 6th, 2011, 10:02 PM
Not sure about SimplyMepis and its old grub legacy. Grub 0.97 has not been maintained for years and each distribution makes minor tweaks to accommodate changes. Ubuntu with 9.04 updated its old grub to allow use of ext4, but many other distributions did not.

I like grub2 but it is a change. I somewhat resisted in the beginning as I had several installs and was chain loading between them. Grub2 does not like to install to a partition, so it does not really support chainloading, but does find other installs really well so chainloading is not really required.

Stuart O'mahony
April 6th, 2011, 10:44 PM
Oh, so from what you say it could be that the grub i've installed doesn't like the ext4 file extension, but were it to, would boot up grub 2 which in turn would boot Ubuntu... is that what's going on here?

So either I re-install ubuntu using ext2, or install a newer ext4-compliant version of legacy grub?

I've yet to use grub 2. As I got the old grub interface, I guess the grub 2 install was made to the partition, and not the MBR then?

oldfred
April 6th, 2011, 10:53 PM
You would not have to go to ext2, but can use ext3, just not ext4 unless their grub has been modified.

This was my old entry for Ubuntu's grub legacy. You would have to update with correct kernels versions, partitions & UUIDs. It seems a lot different than the one you have. Your are missing kernel versions. Ubuntu does have links in / that you can use to boot without kernel version.

title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd1,0)
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=f9b2a783-78ba-4437-9bc5-9d8cfa86ff0c ro quiet splash
initrd /boot/initrd.img-2.6.28-11-generic
quiet

boot stanza to use links in root:
title Most Current Ubuntu on sdc5
root (hd2,4)
linux /vmlinuz root=/dev/sdc5 ro quiet splash
initrd /initrd.img


I like grub2 now. You can just use Ubuntu's liveCD to install grub2 to the MBR and after booting into Ubuntu run this and it will find you other install:
sudo update-grub

https://help.ubuntu.com/community/Grub2#Reinstalling%20from%20LiveCD

Stuart O'mahony
April 7th, 2011, 08:30 PM
Just tried method 1, mounting /dev/sda1 (/), + /dev/sda9 (/home) first, and got this message:


ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt /dev/sda1
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: error: will not proceed with blocklists.

Not sure I know exactly what the problem is...

And proceeding this:


ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 250.1 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 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: 0x000b7a92

Device Boot Start End Blocks Id System
/dev/sda1 * 1 736 5907456 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 736 30401 238286529+ 5 Extended
/dev/sda5 1569 2077 4088511 82 Linux swap / Solaris
/dev/sda6 2078 28868 215198676 83 Linux
/dev/sda7 28869 30401 12313791 83 Linux
/dev/sda8 736 858 975872 82 Linux swap / Solaris
/dev/sda9 858 1568 5707776 83 Linux

Partition table entries are not in disk order

Disk /dev/sdb: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 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: 0x33b3d497

Device Boot Start End Blocks Id System
/dev/sdb1 1 12161 97683201 c W95 FAT32 (LBA)
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
ubuntu@ubuntu:~$ ls /mnt/
bin dev initrd.img lost+found opt sbin sys var
boot etc lib media proc selinux tmp vmlinuz
cdrom home lib64 mnt root srv usr
ubuntu@ubuntu:~$ sudo mount /dev/sda9 /mnt/home
ubuntu@ubuntu:~$ ls /mnt/
bin dev initrd.img lost+found opt sbin sys var
boot etc lib media proc selinux tmp vmlinuz
cdrom home lib64 mnt root srv usr
ubuntu@ubuntu:~$ ls /mnt/home/
buildd lost+found stuart
ubuntu@ubuntu:~$ ls /mnt/home/stuart/
examples.desktop

Stuart O'mahony
April 7th, 2011, 09:18 PM
Oops! My bad. I marked the the first partition, and not the disk.

LostFarmer
April 7th, 2011, 09:44 PM
Just to let you know Mepis 8.5 gurb legacy does support ext4 and will boot Ubuntu. That is what I have. Both Mepis and Ubuntu is on ext4 file systems. I have menu.lst booting Ubuntu's kernel and intrd.

I do not know if legacy will work with "kernel /boot/vmlinuz BOOT_IMAGE=linux " or if that is the correct way for what ever you are doing.

Stuart O'mahony
April 7th, 2011, 10:25 PM
I'm in!

Method 1 of that guide worked out for me oldfred, and I didn't need to run sudo update-grub, the entries for SimplyMepis were already present - thankyou.

Thanks for confirming compatibility, LostFarmer, at least I know now.

Dutch70
April 7th, 2011, 10:30 PM
Nice!!! Glad to see you got it worked out.

I have Mepis downloaded, think I'll give it a try from live cd/usb.

riveravaldez
October 16th, 2012, 03:13 AM
I found a smart trick overthere, http://saleem-khan.blogspot.com.ar/2011/05/how-to-multi-boot-with-grub-legacy.html

It worked for me, and I think it should work for everybody :)