[SOLVED] Can't boot on to newly installed Artix on SSD. Stuck at GRUB prompt
Hello guys.
I recently got a new SSD to give my old laptop a second life. I have been running Arch on it for a couple of years, but not so long ago I heard about Artix and decided to give it chance. So I began installing the OS on my new SSD, I connected it via USB to my laptop and installed everything from my already functioning Arch OS (I just needed to change the mirrors and some other things to get the necessary packages for the actual installation and the artools-chroot command). The process went without problems of any kind. Finally I rebooted my laptop to change the BIOS boot setting so the pc booted from the external SSD. To my surprise I didn't need to change anything and not even select the boot device, it directly launched GRUB with Artix as an option. Seeing this I decided to leave the rest of the system setup for later.
Today I had in mind completing the whole system setup, but unfortunately whenever I try to boot from the external SSD (or even if I swap hard drives internally) the boot process gets stuck at a GRUB command prompt (GRUB _) that doesn't allow to write anything or execute any instruction.
In order to get to the mentioned GRUB prompt I have had to change my BIOS boot config to accept legacy option, if I don't do this the SSD is not recognized.
My system is a Lenovo G50-80 which is an UEFI pc. I formatted the file system for the boot partition with FAT32 as the wiki explains, following the guidelines for UEFI systems.
I don't really know what is going on and would like to get some help. It is just so weird that the first time rebooting the laptop made it so the Artix OS was booted even though it wasn't set as the first boot option and that, as I'm seeing now, the BIOS doesn't detect the device if the legacy option is not set. But now it's just impossible to get the system to boot on to Artix.
Here is some useful info:
- Disk partitions
sdb 8:16 0 465,8G 0 disk
|-sdb1 8:17 0 1G 0 part /boot
|-sdb2 8:18 0 30G 0 part /
`-sdb3 8:19 0 434,8G 0 part /home
- Grub config file
$ cat /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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
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 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='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/(null)/sas/disk@0,msdos2' --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 02019292-6249-4f34-a848-eac67ce24c93
else
search --no-floppy --fs-uuid --set=root 02019292-6249-4f34-a848-eac67ce24c93
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Artix Linux' --class artix --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-02019292-6249-4f34-a848-eac67ce24c93' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod fat
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/(null)/sas/disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 3D88-BF60
else
search --no-floppy --fs-uuid --set=root 3D88-BF60
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=02019292-6249-4f34-a848-eac67ce24c93 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
submenu 'Advanced options for Artix Linux' $menuentry_id_option 'gnulinux-advanced-02019292-6249-4f34-a848-eac67ce24c93' {
menuentry 'Artix Linux, with Linux linux' --class artix --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-02019292-6249-4f34-a848-eac67ce24c93' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod fat
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/(null)/sas/disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 3D88-BF60
else
search --no-floppy --fs-uuid --set=root 3D88-BF60
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=02019292-6249-4f34-a848-eac67ce24c93 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
menuentry 'Artix Linux, with Linux linux (fallback initramfs)' --class artix --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-02019292-6249-4f34-a848-eac67ce24c93' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod fat
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/(null)/sas/disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 3D88-BF60
else
search --no-floppy --fs-uuid --set=root 3D88-BF60
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=02019292-6249-4f34-a848-eac67ce24c93 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-fallback.img
}
}
### 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/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 ###
- Fstab file
# /dev/sdb2
UUID=02019292-6249-4f34-a848-eac67ce24c93 / ext4 rw,relatime 0 1
# /dev/sdb1
UUID=3D88-BF60 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/sdb3
UUID=859723ae-467d-4ce7-9a82-35f44181417d /home ext4 rw,relatime 0 2
I have also posted this issue on the Artix subreddit Can't boot on to newly installed Artix on SSD. Stuck at GRUB prompt.
Hope someone can help me. Thanks in advance.
EDIT(10/15/2020):
Well, I have done again the whole installation process (disk partitioning included) and the first reboot work perfectly. I was able to get inside artix and do some stuff. Then I shutdown my laptop and accesses again the BIOS boot menu and the option for using the SSD was available both as USB disk and other option that had "GRUB" in its ID (this one is the correct one which I chose and was able to enter artix again). Then I continued using my pc with its current OS as normal. Today I was going to setup the system but to my surprise the correct boot option wasn't showing (it just listed the USB disk) so I am again unable to use the SSD as functioning boot device.
Hope someone can help with this. It's quite frustrating.
SOLUTION (10/17/2020):
Finally I found out what the problem was. As I was installing the OS on a REMOVABLE DEVICE the installation of GRUB on the /boot partitionhad to be done differently. Following the Arch wiki when installing GRUB you have to run the following command:
# grub-install --target=x86_64-efi --efi-directory=esp --boot-directory=esp --removable --recheck
This will ensure that you are able to boot multiple times from said device. After that edit "/etc/mkinitcpio.conf" file and on the hooks section move block and keyboard before autodetect hook. Finally run the following:
# mkinitcpio -p linux
Unmount the drive and reboot. Then the drive will appear as a boot option and selecting it will get you to GRUB.