How to configure UEFI Bootable FreeDOS USB stick?
FreeDOS assumes a BIOS, and does not work with UEFI
The FreeDOS wiki page wiki.freedos.org/wiki/index.php/UEFI tells us that it does not work:
UEFI is an acronym for Unified Extensible Firmware Interface.
Note that many new (2010 and later) computers boot using UEFI, which is not compatible with BIOS. FreeDOS assumes a BIOS, and does not work with UEFI.
Many motherboard manufacturers are replacing BIOS+MBR with UEFI+GPT. UEFI uses a GPT table instead of the MBR. UEFI handles large-sectored hard disks. Hard disk manufacturers are already (2010 and later) coming out with hard disks with large sectors, which BIOS does not handle (they are hard-coded to 512-byte sectors).
Almost all UEFI systems today (2021) can boot also in BIOS mode alias CSM alias legacy mode. But we can expect that in the future many PC computers will be delivered with UEFI/BIOS systems that boot only in UEFI mode.
A workaround to run FreeDOS would be to install it in a virtual machine and set this virtual machine to boot in BIOS mode alias CSM alias legacy mode. You can use VirtualBox for that purpose. (But you cannot flash the computer's BIOS that way.) There is also DOSBox, an x86 emulator with DOS.
Edit 1:
I found this link, that might be helpful:
wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux
Flashing BIOS from Linux
This article aims on providing information on flashing your system BIOS under Linux. Most manufacturers provide a Windows executable or a BIOS executable that can only be run under Windows. However, there are a few utilities that allow you to upgrade your system BIOS under Linux. Warning: Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful! You may want to consider updating microcode instead if it is supported by your system. Note:
...
For users with Dell computers, Dell recommends Linux users flash their BIOS following information located here (in short, put the .EXE on a USB stick and use the F12 boot menu to access the firmware's flash utility).
Edit 2:
Flashing BIOS from Windows PE
It is possible to run Windows PE also in UEFI mode. The standard procedure is to use your own or a friend's Windows 10 system to create a Windows PE system in a USB pendrive or CD/DVD disk.
When booted from Windows PE you can flash the BIOS.
According to this link it can be redistributed for non-commercial purposes (so OK to use a Windows PE made in a friend's Windows system).
gatorback
Updated on September 18, 2022Comments
-
gatorback over 1 year
FreeDOS .img was burned to a USB drive via balena etcher.
A UEFI only desktop does not recognize the FreeDOS USB stick for boot. USB bootup tests, on a BIOS laptop, indicates a successful legacy boot.
QUESTIONS
- What is required to be UEFI bootable?
- Is it possible to change the Partition table from MSDOS to GPT?
UPDATE
The Dell 7010 desktop firmware is old and for some reason: only UEFI boot. The Legacy boot option is greyed-out. Booting from the DVD/CD is not possible
The goal is to update the firmware with a DOS executable provided at this link:
https://www.dell.com/support/home/en-us/drivers/DriversDetails?driverId=5M70H
-
sudodus almost 4 yearsAre you sure that it is impossible to boot that computer in BIOS mode?
-
gatorback almost 4 yearsYes, for some reason it will not accept the command to enable legacy bootup.
-
sudodus almost 4 yearsPlease tell us about the computer: brand name and model. Maybe someone who reads this knows how to boot it in BIOS mode.
-
sudodus almost 4 yearsNow I see what you intend to do. Then VirtualBox is not an option, and updating the the firmware is not an option unless you can do it in Linux. The problem with FreeDOS might be that it is a 16 bit system, and UEFI does not accept such systems (we have that problem with memtest+). Maybe there is another DOS version that runs in UEFI mode. It seems overkill to get Windows for this purpose.
-
oldfred almost 4 yearsDid you turn off UEFI Secure Boot? That prevents CSM/BIOS/legacy boot.
-
gatorback almost 4 years@oldfred Thanks for the insightful question: yes the UEFI Secure Boot = disabled.
-
gatorback almost 4 yearsAlthough the underlying problem is not solved, credit is awarded because FreeDOS is apparently not able to meet the UEFI requirement
-
sudodus almost 4 yearsMaybe you dare do it from Linux, or try to get along updating microcode instead.
-
gatorback almost 4 yearsThanks for introducing
fwupdmgr
Unfortunately it seems that the Dell Optiplex 7010 is not supported by fwupd.org/lvfs/search?value=Dell+Optiplex -
korkman over 3 yearsTo clarify: there is no UEFI "requirement" any DOS variant can "meet". UEFI native boot strips away the BIOS functionality on which DOS was based. One might even say parts of DOS were delegated to BIOS. So disabling Legacy Boot is disabling vital parts of DOS.