cric2
April 15th, 2015, 09:16 PM
Hello,
I'm trying to install an Ubuntu based Distro (eOS) on an USB 2.0 hard drive.
Because, my computer is a Packard Bell (imedia S1300) with Win 7, the four primary partitions are in use, so I must install Linux on another drive.
Therefore, 2 solutions are possible :
install Ubuntu on a second internal drive, which is not possible because the second SATA cable is used by the DVD drive ;
use an external drive connected on USB 2.0. I have a PCI USB 3.0 card installed, but I can't choose a drive connected to it through the BIOS. In other terms, I have to use an USB 2.0 connection to manually boot on start via the F12 key (I don't wish to install the Grub bootloader on the Win 7 drive and mess with the MBR because of the risk of an unusable PB recovery DVD).
My external drive (lets call it Ubuntu drive) has a first NTFS partition used to back-up data from my internal drive (lets call it Win 7 drive).
So that leaves 3 other primary partitions (/, SWAP and /Home).
The installation process goes through completion like a charm, until at the first boot, when F12 is pressed and my Ubuntu drive chosen, I get the Grub rescue> prompt.
So here comes the troubles.
When I type ls, I do see all the drives (hd0, hd1) and the different partitions (hd0,msdos1) to (hd0,msdos4); (hd1,msdos1) to (hd1,msdos4).
I assume hd1 is the my Ubuntu USB 2.0 drive.
Typing any ls (hdx,msdosy), with x 0 or 1 and y from 1 to 4 prompts the same error message:
Error: unknown filesystem.
I've checked several forums, there is a solution if Grub can find where the OS is installed, but in my case, each ls on a partition conducts to:
Error: unknown filesystem ! Whereas using Live CD, my partitions and data can be read with the file system...
Typing set prompts :
cmdpath=(hd0)
prefix=(hd0,msdos2)/boot/grub
root=hd0,msdos2
I did try to repair Grub using my live CD, but no changes after restart, still the Grub rescue> prompt.
This is what I have when I type sudo fdisk -l in terminal.
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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
Disk identifier: 0x48702e67
Device Boot Start End Blocks Id System
/dev/sda1 2048 35653631 17825792 27 Hidden NTFS WinRE
/dev/sda2 * 35653632 35858431 102400 7 HPFS/NTFS/exFAT
/dev/sda3 35858432 505518079 234829824 7 HPFS/NTFS/exFAT
/dev/sda4 505518080 976769023 235625472 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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
Disk identifier: 0xb31ab31a
Device Boot Start End Blocks Id System
/dev/sdb1 * 63 755584383 377792160+ 7 HPFS/NTFS/exFAT
/dev/sdb2 755585024 872771583 58593280 83 Linux
/dev/sdb3 872771584 888395775 7812096 82 Linux swap / Solaris
/dev/sdb4 888395776 976771071 44187648 83 Linux
I tried to restore Ubuntu bootloader :
sudo mkdir /media/sdb2
sudo mount /dev/sdb2 /media/sdb2
sudo grub-install --root-directory=/media/sdb2 /dev/sdb
But I still get the error message after restarting the computer.
This is also the grub.cfg file :
## 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_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
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=fr_FR
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
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/white
### 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 'elementary OS' --class elementary --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
fi
linux /boot/vmlinuz-3.16.0-34-generic root=UUID=3ff04cdf-ffab-4bc8-b5c8-13500a1963b9 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.16.0-34-generic
}
submenu 'Options avancées pour elementary OS' $menuentry_id_option 'gnulinux-advanced-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
menuentry 'elementary OS, avec Linux 3.16.0-34-generic' --class elementary --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-34-generic-advanced-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
fi
echo 'Chargement de Linux 3.16.0-34-generic…'
linux /boot/vmlinuz-3.16.0-34-generic root=UUID=3ff04cdf-ffab-4bc8-b5c8-13500a1963b9 ro quiet splash $vt_handoff
echo 'Chargement du disque mémoire initial…'
initrd /boot/initrd.img-3.16.0-34-generic
}
menuentry 'elementary OS, with Linux 3.16.0-34-generic (recovery mode)' --class elementary --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-34-generic-recovery-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
fi
echo 'Chargement de Linux 3.16.0-34-generic…'
linux /boot/vmlinuz-3.16.0-34-generic root=UUID=3ff04cdf-ffab-4bc8-b5c8-13500a1963b9 ro recovery nomodeset
echo 'Chargement du disque mémoire initial…'
initrd /boot/initrd.img-3.16.0-34-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/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### 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 ###
For the record, I installed Ubuntu connected to SATA (my Win 7 drive being disconnected) and had no troubles after the first reboot. I then connected my Win 7 drive back and used the second SATA (disconnecting the DVD drive this time) and hit F12 on startup, choosing to boot on second drive without any problems either.
But when I connect the Ubuntu drive via USB 2.0, I get back to the Grub rescue> prompt, without possibility to find the partition with installed Linux system.
Thanks in advance for your help!
I'm trying to install an Ubuntu based Distro (eOS) on an USB 2.0 hard drive.
Because, my computer is a Packard Bell (imedia S1300) with Win 7, the four primary partitions are in use, so I must install Linux on another drive.
Therefore, 2 solutions are possible :
install Ubuntu on a second internal drive, which is not possible because the second SATA cable is used by the DVD drive ;
use an external drive connected on USB 2.0. I have a PCI USB 3.0 card installed, but I can't choose a drive connected to it through the BIOS. In other terms, I have to use an USB 2.0 connection to manually boot on start via the F12 key (I don't wish to install the Grub bootloader on the Win 7 drive and mess with the MBR because of the risk of an unusable PB recovery DVD).
My external drive (lets call it Ubuntu drive) has a first NTFS partition used to back-up data from my internal drive (lets call it Win 7 drive).
So that leaves 3 other primary partitions (/, SWAP and /Home).
The installation process goes through completion like a charm, until at the first boot, when F12 is pressed and my Ubuntu drive chosen, I get the Grub rescue> prompt.
So here comes the troubles.
When I type ls, I do see all the drives (hd0, hd1) and the different partitions (hd0,msdos1) to (hd0,msdos4); (hd1,msdos1) to (hd1,msdos4).
I assume hd1 is the my Ubuntu USB 2.0 drive.
Typing any ls (hdx,msdosy), with x 0 or 1 and y from 1 to 4 prompts the same error message:
Error: unknown filesystem.
I've checked several forums, there is a solution if Grub can find where the OS is installed, but in my case, each ls on a partition conducts to:
Error: unknown filesystem ! Whereas using Live CD, my partitions and data can be read with the file system...
Typing set prompts :
cmdpath=(hd0)
prefix=(hd0,msdos2)/boot/grub
root=hd0,msdos2
I did try to repair Grub using my live CD, but no changes after restart, still the Grub rescue> prompt.
This is what I have when I type sudo fdisk -l in terminal.
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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
Disk identifier: 0x48702e67
Device Boot Start End Blocks Id System
/dev/sda1 2048 35653631 17825792 27 Hidden NTFS WinRE
/dev/sda2 * 35653632 35858431 102400 7 HPFS/NTFS/exFAT
/dev/sda3 35858432 505518079 234829824 7 HPFS/NTFS/exFAT
/dev/sda4 505518080 976769023 235625472 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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
Disk identifier: 0xb31ab31a
Device Boot Start End Blocks Id System
/dev/sdb1 * 63 755584383 377792160+ 7 HPFS/NTFS/exFAT
/dev/sdb2 755585024 872771583 58593280 83 Linux
/dev/sdb3 872771584 888395775 7812096 82 Linux swap / Solaris
/dev/sdb4 888395776 976771071 44187648 83 Linux
I tried to restore Ubuntu bootloader :
sudo mkdir /media/sdb2
sudo mount /dev/sdb2 /media/sdb2
sudo grub-install --root-directory=/media/sdb2 /dev/sdb
But I still get the error message after restarting the computer.
This is also the grub.cfg file :
## 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_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
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=fr_FR
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
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/white
### 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 'elementary OS' --class elementary --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
fi
linux /boot/vmlinuz-3.16.0-34-generic root=UUID=3ff04cdf-ffab-4bc8-b5c8-13500a1963b9 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.16.0-34-generic
}
submenu 'Options avancées pour elementary OS' $menuentry_id_option 'gnulinux-advanced-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
menuentry 'elementary OS, avec Linux 3.16.0-34-generic' --class elementary --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-34-generic-advanced-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
fi
echo 'Chargement de Linux 3.16.0-34-generic…'
linux /boot/vmlinuz-3.16.0-34-generic root=UUID=3ff04cdf-ffab-4bc8-b5c8-13500a1963b9 ro quiet splash $vt_handoff
echo 'Chargement du disque mémoire initial…'
initrd /boot/initrd.img-3.16.0-34-generic
}
menuentry 'elementary OS, with Linux 3.16.0-34-generic (recovery mode)' --class elementary --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-34-generic-recovery-3ff04cdf-ffab-4bc8-b5c8-13500a1963b9' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
else
search --no-floppy --fs-uuid --set=root 3ff04cdf-ffab-4bc8-b5c8-13500a1963b9
fi
echo 'Chargement de Linux 3.16.0-34-generic…'
linux /boot/vmlinuz-3.16.0-34-generic root=UUID=3ff04cdf-ffab-4bc8-b5c8-13500a1963b9 ro recovery nomodeset
echo 'Chargement du disque mémoire initial…'
initrd /boot/initrd.img-3.16.0-34-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/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### 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 ###
For the record, I installed Ubuntu connected to SATA (my Win 7 drive being disconnected) and had no troubles after the first reboot. I then connected my Win 7 drive back and used the second SATA (disconnecting the DVD drive this time) and hit F12 on startup, choosing to boot on second drive without any problems either.
But when I connect the Ubuntu drive via USB 2.0, I get back to the Grub rescue> prompt, without possibility to find the partition with installed Linux system.
Thanks in advance for your help!