June 20, 20179 yr The reason we added UEFI support is mainly to "future-proof" the unRAID boot process because already we are seeing motherboards with only UEFI support, no "Legacy" boot support. In our testing with the h/w available to us, we have not seen any issues. This is because most motherboards let you explicitly select Legacy or UEFI boot mode, in addition to enabling/disabling Secure Boot in UEFI boot mode. As a matter of habit, we always set up motherboards for Legacy, and turn off Secure boot, so we really never encountered some of the issues reported, which are: Some motherboards will have an "Auto" mode where it will boot using UEFI if detected, or else fall back on Legacy. These servers will attempt UEFI boot with unRaid-6.4.0-rc4 whether or not user selected. Some motherboards will also have Secure Boot enabled, which may cause great concern if the "Auto" method is attempted because a big scary red box is presented to the user. If Secure Boot is enabled, a headless server may not boot at all. Since UEFI is a mini-OS, it will use a detected GPU to present a high-resolution bios menu system. Unfortunately, we have found that such initialization done by UEFI somehow conflicts with the proper functioning of some (not all) GPUs when assigned to a Virtual Machine later. To minimize impact on users when 6.4.0 goes 'stable' I think the best course of action for us is to not permit UEFI boot by default. This will be accomplished by changing the name of the "EFI" directory on the usb flash boot device to "EFI-" (add a trailing dash). The existence of a directory named "EFI" is what bios uses to attempt UEFI boot. Hence if you want to use UEFI boot, you would have to manually rename the directory from "EFI-" to "EFI" and then reboot. Sound good?
June 20, 20179 yr Yeah sounds a good idea to have the default as legacy then let users change to UEFI should they want to.
June 20, 20179 yr Would you put this option in the GUI so it renames this for the user or would this have to be done manually?
June 20, 20179 yr 1 minute ago, gridrunner said: Would you put this option in the GUI so it renames this for the user or would this have to be done manually? +1 for a GUI option in Flash Device Settings.
June 20, 20179 yr 5 minutes ago, gfjardim said: +1 for a GUI option in Flash Device Settings. You mean something like this?
June 20, 20179 yr Author 1 minute ago, bonienl said: You mean something like this? Well it's a bit more complicated. Under the hood all this would do is check if /boot/EFI exists vs. /boot/EFI- directory. (Also, you can tell how the server was booted by looking for the existence of "/sys/firmware/efi" which will not exist for Legacy boot). But existence of /boot/EFI on its own does not of course guarantee UEFI boot, it simply permits, or makes possible UEFI boot. Whether or not motherboard actually uses UEFI boot is subject to motherboard bios settings outside control of unRAID.
June 20, 20179 yr 19 minutes ago, limetech said: Well it's a bit more complicated. Under the hood all this would do is check if /boot/EFI exists vs. /boot/EFI- directory. (Also, you can tell how the server was booted by looking for the existence of "/sys/firmware/efi" which will not exist for Legacy boot). But existence of /boot/EFI on its own does not of course guarantee UEFI boot, it simply permits, or makes possible UEFI boot. Whether or not motherboard actually uses UEFI boot is subject to motherboard bios settings outside control of unRAID. 5 Maybe you could make it so it checks for the EFI folder and if it doesn't exist rename it to so UEFI will boot. Then have it set a flag for when it boots after the change to check for the existence of "/sys/firmware/EFI and if after booting it doesn't see this a message tells the user to check their motherboard bios settings saying UEFI was not successful? edit Also would be useful to have this displayed in the dashboard if server has been legacy or UEFI booted. Edited June 20, 20179 yr by gridrunner
June 20, 20179 yr 29 minutes ago, limetech said: Well it's a bit more complicated. Under the hood all this would do is check if /boot/EFI exists vs. /boot/EFI- directory. (Also, you can tell how the server was booted by looking for the existence of "/sys/firmware/efi" which will not exist for Legacy boot). But existence of /boot/EFI on its own does not of course guarantee UEFI boot, it simply permits, or makes possible UEFI boot. Whether or not motherboard actually uses UEFI boot is subject to motherboard bios settings outside control of unRAID. how about renaming bonienl's gui idea to something like: "allow UEFI boot" and give it a checkbox (default: not checked). if you want to go an extra mile make a small description which explains… "does support UEFI boot, when motherboard is capable to do". Edited June 20, 20179 yr by s.Oliver
June 20, 20179 yr Author I'd put this in the 'Syslinux Configuration' section, kinda like how "Share status" and Delete is handled, that is, Add label something like "Server boot:" Legacy/UEFI [determined by existence of /sys/firmware/efi And a checkbox that says, "Permit UEFI boot".
June 20, 20179 yr Sounds good, I had to give up on my X99 rig, because it wouldn't boot off legacy reliably. Asus X99-A.
June 20, 20179 yr Author 5 minutes ago, bonienl said: Is this more to your liking? Winner Winner Chicken Dinner!
June 21, 20179 yr Will the proposed solution accommodate this scenario? 17 hours ago, limetech said: ...because already we are seeing motherboards with only UEFI support, no "Legacy" boot support... If you have to be able to boot to change the default from Legacy to UEFI, it sounds like a 'Catch 22' issue to me.
June 21, 20179 yr 2 minutes ago, Frank1940 said: Will the proposed solution accommodate this scenario? If you have to be able to boot to change the default from Legacy to UEFI, it sounds like a 'Catch 22' issue to me. Sounds like a new install enable_efi.bat batch file, or a conditional branch of make_bootable.bat is in order. Probably better to add the toggle to make_bootable, that way we can just tell people to rerun the make_bootable script and answer Y or N to the enable EFI option.
June 21, 20179 yr 41 minutes ago, jonathanm said: Sounds like a new install enable_efi.bat batch file, or a conditional branch of make_bootable.bat is in order. Probably better to add the toggle to make_bootable, that way we can just tell people to rerun the make_bootable script and answer Y or N to the enable EFI option. That sounds like the best solution. Plus, if they later upgrade their hardware, it is a simple matter to change from one method to the other.
January 11, 20188 yr I'm purchasing a UEFI motherboard soon hopefully. What is the procedure for changing the USB?
January 12, 20188 yr 13 hours ago, leejbarker said: I'm purchasing a UEFI motherboard soon hopefully. What is the procedure for changing the USB? Figured it out, for anyone looking... Main - Flash - Tick Box at the bottom!
January 12, 20188 yr I've been running 6.4 RC's on UEFI since it first came out. Whats the pros/cons of UEFI vs Legacy? Seems like you guys still wanna stay in the old way of doing things. Surely it would be good to improve upon UEFI and make it the new go to?
Archived
This topic is now archived and is closed to further replies.