PDA

View Full Version : [ubuntu] Stuck at grub rescue after 10.04 install with XP



waltg
November 3rd, 2010, 01:10 AM
Hi, I have an old Sony Viao PCG-GRZ615m laptop on which I have recently upgraded memory to 1G and a new 160GB hard drive.
I recently installed Windows XP Home edition with all latest Service Packs and windows updates and it has been running fine with no problems.
I have just installed Ubuntu LTS 10.04 which appeared to install ok however on rebooting the laptop sticks at the prompt "grub rescue>" and I can go no further.

When running the install I went with all the standard options presented to me and let Ubuntu decide the partition sizes (82GB windows and 75GB ubuntu).

On running the Live CD mode I can view both Windows and Ubuntu files on the appropriate partitions and access web etc.

I have run the boot_info_script_055.sh and the results are below....

Hope someone can help as I have 10.04 dual booting on 2 desktops at home and want to use it on my laptop too!!

I'm not a techie but am ready to have a go - there are no vital files on my install

Cheers

:confused:


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

=> Grub 2 is installed in the MBR of /dev/sda and looks on the same drive in
partition #5 for /boot/grub.

sda1: __________________________________________________ _______________________

File system: ntfs
Boot sector type: Windows XP
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows XP
Boot files/dirs: /boot.ini /ntldr /NTDETECT.COM

sda2: __________________________________________________ _______________________

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

sda5: __________________________________________________ _______________________

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

sda6: __________________________________________________ _______________________

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

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

Drive: sda ___________________ __________________________________________________ ___

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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 * 63 160,077,919 160,077,857 7 HPFS/NTFS
/dev/sda2 160,079,870 312,580,095 152,500,226 5 Extended
/dev/sda5 160,079,872 306,573,311 146,493,440 83 Linux
/dev/sda6 306,575,360 312,580,095 6,004,736 82 Linux swap / Solaris


blkid -c /dev/null: __________________________________________________ __________

Device UUID TYPE LABEL

/dev/loop0 squashfs
/dev/sda1 BA64D24F64D20DCF ntfs
/dev/sda2: PTTYPE="dos"
/dev/sda5 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ext4
/dev/sda6 24d95ef1-14f0-4d56-bb12-787090be4b24 swap
/dev/sda: PTTYPE="dos"
error: /dev/sdb: No medium found

============================ "mount | grep ^/dev output: ===========================

Device Mount_Point Type Options

aufs / aufs (rw)
/dev/sr0 /cdrom iso9660 (ro,noatime)
/dev/loop0 /rofs squashfs (ro,noatime)
/dev/sda1 /media/BA64D24F64D20DCF fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_ permissions)
/dev/sda5 /media/7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ext4 (rw,nosuid,nodev,uhelper=udisks)


================================ sda1/boot.ini: ================================

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn

=========================== sda5/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,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
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,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
set locale_dir=($root)/boot/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/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
echo 'Loading Linux 2.6.32-21-generic ...'
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set ba64d24f64d20dcf
drivemap -s (hd0) ${root}
chainloader +1
}
### 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 ###

=============================== sda5/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/sda5 during installation
UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda6 during installation
UUID=24d95ef1-14f0-4d56-bb12-787090be4b24 none swap sw 0 0
/dev/sdb /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

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


150.8GB: boot/grub/core.img
114.3GB: boot/grub/grub.cfg
150.8GB: boot/initrd.img-2.6.32-21-generic
150.8GB: boot/vmlinuz-2.6.32-21-generic
150.8GB: initrd.img
150.8GB: vmlinuz
=======Devices which don't seem to have a corresponding hard drive==============

sdb

drs305
November 3rd, 2010, 01:21 AM
You say you have an 'old' Viao. You might want to check the BIOS to see if there is a setting for accessing 'large drives'. I don't know how long ago the changeover occurred, but there was a 137GB limitation at one time. It's possible your BIOS isn't letting your system see all the boot files.

You might want to review this link, which might provide a way to fix your problem:
Grub Rescue Prompt Megathread (http://ubuntuforums.org/showthread.php?t=1594052)
Post any questions you have about it here since you have already posted your RESULTS.txt

You might also change your fstab options for / to "errors=remount-ro 0 1". The options you have don't seem normal to me. You can change them by mounting sda5 from the LiveCD and then editing it as root.

garvinrick4
November 3rd, 2010, 01:43 AM
The megathread says to try to reinstall first. I will give you code.
Insert live cd (ubuntu install cd and choose Try Ubuntu)
Open a terminal and copy and paste these. Applications to Accessories to terminal:

sudo mkdir /media/root
sudo mount /dev/sda5 /media/root
sudo grub-install --recheck --root-directory=/media/root /dev/sda
sudo umount /media/rootYou have:
Made a directory
Mounted install
Installed grub into mbr (master boot record) of sda looking in sda5 for grub
Unmounted install (umount is right)
Now reboot and hopefully it will boot: choose Ubuntu and in a terminal

sudo update-grub

waltg
November 3rd, 2010, 08:17 PM
Thanks to both who responded so quickly!

Thanks DRS305 - you are correct, the bios on my VAIO is old (December 2002) and I will look into getting this updated soon. My 160GB drive shows up as somewhat less on the Ubuntu install (bios sees it as 137439 MB) and I'm sure this is probably at the root of my problem.

Thanks too to garvinrick4 - I followed your instructions and they worked perfectly. Grub now works properly and I can select between Ubuntu and Windows on boot :KS (I did have a small problem on re-installing as Ubuntu tried to install another copy alongside the one previously installed).

Thanks again to both of you for the help - much appreciated!!

drs305
November 4th, 2010, 05:35 PM
waltg,

Would you mind rerunning the boot info script and posting a new results.txt? You can just attach it to a post if you'd like.

I know you have fixed your Grub2. I'm curious as to what the grub-install did. Your disk size of 137GB could be the BIOS limitation but it could be due to other things as well. I'm curious where core.img and boot files ended up. As far as I know the grub-install writes to the MBR but does not move files on the drive/partition around. The new results.txt should tell me more about how G2 works.

Thank you.

waltg
November 5th, 2010, 12:36 AM
I ran another copy of boot_info_script055.sh and produced the following Results file with similar format and info to my original...


Boot Info Script 0.55 dated February 15th, 2010

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

=> Grub 2 is installed in the MBR of /dev/sda and looks on the same drive in
partition #5 for /boot/grub.

sda1: __________________________________________________ _______________________

File system: ntfs
Boot sector type: Windows XP
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows XP
Boot files/dirs: /boot.ini /ntldr /NTDETECT.COM

sda2: __________________________________________________ _______________________

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

sda5: __________________________________________________ _______________________

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

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

Drive: sda ___________________ __________________________________________________ ___

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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 * 63 160,077,919 160,077,857 7 HPFS/NTFS
/dev/sda2 160,079,870 312,580,095 152,500,226 5 Extended
/dev/sda5 160,079,872 233,977,399 73,897,528 83 Linux


blkid -c /dev/null: __________________________________________________ __________

Device UUID TYPE LABEL

/dev/sda1 BA64D24F64D20DCF ntfs
/dev/sda2: PTTYPE="dos"
/dev/sda5 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ext4
/dev/sda: PTTYPE="dos"
error: /dev/sdb: No medium found

============================ "mount | grep ^/dev output: ===========================

Device Mount_Point Type Options

/dev/sda5 / ext4 (rw,errors=remount-ro)


================================ sda1/boot.ini: ================================

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn

=========================== sda5/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,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
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,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
set locale_dir=($root)/boot/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/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-25-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux /boot/vmlinuz-2.6.32-25-generic root=UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ro quiet splash
initrd /boot/initrd.img-2.6.32-25-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-25-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
echo 'Loading Linux 2.6.32-25-generic ...'
linux /boot/vmlinuz-2.6.32-25-generic root=UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-25-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
echo 'Loading Linux 2.6.32-21-generic ...'
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 7fd9c65c-9b99-4fde-8e8c-d2e506e611c2
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set ba64d24f64d20dcf
drivemap -s (hd0) ${root}
chainloader +1
}
### 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 ###

=============================== sda5/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/sda5 during installation
UUID=7fd9c65c-9b99-4fde-8e8c-d2e506e611c2 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda6 during installation
UUID=24d95ef1-14f0-4d56-bb12-787090be4b24 none swap sw 0 0
/dev/sdb /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

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


82.1GB: boot/grub/core.img
114.5GB: boot/grub/grub.cfg
83.9GB: boot/initrd.img-2.6.32-21-generic
84.8GB: boot/initrd.img-2.6.32-25-generic
83.9GB: boot/vmlinuz-2.6.32-21-generic
84.1GB: boot/vmlinuz-2.6.32-25-generic
84.8GB: initrd.img
83.9GB: initrd.img.old
84.1GB: vmlinuz
83.9GB: vmlinuz.old
=======Devices which don't seem to have a corresponding hard drive==============

sdb

drs305
November 5th, 2010, 12:48 AM
Thank you waltg,

Your new results.txt reveals the solution. You posted:

My 160GB drive shows up as somewhat less on the Ubuntu install (bios sees it as 137439 MB) and I'm sure this is probably at the root of my problem.

In your first RESULTS.txt:


150.8GB: boot/grub/core.img
114.3GB: boot/grub/grub.cfg
150.8GB: boot/initrd.img-2.6.32-21-generic
150.8GB: boot/vmlinuz-2.6.32-21-generic
150.8GB: initrd.img
150.8GB: vmlinuz


In your second, after reinstalling Grub2, notice the files are all now within the first 137GB:


82.1GB: boot/grub/core.img
114.5GB: boot/grub/grub.cfg
83.9GB: boot/initrd.img-2.6.32-21-generic
84.8GB: boot/initrd.img-2.6.32-25-generic
83.9GB: boot/vmlinuz-2.6.32-21-generic
84.1GB: boot/vmlinuz-2.6.32-25-generic
84.8GB: initrd.img
83.9GB: initrd.img.old
84.1GB: vmlinuz
83.9GB: vmlinuz.old

I suspect Grub2 simply could not find the files outside the first 137GB of the drive until you reinstalled it. Why the original install didn't act the same way I don't know.

Note: As admin I combined your last two posts and added the 'code' tags for formatting purposes. Hope you don't mind.

waltg
November 6th, 2010, 09:42 PM
FYI the second install didn't complete and threw up an error - sorry I cant remember what it was. I then had to re-boot into the live cd and follow your instructions for installing grub into mbr and that sorted my problem.

I guess the install has been confused by the disk being physically larger than what the BIOS thinks. Maybe the install gets the disk size directly from the hard disk but the BIOS restricts the amount that can actually be accessed?
Cheers

drs305
November 6th, 2010, 10:03 PM
Maybe the install gets the disk size directly from the hard disk but the BIOS restricts the amount that can actually be accessed?

I haven't researched it yet but that would be a good guess. Otherwise Grub2 wouldn't install beyond the 137GB limitation in the first place, although it seems to be able to do just that. Possibly yet another instance of the power of Linux ;-)