Ubuntu on USB without BIOS support / partition unaccessible
Good morning everyone.
New here I'll try to be clear...
Having some troubleshoot with the internal HD of my laptop, I installed Ubuntu 10.10 on a usb drive (in ext4) in /dev/sdb2 - (hd1,msdos2).
The /boot is actually /dev/sda - (hd0,msdos1) formated in ext because the first 32 MB of my internal hard drive are still accessible and it avoids my to need a boot CD. Grub2 is on the mbr of the internal HD. Version 1.98 ubuntu 3.1.
However, when Grub2 boots. I have a message stating that grub2 cannot get C/H/S of partition (hd1,msdos2), which is normal since there is no BIOS support in my (old) laptop but it finally boots (or show me the menu if I press shift) without any problem since it loads the kernel and initrd from internal HD, then recognizes the USB with the kernel/module and uses it as root.
After investigation, i found that in /boot/grub/
-------
#
# 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.
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_
set 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_
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 part_msdos
insmod ext2
set root='(hd1,msdos2)'
search --no-floppy --fs-uuid --set c9083da5-
if loadfont /usr/share/
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 8812973d-
set locale_
set lang=fr
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.
### BEGIN /etc/grub.
set menu_color_
set menu_color_
### END /etc/grub.
### BEGIN /etc/grub.
ETC ETC.
-------
As you can see, after the load_video function, there is:
insmod part_msdos
insmod ext2
set root='(hd1,msdos2)'
search --no-floppy --fs-uuid --set c9083da5-
if loadfont /usr/share/
set gfxmode=640x480
load_video
insmod gfxterm
fi
which of course cannot work since the Usb HD is not accessible yet.
These lines come from the execution of 00_header:
if [ "x$gfxterm" = x1 ]; then
# Make the font accessible
prepare_
cat << EOF
if loadfont `make_system_
set gfxmode=
load_video
insmod gfxterm
fi
which uses /usr/lib/
is_path_
{
path=$1
# abort if path doesn't exist
if test -e $path ; then : ;else
return 1
fi
# abort if file is in a filesystem we can't read
if ${grub_probe} -t fs $path > /dev/null 2>&1 ; then : ; else
return 1
fi
return 0
}
It seems this function replies positively whereas the fs is not accessible at boot time.
Strange thing, the first time I installed 10.10 it was working but after a while & reinstalling not anymore...
May be the gfx sceen was disabled for some reason so it did not execute this part of the code. I don't see any option and anyway that would just be a workaround.
I tried using --root-
Any idea of how to specify the system some disk is not available at boot time before the kernel ?
And why is just unicode.pf2 copied in /boot/grub ?
Solved in natty ?
Thanks in advance, If we can fix all these little stuff, the system will be perfect !
Bye
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Ubuntu grub2 Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- delance
- Solved:
- Last query:
- Last reply: