Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

UEFI strategy

Featured Replies

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?

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.

5 minutes ago, gfjardim said:

 

+1 for a GUI option in Flash Device Settings.

 

You mean something like this?

 

system-boot.png.700fa14545f972d315159820c7c87ea9.png

  • 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.

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 by gridrunner

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 by s.Oliver

  • 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".

 

 

Sounds good, I had to give up on my X99 rig, because it wouldn't boot off legacy reliably.  Asus X99-A.

  • Author
5 minutes ago, bonienl said:

Is this more to your liking?

 

Winner Winner Chicken Dinner!

14 minutes ago, limetech said:

 

Winner Winner Chicken Dinner!

 

I let you pay dearly :)

 

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.  O.o

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.  O.o

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.

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.

  • 6 months later...

I'm purchasing a UEFI motherboard soon hopefully. What is the procedure for changing the USB?

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!

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?

The benefit is some newer machines are UEFI only, legacy BIOS is gone.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.