<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=UEFI_Shell</id>
	<title>UEFI Shell - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=UEFI_Shell"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=UEFI_Shell&amp;action=history"/>
	<updated>2026-05-03T09:23:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=UEFI_Shell&amp;diff=5465&amp;oldid=prev</id>
		<title>Kenneth: /* Manually Boot a Windows Boot Partition */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=UEFI_Shell&amp;diff=5465&amp;oldid=prev"/>
		<updated>2020-04-13T16:20:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Manually Boot a Windows Boot Partition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== UEFI Shell ==&lt;br /&gt;
&lt;br /&gt;
== startup.nsh ==&lt;br /&gt;
&lt;br /&gt;
Startup script&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Press ESX in 5 seconds to skip startup.nsh, any other key to continue.&lt;br /&gt;
&lt;br /&gt;
Can be located on any UEFI partition, and even have multiples.&lt;br /&gt;
&lt;br /&gt;
== Shell Commands ==&lt;br /&gt;
&lt;br /&gt;
== VMware ESXi 5.0 UEFI Shell Commands ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
?             - Displays the EFI Shell command list or verbose command help&lt;br /&gt;
alias         - Displays, creates, or deletes EFI Shell aliases&lt;br /&gt;
attrib        - Displays or changes the attributes of files or directories&lt;br /&gt;
cd            - Displays or changes the current directory&lt;br /&gt;
cls           - Clears standard output and optionally changes background color&lt;br /&gt;
comp          - Compares the contents of two files&lt;br /&gt;
connect       - Connects one or more EFI drivers to a device&lt;br /&gt;
cp            - Copies one or more files or directories to another location&lt;br /&gt;
date          - Displays or changes the current system date&lt;br /&gt;
dblk          - Displays one or more blocks from a block device&lt;br /&gt;
devices       - Displays the list of devices managed by EFI drivers&lt;br /&gt;
devtree       - Displays the EFI Driver Model compliant device tree&lt;br /&gt;
dh            - Displays EFI handle information&lt;br /&gt;
disconnect    - Disconnects one or more EFI drivers from a device&lt;br /&gt;
dmem          - Displays the contents of memory&lt;br /&gt;
dmpstore      - Displays all EFI NVRAM variables&lt;br /&gt;
drivers       - Displays the EFI driver list&lt;br /&gt;
drvcfg        - Invokes the Driver Configuration Protocol&lt;br /&gt;
drvdiag       - Invokes the Driver Diagnostics Protocol&lt;br /&gt;
echo          - Controls batch file command echoing or displays a message&lt;br /&gt;
edit          - Full screen editor for ASCII or UNICODE files&lt;br /&gt;
eficompress   - Compress a file&lt;br /&gt;
efidecompress - Decompress a file&lt;br /&gt;
err           - Displays or changes the error level&lt;br /&gt;
exit          - Exits the EFI Shell environment&lt;br /&gt;
for           - Executes commands for each item in a set of items&lt;br /&gt;
goto          - Forces batch file execution to jump to specified location&lt;br /&gt;
guid          - Displays all registered EFI GUIDs&lt;br /&gt;
help          - Displays the EFI Shell command list or verbose command help&lt;br /&gt;
hexedit       - Full screen hex editor&lt;br /&gt;
if            - Executes commands in specified conditions&lt;br /&gt;
ifconfig      - Modifies the default IP address of UEFI network stack.&lt;br /&gt;
load          - Loads and optionally connects one or more EFI drivers&lt;br /&gt;
loadpcirom    - Loads a PCI Option ROM&lt;br /&gt;
ls            - Displays a list of files and subdirectories in a directory&lt;br /&gt;
map           - Displays or defines mappings&lt;br /&gt;
mem           - Displays the contents of memory&lt;br /&gt;
memmap        - Displays the memory map&lt;br /&gt;
mkdir         - Creates one or more directories&lt;br /&gt;
mm            - Displays or modifies MEM/MMIO/IO/PCI/PCIE address space&lt;br /&gt;
mode          - Displays or changes the console output device mode&lt;br /&gt;
mount         - Mounts a file system on a block device&lt;br /&gt;
mv            - Moves one or more files or directories to another location&lt;br /&gt;
openinfo      - Displays the protocols and agents associated with a handle&lt;br /&gt;
pause         - Prints a message and waits for keyboard input&lt;br /&gt;
pci           - Displays PCI device list or PCI function configuration space&lt;br /&gt;
ping          - Ping a target machine with UEFI network stack&lt;br /&gt;
reconnect     - Reconnects one or more EFI drivers to a device&lt;br /&gt;
reset         - Resets the system&lt;br /&gt;
rm            - Deletes one or more files or directories&lt;br /&gt;
sermode       - Sets serial port attributes&lt;br /&gt;
set           - Displays or modifies EFI Shell environment variables&lt;br /&gt;
shift         - Shifts batch file input parameter positions&lt;br /&gt;
smbiosview    - Displays SMBIOS information&lt;br /&gt;
stall         - Stalls the processor for the specified number of microseconds&lt;br /&gt;
telnetmgmt    - Change terminal type&lt;br /&gt;
time          - Displays or changes the current system time&lt;br /&gt;
timezone      - Displays or sets time zone information&lt;br /&gt;
touch         - Updates filename timestamp with current system date and time&lt;br /&gt;
type          - Displays file contents&lt;br /&gt;
unload        - Unloads a EFI driver&lt;br /&gt;
ver           - Displays EFI Firmware version information&lt;br /&gt;
vol           - Displays or changes a file system volume label&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shell Programming ==&lt;br /&gt;
&lt;br /&gt;
MS DOS Batch Hell!&lt;br /&gt;
&lt;br /&gt;
See [[DOS Batch Programming]]&lt;br /&gt;
&lt;br /&gt;
Can use &amp;#039;type&amp;#039; and &amp;#039;edit&amp;#039; to see and edit scripts.&lt;br /&gt;
&lt;br /&gt;
 set myvar 1&lt;br /&gt;
 set myvar &amp;quot;hello world&amp;quot;&lt;br /&gt;
 echo %myvar%&lt;br /&gt;
&lt;br /&gt;
== Booting UEFI Shell ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Now you need to copy binary of EFI shell to that partition. You can find 64-bit binary of EFI shell in EFI Development Kit: {EDK}\Other\Maintained\Application\UefiShell\bin\x64\Shell_full.efi. Copy it to your FAT32 partition as \EFI\BOOT\BOOTX64.EFI.&amp;quot; [http://x86asm.net/articles/uefi-programming-first-steps/#Booting-into-EFI-Shell]&lt;br /&gt;
&lt;br /&gt;
== Executing UEFI Applications ==&lt;br /&gt;
&lt;br /&gt;
* Enter the application name at the command prompt&lt;br /&gt;
* The EFI shell uses “path” environment variable&lt;br /&gt;
* The EFI shell automatically adds “.efi”&lt;br /&gt;
* If suffix is .nsh, it will execute shell commands inside of the .nsh file similar to .bat in DOS&lt;br /&gt;
&lt;br /&gt;
 path = fs0:&amp;gt;efitools;fs0:;.&lt;br /&gt;
 test.efi&lt;br /&gt;
 test&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* UEFI Shell | Intel® Developer Zone - http://software.intel.com/en-us/articles/uefi-shell&lt;br /&gt;
&lt;br /&gt;
== Output Redirection ==&lt;br /&gt;
&lt;br /&gt;
Redirect standard output to a Unicode file:&lt;br /&gt;
 memmap 1&amp;gt; Foo.txt&lt;br /&gt;
&lt;br /&gt;
Redirect standard output to an ASCII file:&lt;br /&gt;
 memmap 1&amp;gt;a Foo.txt&lt;br /&gt;
&lt;br /&gt;
Append a file using redirection of standard output&lt;br /&gt;
 memmap 1&amp;gt;&amp;gt;a Foo.txt&lt;br /&gt;
&lt;br /&gt;
Redirect standard error to a Unicode file&lt;br /&gt;
 memmap 2&amp;gt; Foo.txt&lt;br /&gt;
&lt;br /&gt;
Redirect standard error to an ASCII file&lt;br /&gt;
 memmap 2&amp;gt;a Foo.txt&lt;br /&gt;
&lt;br /&gt;
== EFI Shell Commands ==&lt;br /&gt;
&lt;br /&gt;
Shell Command Manual (pdf) - ftp://ftp.heanet.ie/mirrors/sourceforge/e/ef/efi-shell/documents/ShellCommandManual.pdf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              dmem         drivers&lt;br /&gt;
dh            dmpstore     devtree&lt;br /&gt;
help ?        err          devices&lt;br /&gt;
map           guid         connect&lt;br /&gt;
mount     &lt;br /&gt;
pci           disconnect&lt;br /&gt;
load          mm           openinfo&lt;br /&gt;
unload        reset        reconnect&lt;br /&gt;
loadbmp       stall        drvcfg&lt;br /&gt;
nshell        getmtc       drvdiag&lt;br /&gt;
ver           hexedit      loadpcirom&lt;br /&gt;
memmap        Setsize&lt;br /&gt;
bcfg          Set&lt;br /&gt;
Dblk&lt;br /&gt;
alias&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* UEFI Shell | Intel® Developer Zone - http://software.intel.com/en-us/articles/uefi-shell&lt;br /&gt;
&lt;br /&gt;
== Internal EFI Shell Commands ==&lt;br /&gt;
&lt;br /&gt;
Commands that are built into the shell environment and are not .efi applications that are loaded&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
help&lt;br /&gt;
dh&lt;br /&gt;
map&lt;br /&gt;
guid&lt;br /&gt;
alias&lt;br /&gt;
set&lt;br /&gt;
exit&lt;br /&gt;
Cd&lt;br /&gt;
type&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* UEFI Shell | Intel® Developer Zone - http://software.intel.com/en-us/articles/uefi-shell&lt;br /&gt;
&lt;br /&gt;
== EFI Shell Commands ==&lt;br /&gt;
&lt;br /&gt;
EFI Shell Commands&lt;br /&gt;
&lt;br /&gt;
DOS like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attrib&lt;br /&gt;
date&lt;br /&gt;
edit &lt;br /&gt;
time&lt;br /&gt;
break&lt;br /&gt;
cls&lt;br /&gt;
mode&lt;br /&gt;
vol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Batch Commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(*.nsh files)&lt;br /&gt;
echo&lt;br /&gt;
exit&lt;br /&gt;
for&lt;br /&gt;
goto&lt;br /&gt;
if&lt;br /&gt;
Pause&lt;br /&gt;
Equivalent to *.bat files&lt;br /&gt;
Note: startup.nsh = autoexec.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unix-like Shell Commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls &lt;br /&gt;
rm &lt;br /&gt;
cp &lt;br /&gt;
mv&lt;br /&gt;
mkdir &lt;br /&gt;
type&lt;br /&gt;
alias&lt;br /&gt;
set&lt;br /&gt;
touch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* UEFI Shell | Intel® Developer Zone - http://software.intel.com/en-us/articles/uefi-shell&lt;br /&gt;
&lt;br /&gt;
== USB Boot Shell ==&lt;br /&gt;
&lt;br /&gt;
 diskpart&lt;br /&gt;
 list disk&lt;br /&gt;
 REM  # DO NOT SELECT DISK 0:&lt;br /&gt;
 select disk 1&lt;br /&gt;
 clean&lt;br /&gt;
 convert gpt&lt;br /&gt;
 create partition primary&lt;br /&gt;
 list part&lt;br /&gt;
 select partition 1&lt;br /&gt;
 format fs=fat32 label=&amp;quot;EFI_1&amp;quot; quick&lt;br /&gt;
 REM # note: not required, but you can specify drive letter: &amp;quot;assign letter=s&amp;quot;&lt;br /&gt;
 assign&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* HOW TO: Use the Diskpart.efi Utility to Create a GUID Partition Table Partition on a Raw Disk in Windows - http://support.microsoft.com/kb/297800&lt;br /&gt;
* SourceForge.net: Efi-shell - tianocore - http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell&lt;br /&gt;
* SourceForge.net: Efi-shell - tianocore - http://sourceforge.net/projects/efi-shell/files/Releases/Official%20Releases/&lt;br /&gt;
* EFI Shell Getting Started Guide - http://sourceforge.net/projects/efi-shell/files/EFI_Shell_getting_Started_GuideVer0_31.pdf/download [http://iweb.dl.sourceforge.net/project/efi-shell/EFI_Shell_getting_Started_GuideVer0_31.pdf]&lt;br /&gt;
* [Solution] Boot Linux in UEFI mode from HDD! - http://communities.intel.com/thread/33793&lt;br /&gt;
&lt;br /&gt;
== Download UEFI Shell ==&lt;br /&gt;
&lt;br /&gt;
Download Tianacore EFI Shell files (source) - http://sourceforge.net/projects/efi-shell/files/Releases/Official%20Releases/&lt;br /&gt;
* EfiShell 1.06.zip (src)&lt;br /&gt;
&lt;br /&gt;
SourceForge.net: ShellPkg - tianocore - http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ShellPkg&lt;br /&gt;
* Getting the Shell 2.0 - This provides a shell application, a set of NULL-named libraries that provide configurable command sets, and libraries for creating more Shell applications and shell commands. See the ReadMe for more info.&lt;br /&gt;
** Source Repository - edk2/ShellPkg - https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg&lt;br /&gt;
*This provides binary shell applications. There are a few versions for different usage models. See the ReadMe for more info.&lt;br /&gt;
** Binary Repository - edk2/ShellBinPkg - https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg&lt;br /&gt;
&lt;br /&gt;
Precompiled x86_64 UEFI Shell v2 binary (may not be up-to-date) - https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Obtaining_UEFI_Shell]&lt;br /&gt;
* UEFI Shell v2 binary - https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
Precompiled BIN - https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface [http://communities.intel.com/thread/33793]&lt;br /&gt;
* x86_64 UEFI Shell 2.0 (Beta) - https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
Save as:&lt;br /&gt;
 \EFI\BOOT\BOOTX64.EFI&lt;br /&gt;
 \EFI\BOOT\Shellx64.efi  (on some servers)&lt;br /&gt;
&lt;br /&gt;
== Manually Boot a Windows Boot Partition ==&lt;br /&gt;
&lt;br /&gt;
 cd fs0:&lt;br /&gt;
 cd boot&lt;br /&gt;
 bootx64.efi&lt;br /&gt;
&lt;br /&gt;
=== Add Boot Option in BIOS ===&lt;br /&gt;
&lt;br /&gt;
Add Boot Option - give name&lt;br /&gt;
&lt;br /&gt;
Path for boot option&lt;br /&gt;
* should auto detect file system, select&lt;br /&gt;
* File to Boot:  \EFI\Boot\bootx64.efi&lt;br /&gt;
&lt;br /&gt;
== Old Itanium Shell ==&lt;br /&gt;
&lt;br /&gt;
(from AppLabs project)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot into EFI shell&lt;br /&gt;
uses standard EFI commands&lt;br /&gt;
F8&lt;br /&gt;
drivers&lt;br /&gt;
drvcfg 66&lt;br /&gt;
drvcfg -s 66 75&lt;br /&gt;
  select - 1 - set enabled, then all defaults&lt;br /&gt;
save&lt;br /&gt;
exit&lt;br /&gt;
map -r   #s ??&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# uses standard EFI commands&lt;br /&gt;
# use [shift]-[h] for backspace&lt;br /&gt;
drivers    # shows all available drivers&lt;br /&gt;
           # 65 should be &amp;quot;Intel(R) PRO/1000 3.3.08 EFI-32    e3308&amp;quot;&lt;br /&gt;
           # 66 should be &amp;quot;Hitachi Fibre channel Driver    ScsiBusFive&amp;quot;&lt;br /&gt;
drvcfg 66  # show you the driver handle and controller&lt;br /&gt;
           #&lt;br /&gt;
&lt;br /&gt;
drvcfg -s 66 75 [enter]  # use drv and ctrl from previous&lt;br /&gt;
  select [enter]  # show and select an adapter to setup&lt;br /&gt;
  1 [enter]       # select the adapater&lt;br /&gt;
  set [enter]     # setup basic options&lt;br /&gt;
    y, 1 [enter]  # enable boot function&lt;br /&gt;
    [enter_rep.]  # then all defaults for the rest&lt;br /&gt;
  save [enter]    # save options&lt;br /&gt;
    y             # save&lt;br /&gt;
  exit [enter]    # exit drvcfg&lt;br /&gt;
                  # result: Drv[66]  Ctrl[75]  Lang[eng] - Options set.  Action Required is None&lt;br /&gt;
reconnect -r [enter]  # reconnect devices&lt;br /&gt;
                  # result: ReconnectController(0,0,0) : Status = Success&lt;br /&gt;
map -r            # show mapped devices&lt;br /&gt;
                  # result: Device mapping table...&lt;br /&gt;
#reset            # reboot HVM&lt;br /&gt;
exit              # exit back to boot menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
UEFI EFI&lt;br /&gt;
&lt;br /&gt;
[[Category:Microsoft]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:UEFI]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>