Boot a Mac into FreeDOS for SpinRite or ReadSpeed

  • SpinRite v6.1 is Released!
    Guest:
    That's right. SpinRite v6.1 is finished and released. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in:

    This forum does not automatically send notices of new content. So if, for example, you would like to be notified by mail when Steve posts an update to his blog (or of any other specific activity anywhere else), you need to tell the system what to “Watch” for you. Please checkout the “Tips & Tricks” page for details about that... and other tips!

    /Steve.
  • Announcing “BootAble” – GRC's New Boot-Testing Freeware
    Please see the BootAble page at GRC for the whole story.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)


Scott

Member
Sep 18, 2020
12
5
Here's how to how to boot a Mac from a USB flash drive into FreeDOS to run DOS-based utilities like SpinRite or ReadSpeed

What's NOT covered:​

  • Creating a bootable USB drive on a Mac
    • The standard SpinRite Media Creation utility only runs under Windows. Best bet is to create the USB on a Windows PC, or @Steve plans to provide downloadable bootable ISO and IMG files files which can be imaged to media (USB or CD) on the Mac.
  • Booting from a CD-ROM instead of a flash drive

Background​

Can my Mac boot FreeDOS?​


FreeDOS is an operating system that requires a computer with either a BIOS, or UEFI which has the ability to go into BIOS/CSM/Legacy mode. Intel Macs don't have a BIOS, they use EFI or UEFI. When Boot Camp was introduced in 2006, Apple updated the firmware on the then-current (and subsequent) Mac models to add a CSM (Compatibility Support Module); this allowed Windows installations in BIOS mode. For some later models they removed this BIOS mode and only allowed Boot Camp to install Windows in UEFI mode.

I believe the following rules should apply to determine which systems can boot FreeDOS and run SpinRite or ReadSpeed:
  • Your system must have an Intel processor, not a newer processor (Apple Silicon - M1, M2, M3, etc.). or older processor (PowerPC or Motorola)
  • If your system is from 2015 or newer, it's probably UEFI only and can't boot FreeDOS (but please try, and comment if it works!)
  • If your system is from 2012 to 2014, it may or may not be able to boot FreeDOS from a flash drive
  • If your system is from 2012 or earlier it should be able to boot from a FreeDOS flash drive

Also note that if, based on date, your system should be able boot from a USB drive but won't, it may be able to boot from a CD-ROM prepared with FreeDOS. That will be the subject of another post on this forum.

Do I need Boot Camp installed on my Mac to boot to DOS?​

No. The ability to boot to a BIOS or UEFI-based OS is a capability of the firmware. It's a good idea to make sure that your firmware is up to date. If you're not sure if it is, I'd suggest running the Silent Knight Utility:

https://eclecticlight.co/lockrattler-systhist/

Note also that firmware upgrades only come with MacOS updates. so if your firmware is out of date, you probably need to update your MacOS version.

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.


How to do it​

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). If running SpinRite, run the SpinRite Media Creation process on a Windows PC to make a bootable USB. Then try the three methods below, in order from simplest to most complex.

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 disabling SIP.​

2. Disable SIP, then try Option Key method
A. 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.​
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)​
B. Now hold down the Option key and select the drive, as noted in 1, above​

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, 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.​

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.

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:
I'm struggling a bit to get SpinRite to run on a late 2014 Mac Mini. I am using the process below because the bootable CD-ROM made by running SpinRite.exe on Windows 10 does not recognize my USB keyboard on my Mac Mini. FreeDOS does--so that's what I'm going with for now.

Here is my current process, in the hopes that it is helpful to someone else.

1. Download SpinRite 6.0
2. Download DreeDOS 1.3 Live CD
3. Copy FD13LIVE.iso to Linux box
4. Make a mount point for the ISO: cd /media; mkdir FreeDOS
5. Mount FD13LIVE.iso: mount -t auto -o loop FD13LIVE.sio media/FreeDOS
6. Make a working directory for new ISO: mkdir /home/[user]/spinrite-CDROOT
7. Copy ISO files to a working directory: cp -R * /home/[user]/spinrite-CDROOT
8. Add new files to working directory: cp /path/to/spinrite.exe /home/[user]/spinrite-CDROOT/FreeDOS/bin
9. Edit FDAUTO.BAT and FDCONFIG.SYS as necessary+
10. Make new ISO: sudo mkisofs -J -r -D -V "SpinRite" -o SpinRite.iso -b "isolinux/isolinux.bin" -no-emul-boot -boot-load-size 4 -boot-info-table spinrite-CDROOT
11. Burn new ISO to CD-ROM
12. Insert new CD-ROM into Mac Mini
13. Power up holding donw left "option" key until boot menu appears
14. Select CD-ROM
15. Select "FreeDOS 1.3 Live Environment"
16. When you get a boot prompt, change to CD-ROM drive (D: in my case)
17. Change to SpinRite.exe dir: cd FreeDOS\bin
18. Run SpinRite: spinrite.exe

Currently, I get a memory error. The "mem /c" command shows that I only have a total of 349K conventional memory.

SpinRite is asking for an additional 197K, so if I could get SpinRite to use the regular 640K of conventional memory, this should work fine. I'm not sure if this is a limitation of the Apple hardware, FreeDOS 1.3, or a misconfiguration, which would require returning to step #9 above.

I also have a total of 0K upper memory--not 0K free, but 0K total, 0K used, and 0K free. So I'm hoping this is a configuration issue and I can soon have SpinRite running on my now dead Mac Mini. (I was able to recover some files using Apple's recovery partition, but I'm still missing a lot of important files.)

Off to preach the importance of backups, but who'd listen? :p
 
Last edited:
Greetings...

This may be a little late coming, but anyway...

I (finally) just got SR61 rc5 to run on my MacBook Pro mid-2012! ...I figured out that it didn't like the USB (thumb) drive(s) I had been using - I had just done a recent upgrade using the OCLP utility to install a newer version of macOS on this machine and the only way to boot using USB was to use an external USB enclosure with an SSD installed. The light-bulb went off that this would probably work for SpinRite also -- so I used the same external USB enclosure and ran the WinSpin utility on my Win 10 machine to install the boot files, etc. onto this external drive. Power-up the MBP w/the "option" key held down and *presto* there was the boot option for the USB drive...the USB icon is labeled as "Windows", but it's the FreeDOS environment. While booting, it took a little while to recognize the second HDD (I have a 2.5in SSD primary drive, along with a 2nd HDD in the optical bay). FYI - it also threw up the "Confirming BIOS's Reported Drives" msg during startup, but then continued to the opening screen. Ran a level1 scan on the SSD (all good), then ran a level2 scan on the HDD (all good).

Note: It did freeze before exiting to the SPINRITE FINISHED popup, but I think it over heated, either the drive or the CPU as the system was hard froze and needed to be shut down with the power button.

Some details for those interested:
MacBook Pro 2012(mid) - currently running macOS Monterey 12.7.2 w/OCLP 1.3
USB enclosure: "Sabrent" USB3 with a Cruial SSD 250GB installed.
System drive: Samsung 840 EVO SSD (250GB)
Data drive: OEM Apple HDD (500GB)
(Some pics attached)
IMG_0548.JPEG
IMG_0549.JPEG
IMG_0550.JPEG
IMG_0551.JPEG
IMG_0553.JPEG
 
Hello,
Your approach to running SpinRite on a Mac seems like something I would like to try. I have had no success with the previously posted approaches to running Spinrite on an Intel Mac. I've tried 5 different USB drives and even a fancy external 1 TB Samsung external without success with the previously posted approaches. The second approach with a complicated series of commands using a Linux box and then multiple steps is over my level.

It's not clear to me, after doing all this, whether SpinRite, once booted on a Mac, would 'see' another USB drive I wanted to repair plugged into the Mac.

I've got a 2007 iMac and (a 2008 iMac that I've updated to Monterey with Open Core Legacy) but I've had no success booting from a the SpinRite USB drive that I prepared using SpinRite 6.1 RC6 running on VM Fusion Windows10. (Of course, I disabled SIP with the terminal command)

--> I'm wondering if you can give some details about your approach? Specifically, what is the WinSpin Utiility you used? (A Google Search turned up nothing.) It's not clear what your steps were...did you create the USB external drive with Sprite 61. first, then add the windows boot drivers? How did you do that? I'm not a Windows guy so a step by step would go a long way. Thanks so much.
 
--> I'm wondering if you can give some details about your approach? Specifically, what is the WinSpin Utiility you used? (A Google Search turned up nothing.) It's not clear what your steps were...did you create the USB external drive with Sprite 61. first, then add the windows boot drivers? How did you do that? I'm not a Windows guy so a step by step would go a long way. Thanks so much.

Hi @theweatherguy ,

The main issue I had with booting my MBP from USB appears to be that it didn't like USB "thumb" drives for some reason...the boot icon would never show up when holding down the option key. When I used an external USB enclosure with an SSD drive -- the boot icon *did* show up, and that ext USB drive *was* bootable. I can't speak to using VMware Fusion w/Windows to create the boot drive...it certainly seems like it could have issues. Luckily, I have a separate PC laptop (Win10) that I can run the official SpinRite "WinSpin" windows utility that creates the bootable SpinRite USB drive...and that's exactly what I did with the same external USB drive enclosure (and SSD) that I had previously installed macOS with. "WinSpin" is a nickname used around the GRC newsgroups to indicate this Windows utility...it is provided by GRC as part of SpinRite (it is actually a hybrid .exe in that it can run on Windows *OR* DOS, but the Windows part is the boot drive creator, and the DOS part is actually SpinRite itself.)

You mentioned "windows boot drivers" -- there are no such thing for SpinRite...all you need is the WinSpin utility, a USB drive, and a Windows PC to put it all together...Like I said, *MY* particular MacBookPro (mid 2012) didn't seem to like USB "thumb/flash" drives...it would only work with an external USB enclosure with an SSD/HDD installed. You may want to test your Mac with a macOS installer installed to the USB drive you want to use for SpinRite...if you can boot into that (macOS installer), you should be able to use that same USB drive as a SpinRite boot USB drive. The only other thing I can think of, is instead of using VMware Fusion for access to Windows -- that you use Boot Camp and actually install Windows naitively on your Mac...my guess is that would have more success than using Fusion with WinSpin.

As far as testing ANOTHER USB drive attached to the Mac...I can't speak to that...in theory it should work, but would only be accessing the 2nd USB drive via the BIOS(?) which is limited in speed and ability to access large drives (>137GB and/or 2.2TB).

The enclosure I used was -- (available on Amazon)

SABRENT 2.5 Inch SATA to USB 3.0 Tool (model EC-UASP).​


If I get time I may setup Boot Camp on my MBP to see if creating WinSpin on that would work, however, I don't want to screw up my Mac install which is working so nice.

Good Luck and Regards,
Thomas
 
I've got a 2007 iMac and (a 2008 iMac that I've updated to Monterey with Open Core Legacy) but I've had no success booting from a the SpinRite USB drive that I prepared using SpinRite 6.1 RC6 running on VM Fusion Windows10. (Of course, I disabled SIP with the terminal command)

Hi @theweatherguy

OK...so I bit the bullet today and installed Windows 10 Pro on my MacBook Pro via Boot Camp...luckily all went well. (Except for a Windows activation issue, but anyway...)

The bottom line is...I *WAS* able to create a fully functional SpinRite USB thumb drive by running the WinSpin utility on my BootCamp'd Win 10 system. I tested said SR thumb drive on my PC laptop...which booted up into SpinRite properly, without issue.

So, in conclusion, I'd say if you can setup Windows 10 via Boot Camp on (one) of your iMac's...you should be able to then d/l the WinSpin utility from the GRC pre-release page and use it to create a proper functioning SpinRite boot drive. As for if you can then test another USB connected drive...I did not get that far, maybe I can try it soon and I will report back.

In terms of setting up Boot Camp on a Mac that's running OCLP...I found a great resource on YouTube...guy goes by the name Mr. Macintosh. He also has a corresponding web site that hosts many useful resources. Here's a link to the video I used today to help with boot camp install/configuration.


***PLEASE NOTE*** :: I just realized -- In the above referenced instructional video...he only mentions compatible systems (macs) dating back to 2009...so I don't know if you will be able to setup boot camp using this method (with OCLP), even though OCLP *does* support the iMac models you mention you own (2007 and 2008). This is going to take some investigation to see what works on your particular systems.

I think if you can get *any* version of Windows up and running on one of your iMacs via boot camp...you should be OK. Good luck and hope it works out for you.

Regards,
Thomas
 
Thomas (@TProbst67) : Nice going!

The only thing I'll add is that I have always planned (and still do) to arrange to provide directly downloadable bootable ISO and IMG files files so that people who cannot run SpinRite under Windows will still be able to get it booted.
 
Thomas (@TProbst67) : Nice going!

The only thing I'll add is that I have always planned (and still do) to arrange to provide directly downloadable bootable ISO and IMG files files so that people who cannot run SpinRite under Windows will still be able to get it booted.

Thanks @Steve !

Oh yeah, I forgot about that (ISO / IMG file download)...Doh!

Since I went this far (with the Mac info), maybe I'll figure out the details of creating said USB boot device on macOS and documenting it here for sake of completeness. (Using the ISO/IMG file, I mean.)

Coincidentally...
I was just looking at the "Rethinking SR downloads" thread over on the newsgroups...how will the downloadable ISO and IMG files work in terms of licensing and user serial #'s...?

Regards,
Thomas
 
.....

It's not clear to me, after doing all this, whether SpinRite, once booted on a Mac, would 'see' another USB drive I wanted to repair plugged into the Mac.

.....
I just tried this.
1. Inserted two USB drives into my 2012 MacBook Pro prior to booting. One had FreeDOS and SR 6.1 RC 06, the other was an IDE drive in an IDE to USB adapter that had a Mac Filesystem on it
2. Powered on, held down the Option key
3. My Mac offered the Boot Menu selection of booting to MacOS or "Windows"
4. I selected Windows, which booted the FreeDOS / SpinRite USB
5. When SpinRite started, it saw the other USB drive (listed as BIOS attached so it had no information on the type of drive).
6. SpinRite was able to scan that other USB drive (I only let it go for 2% then I stopped it)

Conclusion -- if you have the target drive attached via USB to your Mac at boot time, the Mac's BIOS emulation will recognize it, and so SpinRite will also see it and be able to operate on it.