How do I "Boot to UEFI shell"?

69,727

It depends on whether your UEFI has a shell builtin. If it does, there should be an option in its settings / boot menu for you to launch it. Some motherboard also provide an option to launch a shell from the EFI System Partition (ESP). You should consult the manual of your motherboard for the path it will look for (the instruction is often vague though). Usually they are looking for a file named Shell.efi in the ESP root folder.

Another way is to launch it just like you launch any other EFI binary (e.g. bootloader). Since it's not really accessible to register a EFI binary to your UEFI or put the shell binary to your ESP in Windows, so the easiest way is probably to put it as \EFI\Boot\bootx64.efi (also put the update.nsh you need to run and the files it requires under \EFI\Boot\) in a FAT(32)-formatted USB drive (It shouldn't matter whether it's MBR or GPT as long as your UEFI is standard-conforming enough). Then reboot and boot the USB in UEFI mode from your UEFI boot menu.

You can obtain the EFI shell binary from the EDK2 project repo:

P.S. You may need to disable Secure Boot.

Share:
69,727

Related videos on Youtube

SeanClt
Author by

SeanClt

I am a HPE Software Consultant Specialed and certified in 10 HP Enterprise Softare

Updated on September 18, 2022

Comments

  • SeanClt
    SeanClt almost 2 years

    I am trying to follow some instructions to update some firmware:

    x64 UEFI environment:

    • Boot to UEFI shell
    • Run update.nsh

    I don't know how to do this. When I boot do I have a choice to boot to UEFI Shell?

    Do I need a separate bootable CD to go to UEFI shell or is this something like safe mode where I press a certain key to go to it?

    My OS: Server 2012 R2

    • Admin
      Admin over 8 years
      Advanced Startup
    • Admin
      Admin over 8 years
      @Ramhound only if his question is how to get into UEFI setting
    • Admin
      Admin over 8 years
      Man I am lost so there is no build in shell and advanced settings are settings for uefi but not gives me shell?
    • Admin
      Admin over 8 years
      @TomYan - Which is what Advanced Startup allows him to do
    • Admin
      Admin over 8 years
      @Ramhound You mean his UEFI Setting (instead of Advanced Startup) MIGHT allow him to launch a EFI shell right (which he seemed to have confirmed negative)? Coz I have no idea what you are talking about.
    • Admin
      Admin over 8 years
      He has to change the boot order. Booting to his firmware will let him do that
    • Admin
      Admin over 8 years
      @TomYanconfused by your comment "only if his question is how to get into UEFI setting" i mean title of the questions is how to boot so what is the different
    • Admin
      Admin over 8 years
      I mean, if your UEFI shell doesn't have a builtin EFI shell, and you haven't prepared a USB drive (or the ESP on your system drive, if you can) as I told in my answer, it's useless to get into the UEFI setting (one way is through Advanced Startup, as @Ramhound told), because, what then? I don't even know how you can be confused by me...
    • Admin
      Admin over 8 years
      @SeanClt Also, even if your UEFI does have a EFI shell builtin, you'll still need to put the update.nsh (and the other files it need, if any) to a FAT32 volume. It's unlikely (if not impossible) your UEFI supports NTFS so you won't be able to navigate into your system volume ("C:") and run it.
  • SeanClt
    SeanClt over 8 years
    I am just standard server 2012 r2 installation so my question is really specific about it
  • Tom Yan
    Tom Yan over 8 years
    @SeanClt Doesn't my answer clearly shows that it almost has nothing to do with your OS?
  • SeanClt
    SeanClt over 8 years
    Oh sorry misunderstood
  • Tom Yan
    Tom Yan over 8 years
    @SeanClt updated my answer (the bold text), if you still can't help yourself with it then well, good luck
  • Admin
    Admin almost 2 years
    It worked on my old PC like a charm! I was always wondering how to enter the EFI shell...thanks.