Uderc programming article aggregator sites

Windows 8 and ArchLinux dual-boot - Failed to open file: arch\boot\...

Tags:
Answers: Have 4 answers
Advertisement
Hey!
I have a problem where I don't know how to configure the EFISTUB to boot ArchLinux along Windows 8. I have read the instructions on the wiki and tried for two days and the only thing I've come up with is copying some files into the /boot/efi/EFI/arch/ folder, and adding the entry into the UEFI boot menu. I can select it when Restarting Windows8 through the shift-restart thing and stuff but when it attempts to boot it says:
Failed to open file: arch\boot\archiso.img
I don't know how to set this up and fix it. I am so confused with everything right now due to the instructions on the wiki basically being "You can either do it this way, that way or any other way." but does not specifically expain how each works (at least so that I understand it fully) and what has to be done to complete these steps. Like, I need a complete tutorial from Start to Finish, to do this because I'm too nervous messing up my partitions. I have understood some parts thought and what I want is to be able to boot it from the EFISTUB instead of chain-booting like I usually do. I just don't know how to connect the entry in the list to the proper files to boot the system.
What I have done:
Installed the base system.
Istalled grub in the base system but has not used grub to install on the /boot yet because I don't know if it is to be used if I'm supposed to use the EFISTUB (I was thinking efibootmgr would be enough)
Tried to use efibootmgr to make the entry, but the entry does not work. (If this is how I should do it, can you explain which partition to target and what the different values would mean when answering?)
I don't know which one is right, or if both shall be done (I guess Grub is used if I want to chain-load. I guess I can do it if it's the only way)
Anyway, I hope you guys can answer me so I can fix this. Thanks
Advertisement
The best answer: What you're trying to do now is:
EFI->kernel (EFI stub)
This is appealingly direct, but it's tricky to get working. What the wiki now recommends is:
EFI->gummiboot->kernel (EFI stub)
...or...
EFI->GRUB->kernel
These approaches are less direct, but they're easier to configure. The trouble is that both the EFI's built-in boot manager and the EFI stub loader are tricky to configure. For a newbie to get them both configured correctly on a first attempt at installing Arch is very difficult. Getting the EFI to launch gummiboot or GRUB is easier because these programs don't require the complex parameters that the EFI stub loader requires. Those parameters can instead be specified in the gummiboot or GRUB configuration file, which is easier to manage for quite a few reasons.
If you want to pursue using the EFI stub loader directly, you certainly can. I've learned from experience, though, that it's not worth my time to try to help with users who want to do this. Using an intermediary program is easier to get working. IMHO, the direct approach has no real benefits except that it gives you bragging rights that you've done it. Your system won't boot any faster or more reliably in the more direct approach. (Well, technically it will be faster, by only by a matter of milliseconds, assuming you use a 0 timeout value in gummiboot.) In fact, it will be less reliable, because gummiboot, GRUB, and rEFInd all offer ways to adjust boot options on a boot-by-boot basis, which is very helpful when fixing problems. You can't do this with the direct approach.