How To: Run SpinRite on a UEFI-only machine (Part 4A of 5 - MacOS as base OS)

  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • 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

Well-known member
Sep 18, 2020
128
36
NOTE: These steps will create a MacOS environment on a USB flash drive. As I only have one Mac, I assume it's a portable environment but I can't test that assumption.

This How To article is split into multiple parts:
  1. Introduction
  2. Using Windows to Go as the base OS for your bootable VirtualBox system
  3. Using Kubuntu Linux as the base OS for your bootable VirtualBox system
  4. Using MacOS as the base OS for your bootable VirtualBox system
    1. Part 4A - Setting up the MacOS drive, Installing VirtualBox (this article)
    2. Part 4B - Creating a SpinRite Virtual Machine, Mapping the Host drives to the SR Virtual Machine, Steps to take when moving your MacOS drive to a new Target Machine
  5. Downloading or Creating your VM and moving files in and out of the virtual drive
As noted in Part 1 of this series, one can create a VirtualBox environment suitable for SpinRite within a MacOS environment. That MacOS boot drive must be setup in a particular way.

On your Target Mac (on which you will eventually run SpinRite against its drives)​

A. Creating an external MacOS Boot Drive​

  1. Target Mac MUST BE AN INTEL MAC; there is no current solution for Apple Silicon Macs.
  2. Create an external, bootable MacOS drive
    1. There are plenty of websites explaining how to do this, and you need do nothing out of the ordinary to get ready for VirtualBox
    2. Here's a good example set of instructions:
    3. If using Open Core Legacy Patcher (you know who you are!!):
      1. Use OCLP to create a bootable USB MacOS installer flash drive
      2. Plug another USB external drive in your system, this will hold the actual usable MacOS system
      3. Holding down the Option key, boot to the EFI partition ON THE INSTALLER drive
        1. This will then let you select the Installer partition
        2. You'll run the Installer from there
        3. And again, MAKE SURE YOU ARE INSTALLING TO YOUR EXTERNAL DRIVE!!
  3. The only special settings needed are to ensure your Mac NEVER turns off its display, sleeps / suspends, or turns off (those are all related to power savings)
    1. Instructions vary depending on whether you're on a desktop or laptop, and version of MacOS
      1. Click on this link for the instructions for your particular MacOS version:
        1. Set sleep and wake settings for your Mac
      2. On MacOS Sonoma for my Mac laptop, I:
        1. Went to the Lock Screen settings and set:
          1. "Start Screen Saver when inactive" to "Never"
          2. "Turn display off on power adapter when inactive" to "Never"
        2. Went to the Battery settings and clicked the "Options" button
          1. "Prevent automatic sleeping on power adapter when the display is off" is turned "On"
          2. "Put hard disks to sleep when possible" set to "Never"
    2. You could also try a 3rd party utility to manage this; there is a free app in the Mac app store called Amphetamine that should also do the job

B. Installing VirtualBox​

VirtualBox installation on MacOS is quite simple:
  1. Download the VirtualBox Installer from Virtualbox.org
  2. Double click the Disk Image (dmg) file
  3. Double click the installer
  4. Install VirtualBox
  5. Open your Home folder
  6. Create a new folder called "VirtualBox VMs" at this level (same level as Documents and Downloads folders)

C. Running Virtual Box as "root"​

  1. NOTE 1: There is a pre-built Virtual Machine available if you don't want to create your own. See the instructions in Part 5, here.
  2. NOTE 2: In order to access the physical drives of your system, you must ALWAYS start VirtualBox with elevated permissions:
    1. In Windows we can use "Start as Administrator"
    2. In Kubuntu we can edit the VirtualBox Application information to add the "sudo" command before starting VirtualBox, so that it always starts as root
    3. On the Mac, there is no obvious way to start a GUI-based application with elevated rights; it appears you have to go to the command line to do so
    4. Here are the instructions for this:
      1. Open a terminal window
        1. sudo virtualbox
      2. You will be prompted for the user password
      3. VirtualBox will start
      4. The first time you start VirtualBox this way, you must:
        1. Go to the VirtualBox | Preferences window
        2. Set Default machine folder to:
          1. /Users/username/VirtualBox VMs
        3. Replace username in the above command with the folder name of your home folder
        4. Exit VirtualBox, move on to Part 4B
      5. NOTES:
        1. When you start VirtualBox via the terminal and command line, do NOT close the terminal window or it will kill VirtualBox
        2. You must start VirtualBox from the command line with the sudo virtualbox command every time!!
          1. IF ANYONE HAS A BETTER WAY TO DO THIS, PLEASE LEAVE A COMMENT!!

Continued in Part 4B
 
Last edited:
My son just got SpinRite running on his Intel-based Mac Pro. I had passed your instructions on to him. He says he thinks he spotted a flaw....he says:

I think I spotted a flaw in the guys directions; at least on modern macOS; the virtual box VM must be start as root, not admin, root or you cannot access disks, even if you did everything else right. In the form of:

sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox

The config for the vm must be imported into root’s home directory or you cannot mount disks. You can tell if you did it right, if Virtual VM is listed as root in activity monitor. My boot drive should be done in three hours

I wonder why he doesn’t mention the above at all. It always failed for me if you didn’t do the above
 
M must be start as root, not admin, root or you cannot access disks, even if you did everything else right. In the form of:

sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox
Hi Paul, the instructions above explicitly state that you must start VirtualBox from the Terminal with the sudo virtualbox command every time. Additionally I note that you have to change the default VM folder in the Preferences so that they are stored under the user’s home, not the root.

See the section above called Running VirtualBox as “root”
 
Hi Paul, the instructions above explicitly state that you must start VirtualBox from the Terminal with the sudo virtualbox command every time. Additionally I note that you have to change the default VM folder in the Preferences so that they are stored under the user’s home, not the root.

See the section above called Running VirtualBox as “root”

Thanks, I'll pass this on.