Friday 21 June 2019

linux - What's wrong with this GRUB setup?

I have two hard disks. The first one contains both Windows and Ubuntu installations, but the first MBR boots to Windows and the second MBR boots, in theory, to Ubuntu. This worked fine until recently.


I zeroed my MBR on sdb then repaired it with TestDisk. The partitions and data all seem fine. After this, when booting from sdb I got this on the screen and nothing else.


1234F:

I got into the Ubuntu environment and ran


sudo grub-install /dev/sdb

No change. I ran


sudo grub-install --recheck /dev/sdb

Now it boots to a screen which says simply


GRUB _

and goes no further.


I ran this boot info script, here is the output:


                  Boot Info Script 0.61      [1 April 2012]


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

=> Windows is installed in the MBR of /dev/sda.
=> Grub Legacy0.97 is installed in the MBR of /dev/sdb and looks at sector
74500216 on boot drive #1 for the stage2 file. A stage2 file is at this
location on /dev/sda. Stage2 looks on partition #5 for
/boot/grub/menu.lst..

sda1: __________________________________________________________________________

File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files:

sda2: __________________________________________________________________________

File system: vfat
Boot sector type: Unknown
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /efi/Boot/bootx64.efi /efi/ubuntu/grubx64.efi
/efi/ubuntu/MokManager.efi /efi/ubuntu/shimx64.efi

sda3: __________________________________________________________________________

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

sda4: __________________________________________________________________________

File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /bootmgr /Windows/System32/winload.exe

sda5: __________________________________________________________________________

File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Ubuntu 14.10
Boot files: /boot/grub/grub.cfg /etc/fstab

sda6: __________________________________________________________________________

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

sda7: __________________________________________________________________________

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

sdb1: __________________________________________________________________________

File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files:

sdb2: __________________________________________________________________________

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

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

Drive: sda _____________________________________________________________________

Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Partition Boot Start Sector End Sector # of Sectors Id System

/dev/sda1 1 250,069,679 250,069,679 ee GPT


GUID Partition Table detected.

Partition Start Sector End Sector # of Sectors System
/dev/sda1 2,048 616,447 614,400 Windows Recovery Environment (Windows)
/dev/sda2 616,448 819,199 202,752 EFI System partition
/dev/sda3 819,200 1,081,343 262,144 Microsoft Reserved Partition (Windows)
/dev/sda4 1,081,344 69,440,718 68,359,375 Data partition (Windows/Linux)
/dev/sda5 69,441,536 98,738,175 29,296,640 Data partition (Windows/Linux)
/dev/sda6 98,738,176 100,691,967 1,953,792 Swap partition (Linux)
/dev/sda7 100,691,968 250,068,991 149,377,024 Data partition (Windows/Linux)

Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Partition Boot Start Sector End Sector # of Sectors Id System

/dev/sdb1 1 976,773,167 976,773,167 ee GPT


GUID Partition Table detected.

Partition Start Sector End Sector # of Sectors System
/dev/sdb1 10,240 195,311,615 195,301,376 Data partition (Windows/Linux)
/dev/sdb2 195,311,616 976,773,119 781,461,504 Data partition (Windows/Linux)

"blkid" output: ________________________________________________________________

Device UUID TYPE LABEL

/dev/sda1 B0EA1359EA131B64 ntfs Recovery
/dev/sda2 C814-23EC vfat
/dev/sda3
/dev/sda4 6A1016BD10169065 ntfs
/dev/sda5 78cc8ade-c36b-4014-b646-5bac48afc5e4 ext4
/dev/sda6
/dev/sda7 86e26b30-af5a-47a9-a57d-cddf785e1979 ext4
/dev/sdb1 5DC0908E72D3BB2A ntfs
/dev/sdb2 760630a7-223f-42e4-aecf-de92e32f12b9 ext4

================================ Mount points: =================================

Device Mount_Point Type Options

/dev/sda2 /boot/efi vfat (rw)
/dev/sda5 / ext4 (rw,errors=remount-ro)
/dev/sda7 /home ext4 (rw)
/dev/sdb1 /windows fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb2 /store ext4 (rw)


=========================== sda5/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# 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
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

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 {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 78cc8ade-c36b-4014-b646-5bac48afc5e4
else
search --no-floppy --fs-uuid --set=root 78cc8ade-c36b-4014-b646-5bac48afc5e4
fi
font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=10
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=10
fi
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
#set_background_image "images/tile.png";

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 0,0,0; then
clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; 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=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-78cc8ade-c36b-4014-b646-5bac48afc5e4' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 78cc8ade-c36b-4014-b646-5bac48afc5e4
else
search --no-floppy --fs-uuid --set=root 78cc8ade-c36b-4014-b646-5bac48afc5e4
fi
linux /boot/vmlinuz-3.16.0-24-generic.efi.signed root=UUID=78cc8ade-c36b-4014-b646-5bac48afc5e4 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.16.0-24-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-78cc8ade-c36b-4014-b646-5bac48afc5e4' {
menuentry 'Ubuntu, with Linux 3.16.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-24-generic-advanced-78cc8ade-c36b-4014-b646-5bac48afc5e4' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 78cc8ade-c36b-4014-b646-5bac48afc5e4
else
search --no-floppy --fs-uuid --set=root 78cc8ade-c36b-4014-b646-5bac48afc5e4
fi
echo 'Loading Linux 3.16.0-24-generic ...'
linux /boot/vmlinuz-3.16.0-24-generic.efi.signed root=UUID=78cc8ade-c36b-4014-b646-5bac48afc5e4 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-24-generic
}
menuentry 'Ubuntu, with Linux 3.16.0-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-24-generic-recovery-78cc8ade-c36b-4014-b646-5bac48afc5e4' {
recordfail
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 78cc8ade-c36b-4014-b646-5bac48afc5e4
else
search --no-floppy --fs-uuid --set=root 78cc8ade-c36b-4014-b646-5bac48afc5e4
fi
echo 'Loading Linux 3.16.0-24-generic ...'
linux /boot/vmlinuz-3.16.0-24-generic.efi.signed root=UUID=78cc8ade-c36b-4014-b646-5bac48afc5e4 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-24-generic
}
menuentry 'Ubuntu, with Linux 3.16.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-23-generic-advanced-78cc8ade-c36b-4014-b646-5bac48afc5e4' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 78cc8ade-c36b-4014-b646-5bac48afc5e4
else
search --no-floppy --fs-uuid --set=root 78cc8ade-c36b-4014-b646-5bac48afc5e4
fi
echo 'Loading Linux 3.16.0-23-generic ...'
linux /boot/vmlinuz-3.16.0-23-generic root=UUID=78cc8ade-c36b-4014-b646-5bac48afc5e4 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-23-generic
}
menuentry 'Ubuntu, with Linux 3.16.0-23-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-23-generic-recovery-78cc8ade-c36b-4014-b646-5bac48afc5e4' {
recordfail
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 78cc8ade-c36b-4014-b646-5bac48afc5e4
else
search --no-floppy --fs-uuid --set=root 78cc8ade-c36b-4014-b646-5bac48afc5e4
fi
echo 'Loading Linux 3.16.0-23-generic ...'
linux /boot/vmlinuz-3.16.0-23-generic root=UUID=78cc8ade-c36b-4014-b646-5bac48afc5e4 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-23-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+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-C814-23EC' {
insmod part_gpt
insmod fat
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 C814-23EC
else
search --no-floppy --fs-uuid --set=root C814-23EC
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### 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 ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=============================== sda5/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' 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).
#
#
# / was on /dev/sda5 during installation
UUID=78cc8ade-c36b-4014-b646-5bac48afc5e4 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda2 during installation
UUID=C814-23EC /boot/efi vfat defaults 0 1
# /home was on /dev/sda7 during installation
UUID=86e26b30-af5a-47a9-a57d-cddf785e1979 /home ext4 defaults 0 2
# /store was on /dev/sdb3 during installation
UUID=760630a7-223f-42e4-aecf-de92e32f12b9 /store ext4 defaults 0 2
# /windows was on /dev/sdb2 during installation
UUID=5DC0908E72D3BB2A /windows ntfs defaults,umask=007,gid=46 0 0
# swap was on /dev/sda6 during installation
#UUID=cbb28490-4a70-45a0-982f-894bd526a139 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
--------------------------------------------------------------------------------

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

GiB - GB File Fragment(s)


======================== Unknown MBRs/Boot Sectors/etc: ========================

Unknown BootLoader on sda2

00000000 eb 58 90 4d 53 44 4f 53 35 2e 30 00 02 02 0e 1a |.X.MSDOS5.0.....|
00000010 02 00 00 00 00 f8 00 00 3f 00 ff 00 00 68 09 00 |........?....h..|
00000020 00 18 03 00 f9 02 00 00 00 00 00 00 02 00 00 00 |................|
00000030 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 80 01 29 ec 23 14 c8 4e 4f 20 4e 41 4d 45 20 20 |..).#..NO NAME |
00000050 20 20 46 41 54 33 32 20 20 20 33 c9 8e d1 bc f4 | FAT32 3.....|
00000060 7b 8e c1 8e d9 bd 00 7c 88 56 40 88 4e 02 8a 56 |{......|.V@.N..V|
00000070 40 b4 41 bb aa 55 cd 13 72 10 81 fb 55 aa 75 0a |@.A..U..r...U.u.|
00000080 f6 c1 01 74 05 fe 46 02 eb 2d 8a 56 40 b4 08 cd |...t..F..-.V@...|
00000090 13 73 05 b9 ff ff 8a f1 66 0f b6 c6 40 66 0f b6 |.s......f...@f..|
000000a0 d1 80 e2 3f f7 e2 86 cd c0 ed 06 41 66 0f b7 c9 |...?.......Af...|
000000b0 66 f7 e1 66 89 46 f8 83 7e 16 00 75 39 83 7e 2a |f..f.F..~..u9.~*|
000000c0 00 77 33 66 8b 46 1c 66 83 c0 0c bb 00 80 b9 01 |.w3f.F.f........|
000000d0 00 e8 2c 00 e9 a8 03 a1 f8 7d 80 c4 7c 8b f0 ac |..,......}..|...|
000000e0 84 c0 74 17 3c ff 74 09 b4 0e bb 07 00 cd 10 eb |..t.<.t.........|
000000f0 ee a1 fa 7d eb e4 a1 7d 80 eb df 98 cd 16 cd 19 |...}...}........|
00000100 66 60 80 7e 02 00 0f 84 20 00 66 6a 00 66 50 06 |f`.~.... .fj.fP.|
00000110 53 66 68 10 00 01 00 b4 42 8a 56 40 8b f4 cd 13 |Sfh.....B.V@....|
00000120 66 58 66 58 66 58 66 58 eb 33 66 3b 46 f8 72 03 |fXfXfXfX.3f;F.r.|
00000130 f9 eb 2a 66 33 d2 66 0f b7 4e 18 66 f7 f1 fe c2 |..*f3.f..N.f....|
00000140 8a ca 66 8b d0 66 c1 ea 10 f7 76 1a 86 d6 8a 56 |..f..f....v....V|
00000150 40 8a e8 c0 e4 06 0a cc b8 01 02 cd 13 66 61 0f |@............fa.|
00000160 82 74 ff 81 c3 00 02 66 40 49 75 94 c3 42 4f 4f |.t.....f@Iu..BOO|
00000170 54 4d 47 52 20 20 20 20 00 00 00 00 00 00 00 00 |TMGR ........|
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001a0 00 00 00 00 00 00 00 00 00 00 00 00 0d 0a 44 69 |..............Di|
000001b0 73 6b 20 65 72 72 6f 72 ff 0d 0a 50 72 65 73 73 |sk error...Press|
000001c0 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 73 74 | any key to rest|
000001d0 61 72 74 0d 0a 00 00 00 00 00 00 00 00 00 00 00 |art.............|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 00 00 ac 01 b9 01 00 00 55 aa |..............U.|
00000200


=============================== StdErr Messages: ===============================

cat: /tmp/BootInfo-h8SEFDlK/Tmp_Log: No such file or directory

I draw your attention to this extract:


 => Windows is installed in the MBR of /dev/sda.
=> Grub Legacy0.97 is installed in the MBR of /dev/sdb and looks at sector
74500216 on boot drive #1 for the stage2 file. A stage2 file is at this
location on /dev/sda. Stage2 looks on partition #5 for
/boot/grub/menu.lst..

This looks to be exactly correct, booting from sdb should load Ubuntu's root from sda5.


So GRUB is installed and is looking in the right place, but nothing boots. What could be wrong? Thanks.

No comments:

Post a Comment

How can I VLOOKUP in multiple Excel documents?

I am trying to VLOOKUP reference data with around 400 seperate Excel files. Is it possible to do this in a quick way rather than doing it m...