Internet Newsgroup Discussion Forums


Discussion Group
grc.spinrite.dev

Subject:Boot a Mac from a USB Flash Drive into FreeDOS
Date:Thu, 30 Jul 2020 15:44:39 -0400
From:Scott F <scott200g@notreally.gmail.com>


Hey folks, I had previously posted most of this in the "MillQ DOSUSB 
Mac" thread and I've included more info on which machines will and won't 
work, and various failure modes.  This seems valuable enough to post in 
its own thread, and I'll eventually put up a blog page so I can edit as 
test results come in.

Comments welcome!!


Boot a Mac from a USB flash drive into FreeDOS

* Can my Mac boot FreeDOS?

FreeDOS is an operating system that requires a BIOS or a system with 
UEFI that has the ability to go into BIOS/CSM/Legacy mode. Intel Macs 
don't have a BIOS, they use EFI or UEFI as their firmware. When BootCamp 
was introduced in 2006, Apple added a CSM (Compatibility Support Module) 
to their existing and subsequent Macs, to allow Windows installations in 
BIOS mode. At a later point they removed the BIOS/CSM/Legacy mode and 
only allowed BootCamp to install Windows in UEFI mode.

I can't find official Apple documentation on when the CSM mode was 
removed, but I found some users claiming the following:
- 2012 and older models only support legacy BIOS Mode. There are varying
   degrees of 'EFI'ness in these, but they are not UEFI-compliant.
- Late 2013-2014 models support both EFI and BIOS, and default is BIOS.
   These are the first models which are UEFI compliant.
- 2015 and later models only support EFI and UEFI-compliant operating
   systems

Based on the above:
- If your system is from 2015 or newer, it can't boot FreeDOS. You might
   as well stop reading here :(
- If your system is from 2013 to 2014, it may be able to boot FreeDOS
   from a flash drive (or not), you can't tell until you try!
- If your system is from 2012 or earlier it should be able to boot from
   a FreeDOS flash drive


* How does my Mac know whether to boot into EFI/UEFI mode or CSM mode?

In the ways noted below, you'll tell the Mac which drive to boot from. 
Macs manage BIOS/CSM/legacy-mode booting by using the partition table as 
a cue:
- If the disk contains either an old-style Master Boot Record (MBR)
   Partition table or a hybrid MBR, and if a partition in that MBR has
   its boot flag set, the firmware activates its BIOS/CSM/legacy support,
   enabling it to boot in BIOS/CSM/legacy mode.
- If the disk contains a GPT with a conventional protective MBR, or if
   no MBR partition is marked as bootable, the firmware will boot only in
   EFI/UEFI mode


* Is there a difference between booting a drive with an MBR versus one 
with a floppy image?

Maybe. The instructions below are for booting from a standard flash 
drive with an MBR. I also tried with a USB created from a floppy image 
(.IMG file) and the same instructions worked (and the same failing flash 
drives still failed), but I haven't tested that extensively.


* Assuming my Mac is old enough, how do I boot FreeDOS from a flash drive?

First, of course, make sure you have a flash drive with FreeDOS on it 
(and that you've ideally checked to make sure it can boot a PC). Then 
try the two methods below.

1. Option key method -- try this first, as it's the simplest:
Insert your flash drive with the Mac off. On startup, hold down the 
Option key. You'll boot to the Mac's graphical Boot Manager, which 
should show all volumes from which the Mac can boot. If you see a USB 
drive icon with the Volume name "Windows", then select that Volume and 
press Enter. If your FreeDOS drive was prepared correctly and is 
compatible (more on that below), your Mac should boot into FreeDOS. If 
you don’t see the Volume on the Boot Manager, you should try the 
Software selection method.

2. Software selection method -- more complex
This method requires you to use some command line programs to tell MacOS 
that on the next reboot, it should look for a BIOS-based OS on the flash 
drive rather than MacOS on the hard drive.

A. Disable SIP (System Integrity Protection)
Are you running MacOS version 10.10 (Yosemite) or older? Then you can 
skip this step and go on to Step B. Otherwise you must disable SIP, 
which is sort of Apple's equivalent of Secure Boot on PCs.

1. Check if SIP is enabled. Open the terminal, from the command line type:
    csrutil status
If status is disabled, you can go to Step B. Else you must disable SIP.
2. Disable SIP.
    a. Turn off your Mac (Apple > Shut Down).
    b. Hold down Command-R and press the Power button to boot into
       Recovery Mode
    c. Wait for MacOS to boot into the MacOS Utilities window
    d. Choose Utilities > Terminal, and at the terminal prompt enter
          csrutil disable
    e. You should get confirmation that SIP is disabled
    f. Restart your Mac (or Shut Down and then Power On)
    g. Move on to step B to use the bless command


B. Use the bless command to tell the Mac to restart in BIOS/CSM/Legacy
mode
1. With the Mac up and running (and SIP disabled as noted), insert the 
FreeDOS USB; it will be recognized and show up on the Desktop

2. Open a terminal window. Run the "diskutil list" command, to see the 
device assigned to the USB drive. On my machine it was /dev/disk2

3. From the terminal, type the following after the prompt$:
   sudo bless --device /dev/disk2 --setBoot --nextonly --legacy --verbose

    a. You'll probably be prompted for your root password which you
       obviously must enter
    b. In the above command, obviously replace disk2 with whatever the
       device is that's assigned on your machine. Also, very important to
       have the --nextonly flag, else maybe this is a permanent change!!
    c. IMPORTANT:
       i. if the output of the bless command says "Legacy mode supported"
          AND you DON'T see something like, "could not set boot device
          property: 0xe00002bc" (or some other similar code) then you can
          proceed
     ii. if the output of the bless command says "Legacy mode supported"
          AND you DO see something like, "could not set boot device
          property: 0xe00002bc" (or some other similar code) then you
          probably did not disable SIP correctly
    iii. if the output of the bless command says "Legacy mode not
         supported on this system" then your Mac does not support
         BIOS/CSM/Legacy mode, and you will not be able to boot FreeDOS

4. Do a standard restart from the Apple menu. Your system should now 
boot from the USB into FreeDOS on the next start. Congratulations!! 
After power down, your system should boot normally from the hard drive 
into MacOS

5. The boot flash drive should be readable and writable, however I don't 
think the other USB ports will be seen, so if you need that, then you'll 
have to add some DOS-mode drivers for USB devices.


* Problems!

1. System reboots but instead of starting FreeDOS, you get the message:
"No bootable device -- insert boot disk and press any key"
This is because the system is failing in two ways:
   A. It's not reading the MBR on the flash drive correctly and so it
      then shifts into EFI mode, but...
   B. It doesn't see a valid EFI boot disk layout and so it fails.

What to do about it? Try creating a different FreeDOS disk on a 
different brand of flash drive. I used InitDisk on 11 different flash 
drives of varying brands, and only 5 of them could be seen by the Mac as 
valid boot drives. I tried prepping the failing ones with Rufus instead 
of InitDisk, and they still failed. In some cases I had seemingly 
identical drives (purchased together in a multi-pack) and one would work 
while another would not.

If anyone has a way to update these drives to reliably be detected, 
please leave a comment!

2. System reboots but you just get a grey screen.
This is also, I think, a symptom of the Mac's picky behavior with USB 
drives. I saw this when using the Option key method to start my Mac, but:
    A. Other USB drives would boot into FreeDOS
    B. The problematic drive would work when using the software selection
       ("bless") method.
Again, only suggestion is to try another drive.

3. System boots to FreeDOS but seems flaky, hangs, etc. I'm not sure, 
but I think that this may be a sign that the system is overheating. Macs 
may control their fans primarily through software, and FreeDOS will 
certainly not know how to control a system fan in the background! Any 
insight from users would be appreciated here.


* Comments?

I don't know everything, but I've been reading a lot to try and get a 
handle on this stuff. If others have more information please leave 
comments below!! In particular, any way to get a non-functioning USB 
drive to work reliably would be greatly appreciated!!


You are invited to participate in our online community:

Newsgroups
 news

 news.feedback

 news.latestversions

 leaktest

 privacy

 shieldsup

 spam

 sqrl

 scifi
 security

 security.hardware

 security.software

 security.wireless

 securitynow

 techtalk.cryptography

 techtalk.packetsniffing

 techtalk.localproxies

 spinrite.dev
 shieldsup

 spinrite

 spyware

 techtalk

 techtalk.dns

 techtalk.linux

 thinktank

 linkfarm

 wizmo

Click on the group name to choose the current group postings.

Jump to top of page
Gibson Research Corporation is owned and operated by Steve Gibson.  The contents
of this page are Copyright (c) 2014 Gibson Research Corporation. SpinRite, ShieldsUP,
NanoProbe, and any other indicated trademarks are registered trademarks of Gibson
Research Corporation, Laguna Hills, CA, USA. GRC's web and customer privacy policy.
Jump to top of page