You are not logged in.

#1 2013-09-27 14:41:00

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

[SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

Hello. I'm a casual linux user - I develop on linux, but I've never really explored the system itself. In an attempt to do so, I am installing Arch on my Asus UX31A-DH51. I copied the image to my external harddrive and followed the beginner's guide; Everything seemed to be going smoothly, except when I tried to boot into the system, it didn't work.

I suspect this has something to do with the bios being UEFI. However, I followed the instructions here to modify GRUB and, when going to "Launch EFI shell from filesystem device", the screen flickers and then a popup is displayed saying "Warning: Not found". I've also tried installing gummiboot, but that didn't work either. In the BIOS, the main HD isn't displayed as one of the devices that I can boot from either.

I've read this post, and I tried again from scratch using the information, but nothing helped. I didn't try archboot, though, since I don't know where to find the ISO or how to make a USB out of it.

The steps I followed are thus (pretty much all of them follow the beginner's guide):

  • I created a USB from the latest Arch linux iso, using these intstructions from my desktop computer (Mint 15).

  • I booted into said drive, and was presented with five options. I chose the one too boot into Arch. I tested UEFI support using the method at the beginning of the Beginner's guide; this succeeded.

  • I connected to the internet using wifi-menu.

  • Using cgdisk, I erased all the existing partitions on the SSD. I then created three partitions on the drive; a 1.5G EFI System Partition (sda3) - I used the code "ef00" to make it an ESP; a 15G linux partition (sda1); and a 99G linux partition (sda2).

  • I formatted the partitions. I formatted sda1 and sda2 to ext4, and I formatted sda3 to FAT32.

  • I mounted sda1 to /mnt, sda2 to /mnt/home, and sda3 to /mnt/boot/efi (I changed "/boot" to "/boot/efi" here because of the link above; here it is again).

  • I ran pacstrap -i /mnt base, which completed successfully; then, I generated an fstab at /mnt/etc/fstab, which I left as default.

  • I chrooted into /mnt, uncommented the en_US.UTF8 locale, symlinked the America/New_York timezone, updated the hardware clock, set the hostname, and ran passwd.

  • I skipped setting up the initial ramdisk environment.

  • I setup GRUB using the commands under the UEFI section in the guide; I first exited out of the chroot to run the three commands it says to run out of chroot, and then went back into chroot and followed the rest of the steps. The only thing I changed there was to change "/boot" to "/boot/efi". GRUB installed successfully, without any errors.

  • I ran

    grub-mkconfig -o /boot/grub/grub.cfg

    .

Finally, I rebooted, went into the bios, and chose "Launch EFI shell from filesystem device", which gave me "Warning: Not found". The main HD isn't listed as something I can boot from, though it is recognized as a SATA device. I'm kind of stumped after this. I also tried updating the BIOS, to no avail.

I'm feeling a little out of my depth here; hopefully someone can help me get this running. You'll probably need more info to diagnose the issue, but I'm not really certain how I should post those files from my laptop using just the arch shell. Anyhow, hopefully someone can help. In the meantime, I'm going to try the install from scratch again, reading more carefully.

Last edited by Chaosed0 (2013-09-27 18:48:25)

Offline

#2 2013-09-27 16:03:25

silverhammermba
Wiki Maintainer
Registered: 2011-04-14
Posts: 156

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

First two slightly unrelated points:
1. 1.5GB is huge for an ESP. The "minimum" of 512MB is perfectly fine for most purposes as the bootloader code isn't very big.
2. EFI shell has nothing to do with your OS. You can boot your OS with UEFI without having an EFI shell even installed on the system. The shell is just for going in an monkeying around with the ESP and can be useful if your OS isn't working.

If you installed GRUB properly for UEFI (it looks like you did) then it should appear in the EFI boot menu. On my girlfriend's UX31A, you bring that up by hammering escape while the computer boots. Try doing that. If that doesn't work, you can try installing an EFI shell (download from the internet, boot from USB, copy to ESP) and using that to manually start GRUB.

Offline

#3 2013-09-27 17:05:49

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

I'll make the ESP smaller this time around. The wiki recommended 1G.
I know that the EFI shell doesn't have anything to do with the OS, but I was following the specific guide for the UX31A and it told me I had to boot into the EFI shell and do something. If that's not the case, great!

I think I installed GRUB properly, anyway, but when I get into that menu nothing shows up but the Arch USB I made. If it's not plugged in, then nothing at all shows up. I installed GRUB with exactly the commands listed in the Beginner's Guide, though (with the exception of the change from /boot to /boot/efi). Well, I'm going to try it from scratch again, as I said, and I'll get back.

Offline

#4 2013-09-27 17:33:43

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

Went through the entire install again, still doesn't work (device doesn't show up in the boot device menu). Two things I'm noticing here (when booted into the USB):

  • When chrooted into the new root partition, "efibootmgr" segfaults.

  • When run outside of the chroot, efibootmgr shows an entry for GRUB after installing GRUB; however, after a reboot, this entry disappears. The same thing happens if I try to add an entry manually using

    # efibootmgr -c -d /dev/sda -p 3 -l /EFI/grub/grubx64.efi -L "grub"

Does that mean I'm losing the entry somehow? I took a look inside the BIOS, where there is reputedly a way to add EFI boot entries, and indeed there is, under "add boot device"; however, the only disk that's listed there is the USB disk. I can't add an entry for my HDD.

Next step is to try to get an EFI shell installed, I guess.

EDIT: Got an EFI shell from this link. Mounted /dev/sda3 and dropped the shell into its root as "shellx64.efi". Rebooted and went back to the BIOS screen; the "Launch EFI Shell from filesystem device" option is still giving me "Warning: Not Found". Any suggestions?

Last edited by Chaosed0 (2013-09-27 17:39:21)

Offline

#5 2013-09-27 17:40:04

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

Chaosed0 wrote:

Went through the entire install again, still doesn't work (device doesn't show up in the boot device menu). Two things I'm noticing here (when booted into the USB):

  • When chrooted into the new root partition, "efibootmgr" segfaults.

  • When run outside of the chroot, efibootmgr shows an entry for GRUB after installing GRUB; however, after a reboot, this entry disappears. The same thing happens if I try to add an entry manually using

    # efibootmgr -c -d /dev/sda -p 3 -l /EFI/grub/grubx64.efi -L "grub"

Does that mean I'm losing the entry somehow? I took a look inside the BIOS, where there is reputedly a way to add EFI boot entries, and indeed there is, under "add boot device"; however, the only disk that's listed there is the USB disk. I can't add an entry for my HDD.

Next step is to try to get an EFI shell installed, I guess.

I think this is one of the brain-dead issues with some firmwares which expect /EFI/Microsoft/Boot/bootmgfw.efi to be present. Just copy a version of uefi shell to /EFI/Microsoft/Boot/bootmgfw.efi and then reboot into the system and recreate the entry using efibootmgr. For "Launch EFI shell from filesystem device", the shell application needs to be present at <EFISYS>/shellx64.efi (in the root of the efisys partition itself).

EDIT: 1.5 GB efisys part size is not an issue. You can even have 5 GB efisys part as long as the FS is FAT32.

Last edited by the.ridikulus.rat (2013-09-27 17:43:47)

Offline

#6 2013-09-27 17:55:37

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

the.ridikulus.rat wrote:

I think this is one of the brain-dead issues with some firmwares which expect /EFI/Microsoft/Boot/bootmgfw.efi to be present. Just copy a version of uefi shell to /EFI/Microsoft/Boot/bootmgfw.efi and then reboot into the system and recreate the entry using efibootmgr. For "Launch EFI shell from filesystem device", the shell application needs to be present at <EFISYS>/shellx64.efi (in the root of the efisys partition itself).

I copied "/EFI/grub/grubx64.efi" to "/EFI/Microsoft/Boot/bootmgfw.efi" and created an entry using the same efibootmgr command as two posts above; still no luck. The entry still gets deleted on a reboot, the disk doesn't show up in the devices, etc. I also copied grubx64.efi to /shellx64.efi, but the bios still refuses to recognize it's there.

Here's some output of efibootmgr. This is what it looks like before adding any entries:

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0002
Boot0001* UEFI: WD My Passport 070A2003
Boot0002* Hard Drive 

Here's after adding the entry:

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0000,0001,0002
Boot0000* grub
Boot0001* UEFI: WD My Passport 070A2003
Boot0002* Hard Drive 

After rebooting, it goes back to exactly like it was before adding any entries.

Here's my fstab, if it helps at all:

# 
# /etc/fstab: static file system information
#
# <file system>	<dir>	<type>	<options>	<dump>	<pass>

# /dev/sda1
UUID=556e2aff-a493-4ca9-a62e-175a890b0d03	/         	ext4      	rw,relatime,data=ordered	0 1

# /dev/sda3
UUID=5B17-E429      	/boot/efi 	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

# /dev/sda2
UUID=90dee4b7-caac-4d46-a9c6-4dae5bfc4cea	/home     	ext4      	rw,relatime,data=ordered	0 2

(Figured out how to set up ssh on my desktop, so feel free to ask for any more output or files.)

Offline

#7 2013-09-27 17:57:47

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

@Chaosed0: Can you boot the iso kernel with "efi_no_storage_paranoia" parameter and try efibootmgr again?

EDIT: Also post the output of "gdisk -l /dev/sda" and "fdisk -l /dev/sda" commands.

Last edited by the.ridikulus.rat (2013-09-27 17:58:45)

Offline

#8 2013-09-27 18:08:14

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

the.ridikulus.rat wrote:

@Chaosed0: Can you boot the iso kernel with "efi_no_storage_paranoia" parameter and try efibootmgr again?

EDIT: Also post the output of "gdisk -l /dev/sda" and "fdisk -l /dev/sda" commands.

Sorry, how would I go about booting the kernel with that parameter? I tried looking it up, and it told me to add "efo_no_storage_paranoia" to the file "/etc/default/grub" in the USB drive; I guess it's either readonly or the storage isn't persistent, and it reset the next time I rebooted. No GRUB menu shows up either, so I can't change it from there.

Here's the output of the commands:

# gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.7

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 242187500 sectors, 115.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 6BA42EEC-77D1-477E-9485-67ECFFD9D3B4
Partition table holds up to 128 entries
First usable sector is 2048, last usable sector is 242187466
Partitions will be aligned on 2048-sector boundaries
Total free space is 821 sectors (410.5 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        31459327   15.0 GiB    8300  
   2        31459328       241138890   100.0 GiB   8300  
   3       241139712       242187466   511.6 MiB   EF00  

# fdisk -l /dev/sda
Disk /dev/sda: 124.0 GB, 124000000000 bytes, 242187500 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 label type: gpt


#         Start          End    Size  Type            Name
 1         2048     31459327     15G  Linux filesyste 
 2     31459328    241138890    100G  Linux filesyste 
 3    241139712    242187466  511.6M  EFI System      

Offline

#9 2013-09-27 18:11:33

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

@Chaosed0: When you boot the USB and the gummiboot menu shows up, edit the kernel menu entry by adding the parameter "efi_no_storage_paranoia" (its efi_* not efo_*) and then try efibootmgr.

If you want to try Archboot, see https://bbs.archlinux.org/viewtopic.php?id=170238 for the download link.

Offline

#10 2013-09-27 18:15:43

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

the.ridikulus.rat wrote:

@Chaosed0: When you boot the USB and the gummiboot menu shows up, edit the kernel menu entry by adding the parameter "efi_no_storage_paranoia" (its efi_* not efo_*) and then try efibootmgr.

If you want to try Archboot, see https://bbs.archlinux.org/viewtopic.php?id=170238 for the download link.

Hmm, I don't think I get a gummiboot menu. The first menu I get looks like this:

Arch Linux archiso x86_64 UEFI USB
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
EFI Default Loader
Reboot Into Firmware Interface

The first entry takes me to Arch on the USB after a bunch of stuff goes across the screen; what looks like a bunch of initialization. Afterwards, it brings me to the root shell.

The two Shell options display "Error loading \EFI\shellx64_v1.efi: Unsupported" (or "shellx64_v2", if I select the v2 one). "EFI Default Loader" seems to do nothing at all; it just goes back into the same menu. The last option restarts the computer and takes me to the laptop bios.

If nothing else helps, I'll give Archboot a try. I'd like to try the "efi_no_storage_paranoia" option first, though, because I do recall seeing it as a potential solution somewhere; I just couldn't figure out where to put it.

Last edited by Chaosed0 (2013-09-27 18:16:36)

Offline

#11 2013-09-27 18:19:09

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

Chaosed0 wrote:
the.ridikulus.rat wrote:

@Chaosed0: When you boot the USB and the gummiboot menu shows up, edit the kernel menu entry by adding the parameter "efi_no_storage_paranoia" (its efi_* not efo_*) and then try efibootmgr.

If you want to try Archboot, see https://bbs.archlinux.org/viewtopic.php?id=170238 for the download link.

Hmm, I don't think I get a gummiboot menu. The first menu I get looks like this:

Arch Linux archiso x86_64 UEFI USB
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
EFI Default Loader
Reboot Into Firmware Interface

The first entry takes me to Arch on the USB. The two Shell options display "Error loading \EFI\shellx64_v1.efi: Unsupported" (or "shellx64_v2", if I select the v2 one). "EFI Default Loader" seems to do nothing at all; it just goes back into the same menu. The last option restarts the computer and takes me to the laptop bios.

If nothing else helps, I'll give Archboot a try. I'd like to try the "efi_no_storage_paranoia" option first, though, because I do recall seeing it as a potential solution somewhere; I just couldn't figure out where to put it.

You need to highlight the entry "Arch Linux archiso x86_64 UEFI USB", press "e", and then edit the cmdline at the bottom.

EDIT: That is the Gummiboot menu.

Last edited by the.ridikulus.rat (2013-09-27 18:21:22)

Offline

#12 2013-09-27 18:23:08

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

the.ridikulus.rat wrote:

You need to highlight the entry "Arch Linux archiso x86_64 UEFI USB", press "e", and then edit the cmdline at the bottom.

Gotcha, sorry for being oblivious. Never used gummiboot as a bootloader. In any case, after appending "efi_no_storage_paranoia" to the command there, the same problem is persisting.

Going to give archboot a try now. Will come back with results.

Offline

#13 2013-09-27 18:47:49

Chaosed0
Member
Registered: 2013-09-27
Posts: 10

Re: [SOLVED] UEFI Boot Troubles (ASUS UX31A-DH51)

Ok, I used Archboot and the process went very smoothly. I installed Gummiboot rather than GRUB, using the EFIStub (?) option, and it seems to be working well.

Well, problem solved, but mystery unresolved. Wonder what was going wrong when I tried to do it manually...

Offline

Board footer

Powered by FluxBB