7

I'm trying to install Arch Linux over virtual box guest machine in a UEFI mode. I've followed beginner's guide to install base system, generate fstab and etc and my system now boots into grub command prompt.

I had used GPT partition table to create two partitions.

/dev/sda1 - 500Mb fat32 UEFI system partition; /dev/sda2 - 7.5Gb ext4 mounted as /; /etc/fstab generated with command genfstab -U -p /mnt >> /mnt/etc/fstab and contains:

# /dev/sda2
UUID=ce8f33a9-4bb8-42b8-b082-c2ada96cc2bb    /      ext4    rw,relatime,data-ordered    0 1
# /dev/sda1
UUID=3D70-B6C5                               /boot  vfat    rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,error=remount-ro    0 2

grub installed with commands:

\# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
\# mkdir /boot/EFI/boot
\# cp /boot/EFI/arch_grub/grubx64.efi /boot/EFI/boot/bootx64.efi

(without mkdir and cp it won't boot at all)

grub config generated with grub-mkconfig -o /boot/grub/grub.cfg and its contents are quite hard to get and post here; if it's necessary, I'll try.

And after reboot system boots into grub> command prompt and nothing helps.

Unlike this question: UEFI install (14.04) boots to GRUB command prompt, no GUI in my case command configfile (hd1,1)/boot/grub/grub.cfg does not make anything except clears the screen.

I can "boot" to installed system via chroot from installing cd environment, but no way other that that.

How can I fix it?

  • 3
    Please don't paste screenshots of text output, post the actual text... – jasonwryan Oct 22 '14 at 17:53
  • fixed, somehow... – Vasilly.Prokopyev Oct 22 '14 at 19:00
  • I dont think that my question are oftopic somehow. It CAN be reproduced easilly with virtualbox and detailed steps of how it comes to this state. It also can be helpfull for anyone, who tries to install archlinux to UEFI system with grub. There is plenty of problems with this setup if you google for it - mine only one of them. Also that typo was only there, in question text. System still does not boot. More of it - similar question, that I refers to in my post, gain 4 upvotes and were migrated from askubuntu to this particular stack exchange site. – Vasilly.Prokopyev Oct 23 '14 at 4:57
  • Then why did you post that it was "fixed, somehow"? – jasonwryan Oct 23 '14 at 5:06
  • 2
    Fair enough: I'll vote to reopen. – jasonwryan Oct 23 '14 at 5:48
8

I found a case when I tried to use gummiboot instead of grub. Gummiboot reported an error: that it can't find kernel images. It looks like I mounted /boot and configured fstab after I installed the base system with pacstrap -i. So kernel images that were placed in a /boot directory were lost after mounting, and thus the system could not boot. I wonder what happened with them? Are they were still on hard drive, but were just shadowed with mounted partition?

Anyway, I just reinstalled everything again with carefully following instructions on the Arch wiki and it works now.

1

Did you export the esp variable for the grub-install command to use? If not, grub has no idea where the efi directory is located.

# export esp=/boot/efi
# grub-install --target=x86_64-efi --efi-directory=$esp .....

Archlinux supports EFISTUB, removing the need for a bootloader. See EFISTUB for more info.

If you would like to try an EFI only bootloader, Gummiboot is a good option. This guide has a decent walkthrough for installing Gummiboot.

  • Sorry about that - $esp was just a typo from copying that string from arch wiki. In practise i substituted it with /boot manually. Thx for the links, I'll look into in later – Vasilly.Prokopyev Oct 23 '14 at 4:49
1

I just did the same thing, I had mounted my UEFI volume on top of the old linux image and init

umount -f -l /boot
mkdir /tmp/boot.bak
mv /boot/* /tmp/boot.bak
mount -a # assuming /etc/fstab is configured
mv /tmp/boot.bak/* /boot

voila

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.