This How To is in Three Parts:
First, of course, make sure you have a flash drive with FreeDOS on it as outlined in Step 2 above. Then try the three methods below, in order from simplest to most complex.
If that doesn't work, you could try disabling all aspects of SIP:
1. System reboots but instead of starting FreeDOS, you get the message:
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 welcome!
- Part 1 - Intro
- Part 2 - Media Creation - How to make a bootable USB on your Mac for Bootable, ReadSpeed, or SpinRite
- Part 3 - Booting your Mac - How to get your Mac to boot from external media instead of the internal hard drive - this post
Booting your Mac - How to get your Mac to boot from external media instead of the internal hard drive
Here's how to how to boot a Mac from a USB flash drive into FreeDOS to run DOS-based utilities like Bootable, ReadSpeed or SpinRite.First, of course, make sure you have a flash drive with FreeDOS on it as outlined in Step 2 above. Then try the three methods below, in order from simplest to most complex.
- 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 disabling SIP.
- Disable SIP, then try Option Key method
- Are you running MacOS version 10.11 (El Capitan) or newer? Then the option key method above probably won't work without first disabling SIP (System Integrity Protection), which is sort of Apple's equivalent of Secure Boot on PCs.
- Check if SIP is enabled. Open the terminal, from the command line type:
csrutil status
- If status is disabled AND you already tried the Option Key method, then proceed with Step 3B. Else disable SIP and try the Option key method again
- Disable SIP -- unmodified Mac (not using Open Core Legacy Patcher
- Turn off your Mac (Apple > Shut Down).
- Hold down Command-R and press the Power button to boot into Recovery Mode
- Wait for MacOS to boot into the MacOS Utilities window
- Choose Utilities > Terminal, and at the terminal prompt enter
csrutil disable
- You should get confirmation that SIP is disabled
- Restart your Mac (or Shut Down and then Power On)
- Now hold down the Option key and select the drive, as noted in 1, above
- Disable SIP -- using Open Core Legacy Patcher
- Open OCLP
- Select the settings button at the bottom of the window
- Select the "Security" menu
- Under "System Integrity Protection," select all the checkmarks.
- Exit the settings
- Build and install OCLP
- Reboot
- Now hold down the Option key and select the drive, as noted in 1, above
- Check if SIP is enabled. Open the terminal, from the command line type:
- Are you running MacOS version 10.11 (El Capitan) or newer? Then the option key method above probably won't work without first disabling SIP (System Integrity Protection), which is sort of Apple's equivalent of Secure Boot on PCs.
3. 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. Steps for this method follow.
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. Just disable SIP as noted in 2A, above.
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, and if you boot the system with other USB drives plugged in, those drives may be visible to SpinRite as well (listed as BIOS-accessible drives).
I'm running Open Core Legacy Patcher, will this work for me?
OCLP is a tremendous program which allows older Macs to run newer versions of MacOS than they were designed for. In order to do this, OCLP writes additional UEFI drivers to the MacOS disk and adds additional information to the Mac's PRAM pre-boot environment; it also partially disables SIP. Because SIP is disabled, a Mac running OCLP can usually boot FreeDOS just by using the Option key method noted above.If that doesn't work, you could try disabling all aspects of SIP:
- Open OCLP
- Select the settings button at the bottom of the window
- Select the "Security" menu
- Under "System Integrity Protection," select all the checkmarks.
- Exit the settings
- Build and install OCLP
- Reboot
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.
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.
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?
Comments welcome!
Last edited: