You are not logged in.

#1 2012-12-20 01:05:17

WooLoo
Member
Registered: 2012-12-19
Posts: 6

Cannot boot Arch (USB or HDD) in UEFI Mode

I have a new MSi GT70-0ND, 1x 128GB SSD (no RAID) and 1x 750GB HDD. The SSD was preloaded with an MSi OEM copy of Windows 8. I did not receive an OEM disc, so I've tried to avoid touching the SSD and the hidden recovery partition on the HDD.

  • Using Universal USB Installer, installed archiso onto USB flashdrive.

  • Windows boot device selection menu did not detect the flashdrive.

  • Checked UEFI BIOS settings - USB set to "Full Initial".

  • Moved flashdrive from port to port, eventually was detected.

  • Reboot, received an error relating to bootloader signing.

  • Rebooted again into UEFI BIOS settings, disabled secure boot.

  • Rebooted, received infamous "No loader found. Configuration files in \loader\entries\*.conf are needed."

  • Googled, checked forums, saw gummiboot issues, recommendations to use rEFInd, and dd/UEFI issue.

  • Transferred archiso to working Arch machine, followed instructions here https://wiki.archlinux.org/index.php/UE … B_from_ISO.

  • Installed rEFInd using instructions here https://bugs.archlinux.org/task/31894#comment102233. I have since tried various changes to refind.conf and can not discern any difference.

  • Attempted to boot laptop from flashdrive in UEFI mode after Windows' boot device menu again failed to detect flashdrive multiple times.

  • Got rEFInd menu, found nothing functional (except Windows bootloader, of course): Arch entry froze the system requiring hard reboot, UEFI Shell v2 gave an assertion error (from memory, it was "String.c(166) String != ((void *)0)"); Googled, seeing some related but no identical errors, UEFI Shell v1 failed to start reporting something like "using load options '<null string>'".

  • Rebooted in BIOS/Legacy mode, but flashdrive was unbootable (duh)

  • Again using Universal USB Installer, installed archiso onto flashdrive.

  • Rebooted in BIOS/Legacy mode, archiso menu appeared, but during udev events, received a drm/nouveau init table error; Hard reboot. Appended

    nouveau.modeset=0

    to kernel line, everything worked

  • Installed vanilla Arch system to the HDD including UEFISYS partition.

  • When it came time to set up and install rEFInd/efibootmgr, of course

    modprobe efivars

    failed.

  • Redid flashdrive the UEFI-safe way on Arch machine, attempted to boot in UEFI mode, it appears that menu entries from my /boot/efi (UEFISYS) partition are present, but this is irrelevant as only the Windows bootloader and \refindx64.efi work (loads rEFInd graphical mode, in which nothing works except BOOTX64.efi which quickly flashes a message with a file path (too quickly to read) then loads Windows. UEFI Shell v2 now has same error as v1:

    Using load options '<null string'> Error: Not Found while loading shellx64_v2.efi

    ).

rEFInd (version 0.5.0) "About" dialog reports EFI Revision 2.31, Firmware: American Megatrends 4.653, Screen Output: Graphics Output (UEFI)

I have tried adding various things to the refind.conf "options" directive, e.g. gpt, loglevel=7, pci=nocrs, add_efi_memmap, archisobasedir=arch, archisolabel=ARCH_201212, acpi=off, etc. in different combinations.

I am at wits' end. Bottom line: nothing but rEFInd (via flashdrive) and Windows works in UEFI boot mode - nothing. Any help will be greatly appreciated. Thank you.

Offline

#2 2012-12-20 01:23:57

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

Have you tried any other EFI-aware distros? Ubuntu or Fedora come to mind. Or you could try the October Arch iso. If you can boot those, you can chroot into arch and fix things up.

Can you post details of your partitions and your refind configuration? For example, /boot/efi/efi/refind/refind.conf, /boot/efi/efi/arch/refind_linux.conf and say what you did to install it. For example, what does /boot/efi/EFI/boot/bootx64.efi correspond to? What does ls /boot/efi/efi/{arch,refind} give?

Note: I just switched to refind and could not initially get it to work. I found the wiki somewhat confusing. However, I found the included html documentation extremely helpful.

Last edited by cfr (2012-12-20 01:25:27)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#3 2012-12-20 01:40:06

hadrons123
Member
From: chennai
Registered: 2011-10-07
Posts: 1,249

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

Archboot might be easy for UEFI installation.


LENOVO Y 580 IVYBRIDGE 660M NVIDIA
Unix is user-friendly. It just isn't promiscuous about which users it's friendly with. - Steven King

Offline

#4 2012-12-20 03:02:41

WooLoo
Member
Registered: 2012-12-19
Posts: 6

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

cfr wrote:

Have you tried any other EFI-aware distros? Ubuntu or Fedora come to mind. Or you could try the October Arch iso. If you can boot those, you can chroot into arch and fix things up.

I'll try Ubuntu right now.

hadrons123 wrote:

Archboot might be easy for UEFI installation.

I'm not sure how that would avoid UEFI failing to load/execute the installation media's initrd? Unless you meant PXE mode?

Offline

#5 2012-12-20 04:58:20

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

I doubt if this will help you with your main goal, but I've fixed a few memory bugs in rEFInd recently, so the "String.c(166) String != ((void *)0)" error you mentioned might go away if you upgraded to the latest version of rEFInd (0.6.0).

Beyond that, here's a suggestion:

  1. Prepare a USB flash drive or CD-R with rEFInd 0.6.0. Be sure to include an EFI driver for whatever filesystem you used in Arch's /boot (or root, if there's no separate /boot partition) in the flash drive's or CD's EFI/BOOT/drivers_x64 directory. (Note that rEFInd 0.6.0 includes an ext4fs driver.)

  2. Using an emergency disc, create a refind_linux.conf file in Arch's /boot directory. Include, at a minimum, two lines, each of which should include the options "ro root=/dev/{whatever} initrd={\path\to\initrd}", changing the device filename to point to your root and the initrd= specification to point to your two Arch initrd files (one for each line). The path should be relative to the root of whatever filesystem holds those files, so if you've got a separate /boot partition, there would be no directories, just the filename preceded by a backslash; and if you have no separate /boot partition, you'd lead with "\boot\". Note the need for BACKslashes, not forward slashes, in the initrd= specification (but forward slashes in the root= specification).

  3. Reboot using the rEFInd flash drive or CD-R you've prepared. With any luck, rEFInd should come up and show you an Arch option. Try using it. If it fails, try again, but hit Insert and select the second option from the list.

With any luck this will get your system booted in EFI mode, but I can't make any promises about that.

Offline

#6 2012-12-20 05:24:10

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

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

srs5694 wrote:

I doubt if this will help you with your main goal, but I've fixed a few memory bugs in rEFInd recently, so the "String.c(166) String != ((void *)0)" error you mentioned might go away if you upgraded to the latest version of rEFInd (0.6.0).

I also got that error with the shell.efi downloaded from EDK2 svn repo. I recompiled shell.efi from updated EDK2 git repo and the problem went away. Some issue in EDK2 sources that has nothing to do with rEFInd. Currently I am at work so do not have the shell.efi file, otherwise I could upload it to my dropbox and give you a link.

If you want to compile shell.efi yourself, you should EDK2 sources, and try the shell scripts from https://github.com/the-ridikulus-rat/My … ocore_uefi (shellpkg_x86_64_udk_linux_compile.sh and tianocore_uefi_common.sh). Make sure to change the paths according to your system, since most of them are specific to my system. Copy both the .sh files to $WD and run shellpkg_x86_64_udk_linux_compile.sh from $WD. The shell.efi binary should be somewhere in ${_BACKUP_BUILDS_DIR}/SHELLPKG_BUILD as you define in shellpkg_x86_64_udk_linux_compile.sh .

Offline

#7 2012-12-21 01:41:17

WooLoo
Member
Registered: 2012-12-19
Posts: 6

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

Thank you for the quick responses, but I'm afraid I have decided to take the easy way out.

In BIOS/Legacy mode I booted a USB flashdrive with latest archiso, destroyed the HDD partition table, converted it to MBR, set up a basic partition scheme, installed Arch, installed GRUB2 as bootloader, rebooted, and voila. The only special step was making sure to add "nomodeset" to the kernel line.

It would be a crime to call this crude workaround a "solution", but having to press a few keys during POST/pre-boot to switch between UEFI and BIOS/Legacy modes to boot either OS is a small price to pay for my sanity and a usable Arch install on this machine.

Now, I'm still sorting out video driver issues (without nomodeset, I get drm/nouveau messages from the kernel and then total lockup) which are doubtless related to the wonderful nVidia Optimus (which Ubuntu claimed it could handle but did not).

Again, thanks everyone for the quick replies and suggestions, I'm sorry none of them worked, and I'm still puzzling over what the real issue is - Optimus, EFI, the kernel, something else...

[rant]Having spent a great deal of time looking for answers around the web, it seems that UEFI is currently an unmitigated disaster for the Linux community (even Arch and Fedora, which, kudos to contributors, are leading the effort) and that was certainly my experience with it as well. Microsoft could not have contrived a better way to discourage adoption of other OSes if it had tried, and the OEMs have once again shown their true colors by kowtowing to the devil in Redmond - they know who pays the bills.[/rant]

Offline

#8 2012-12-21 01:47:05

hadrons123
Member
From: chennai
Registered: 2011-10-07
Posts: 1,249

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

I certainly don't think UEFI to have any advantage for my desktop or laptops and  I always tend to use BIOS legacy whenever its possible.
But fedora 18 Final TC3 - http://download-ib01.fedoraproject.org/ … ve/x86_64/ is set to work out of the box even with secureboot, but I have not tried though.

Last edited by hadrons123 (2012-12-21 01:48:21)


LENOVO Y 580 IVYBRIDGE 660M NVIDIA
Unix is user-friendly. It just isn't promiscuous about which users it's friendly with. - Steven King

Offline

#9 2012-12-21 01:50:34

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

While I understand your frustrations, please observe the Forum Etiquette about respecting other operating systems.


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#10 2013-02-02 05:55:52

SmegTheLight
Member
Registered: 2013-02-02
Posts: 2

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

I can confirm the same problem on my MSI GT70 0ND laptop.
It is the version shipped with Windows 8.

I have tried Ubuntu, SysRescueCD, Gentoo live CD, and now onto ArchLinux to see if it works any better, mostly to get the latest kernel.

I have made the USB boot and put rEFInd on it.  That loads up fine, but just like every other distro installer I have tried, it fails right as the kernel loads.

Everything works fine in Legacy mode.

I am currently working on the guess that it is something to do with the display, as there is usually some live on keyboard input on, for example, the SysRescueCD boot.

I am certainly getting a lot more knowledge about UEFI, but I have yet to resolve the issue.  I am running the latest bios for this machine as of this date, and soon will be trying an unlocked version of the bios to see if I can disable the Nvidia GT675M display, and force the built in Intel to see if that resolves the issue.

Last edited by SmegTheLight (2013-02-02 05:56:23)

Offline

#11 2013-03-05 06:19:15

sidneyk
Member
From: Bonner Springs, KS. USA
Registered: 2011-04-22
Posts: 129

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

Are you guys disabling Secure Boot? I don't have Windows 8, but my understanding is that if your machine came pre-installed with it then you'll have to disable Secure Boot to get anywhere with any other OS.

Offline

#12 2013-03-05 23:26:51

SmegTheLight
Member
Registered: 2013-02-02
Posts: 2

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

Yes, Secure boot was disabled.  I wound up having to get an RMA swap on the laptop for other issues, but it is the same on the new one.   I have not had a chance to try with the unlocked (ie.. all options visible) version of the bios yet.
I am pretty sure the problem is in the graphics mode selection when in UEFI mode, as 'Vesa' is not available.

I have simply given up on UEFI.  It doesn't seem ready for mainstream, and based on poor implementations (ie. Samsung ), who knows what extra grief you might run into.

Offline

#13 2013-03-06 05:19:40

sidneyk
Member
From: Bonner Springs, KS. USA
Registered: 2011-04-22
Posts: 129

Re: Cannot boot Arch (USB or HDD) in UEFI Mode

SmegTheLight wrote:

Yes, Secure boot was disabled.  I wound up having to get an RMA swap on the laptop for other issues, but it is the same on the new one.   I have not had a chance to try with the unlocked (ie.. all options visible) version of the bios yet.
I am pretty sure the problem is in the graphics mode selection when in UEFI mode, as 'Vesa' is not available.

I have simply given up on UEFI.  It doesn't seem ready for mainstream, and based on poor implementations (ie. Samsung ), who knows what extra grief you might run into.

I really like Asus' UEFI implementation' but it doesn't even have Secure Boot so I don't have to mess with that and I'm on Win 7 otherwise. Hope you get it sorted out.

Offline

Board footer

Powered by FluxBB