blog home about get remote Apple support

stupid APFS tricks

APFS does a few things differently than HFS does. Some of it is under-the-hood stuff that has to do with encryption and security. But in terms of your day-to-day use, there are a couple of odd tricks it can perform.

Multiple volumes per disk partition

Most file systems create one volume per disk partition. But APFS allows multiple volumes per partition, within what it calls a container. So, if you open Disk Utillity, and choose Show All Devices from the View menu, what you’ll find is that under each drive partition (usually only one), if it’s formatted as APFS, you’ll see a container, and then within the container, you’ll see one or more volumes. I haven’t yet figured out a good use of secondary APFS volumes within a container that wouldn’t be as well solved by just making a folder on the primary volume.

If you do add a second volume to an APFS container, even though it will appear as though you added a second (or third or whatever) drive, only the first can be used for booting macOS. If you want to have more than one bootable macOS version on the same drive, that you can switch to using the option key during startup or with the Startup Disk control panel, you’ll instead need to partition the drive to get a  second APFS container.

However, Apple has. In Catalina, your macOS drive, though shown to you in the Finder as though it is a single volume like it was in all versions of macOS before it, is actually split across two volumes. One of these is the system drive, and contains parts of the operating system that don’t ever change, such as core applications like Mail, Safari, etc, as well as the unseen parts of the OS that keeps your computer running. So, from Apple’s perspective, the only reason they would change is if something were trying to modify the way the system behaves. Because that could potentially be the action of malicious software, Apple has designated this unchanging system volume of macOS to be readable, but not writeable. That would mean that bad software (or good software, for that matter) could try to change those parts of the system, but they’d be simply unable to.

Meanwhile, everything else in the OS, plus all your personal files, are designated in a writeable volume, as usual, within the same container. Then Apple glues these two volumes together in an APFS volume group, and makes their common areas (like the Applications folder) appear as a single folder via gluing the complementary files togehter with firmlinks. It’s all crazy complicated and insane. If you go looking in the basement, you’ll see two Applications folders on two volumes, each containing different things. But the Finder shows them to you as one.

Copies that don’t take up twice as much space

In HFS+, or really most file systems, if you duplicate a file (or folder), it writes a copy of all that file’s data, which, depending on its size, can take a while, and then, logically enough, you get a second file that takes up exactly as much space as the first one.

In APFS, something cool and crazy happens. What I just described is what looks like what happens. And your second file does in fact appear to take up as much space as the first one. But it doesn’t. It takes up almost nothing. That’s because what gets copied is not the file data itself, but just a reference to it. You can’t actually see that this happened, other than that it only took a few seconds to copy even a very large file or folder. And in fact it can be quite confusing, because the math on your drive no longer makes sense. If you had a 50 GB file and copy it under APFS, it looks like you’re using up 100 GB of whatever you have available. But you’re not. You’re still using 50 GB.

If you then open the second file, and change it, APFS only saves the parts of the data that changed, and changes its internal referencing so that the copied file now reflects the same data in the original that has not changed, except for the new parts that you have changed. So, in the example above, if you changed, say, 5 GB of data in the file, the two files now together occupy, in reality, 55 GB. This is known as copy-on-write, and is completely bananas.

I have used this feature of APFS to great effect when merging large photo libraries. Rule one of how I work is always set things up so I can go back a step if I need to. No one-way moves, if they can be avoided. Merging photos into a Photos library might not result in what I want, if something goes wrong. Under HFS+, I would have had to duplicate the whole Photos library first, so that it could be reverted to if need be. If that was a large Photos library — say, 200 GB — then I’d need 200 extra GB lying around. Plus the copying takes time. And, if I’m doing multiple iterations, then I need a LOT of extra space. And time.

APFS solves this problem in perfect fashion. If I duplicate that 200 GB photo library, it takes a short amount time, and takes, for all intents and purposes, no extra disk space. When I merge in new photos, those get added to the total disk space used. If I don’t get the results I expect, after the merge, no problem. I throw out the merged library, return to the pre-merged copy, and start over.

What’s challenging about copy-on-write is its lack of obviousness, and lack of consistency. As far as I know, it only happens during Finder copies. If you use the Terminal to copy, or you use “Save As…” in an Application, then you’ll get a new file that does not share data with the original, so it takes up as much space as the original, just as you would have under HFS+. And there’s no way to see, in APFS, that a file is a “references copy” rather than a full copy, nor see how much disk space is really used by it.

Snapshots

APFS has a very cool thing called snapshots. It makes your entire disk able to be reverted to a previous state. I’ve used this feature when troubleshooting a misbehaving Mac, because it enabled me to try something, say “nope, wasn’t that”, and then go back to the disk as it was, so I could try something else. When you’re not connected to your Time Machine drive, your Mac automatically makes snapshots, disk space permitting, and these are used to fill in the blanks when you reconnect. Snapshots are automatically made during macOS updates, but you can also make them on demand using “tmutil” in Terminal, or Carbon Copy Cloner (which can also restore from a snapshot without reverting the whole disk).

Copying complications

Copy-on-write and multiple volumes can cause complications when copying a whole disk with a file-based tool such as Carbon Copy Cloner. If you copy a file in the APFS Finder, and that copy gets copied to another disk, it’s going to necessarily copy all of its data. That means that, in the copy-on-write above example, your target disk will not have two related 50 GB files that in reality total 55 GB on your disk. It will end up with what you’d expect: two unrelated files that take up 50 GB each. I can imagine this would cause a complication if you are copying a nearly full disk to another disk of the same size, because that receiving disk might, counterintuitively, not be large enough.

The solution to this problem is to “block copy” the disk. Blocks are just groupings of bytes, which are themselves groupings of bits, which are to computers what atoms are to physical objects. Everything on your disk is just an ordering of bits, which are clustered into blocks. In other words, blocks are “beneath” the file system; the file system stores its data iin the blocks. So, if you ignore the concept of a file and just copy every raw block on a disk to another disk, you’ll still preserve all the relationships of copied files.

To block copy an APFS volume to another disk, or disk image, you can use Disk Utility. You need to first delete all snapshots in the volume, using “tmutil” in the Terminal, or Carbon Copy Cloner. You then need to unmount all volumes within the container. You then use the “Restore” button in Disk Utility, and specify the container as a source, and an APFS volume on the target, which will be replaced by what you’re copying. (You can’t specify the target container itself). However, Disk Utility apparently doesn’t do everything the right way in Catalina, when it comes to writing to the new disk, so you might need to go into Terminal to actually accomplish what you want. The links at the bottom of this page may be helpful for this.

One quirk of Apple’s container-copying tools — whether Disk Utility, or Terminal commands — is that, despite block-copying the entire original container, they only allow you to restore one volume from a multi-volume container. Why this is, I cannot say. What happens is this: the container (or image file representing the container) is copied as a single file to an APFS volume on the target. (If needed, any existing container on the target will be deleted, and a new container and volume will be created to receive the container-as-file.) Then, via a process Apple calls “inverting,” your chosen volume is extracted from the container-as-file, and, depending on what options you selected, it either gets added it as an additional volume of the target container, or it outright replaces the target volume, leaving you with, in effect, a block-copied APFS volume. Inverting will fail if you have any snapshots present. You need to delete them first.

If you have multiple volumes in your original container, you’ll need to repeat the process, making a point to add a volume to the target container, rather than replacing it; and you’ll have to go through the ineffecient process of recopying the entirety of the container for every volume you want from it.

There is a workaround, though — you can in fact block copy the whole container without Apple’s tools, using the “dd” commnd in the Terminal, and it will bring over all volumes contained within. It does require care to execute correctly, because if there is any chance that the original and the copy are present at the same time, the Mac can’t distinguish between them. So the volume ID’s need to be changed on the copy. And that gets complicated if the container is encrypted, because you can’t just change the ID. And the container is always encrypted on a T2-equipped Mac, if I understand things accurately, whether or not you have FileVault enabled. And I’d imagine that the partition (or whole disk) on the target disk would need to be the identical size as the source, or bad things might happen. (You could always resize partitions later once the copy is complete.)

This can also cause complications when copying a whole disk with a file-based tool such as Carbon Copy Cloner. If you copy a “references copy” made in the APFS Finder to another disk, it’s going to necessarily copy all of its data. That means that, in the above example, your target disk will not have two related files that 55 GB on your disk, but two separate files that take up 50 GB each. I can imagine this would cause a complication if you are copying a nearly full disk that has copies of files to another disk of the same size, because that receiving disk might, counterintuitively, not be large enough.

The solution to this problem is to “block copy” the disk. Blocks are just groupings of bytes, which are themselves groupings of bits, which are to computers what atoms are to physical objects. Everything on your disk is just an ordering of bits, which are clustered into blocks. In other words, blocks are “beneath” the file system; the file system stores its data iin the blocks. So, if you ignore the concept of a file and just copy every raw block on a disk to another disk, you’ll still preserve all the relationships of copied files.

To block copy an APFS container to another disk, or disk image, you can use Disk Utility. You use the “Restore” button, and specify the container as a source, and an APFS volume on the target which will be replaced with the one you’re copying (you can’t specify the container itself). However, Disk Utility apparently doesn’t do everything the right way in Catalina, when it comes to writing to the new disk, so you might need to go into Terminal to actually accomplish what you want. The links at the bottom of this page may be helpful for this.

References

I had to do some deep diving to research APFS behaviors, and the following resources were amazingly helpful:

https://gist.github.com/darwin/3c92ac089cf99beb54f1108b2e8b4b9f

https://github.com/toolbits/imagingAPFS

https://eclecticlight.co/2019/08/14/apfs-tools-suck/

https://eclecticlight.co/2017/04/08/how-to-make-your-own-apfs-volume/

https://blog.macsales.com/44912-new-capabilities-limitations-how-disk-utilitys-restore-feature-changed-in-high-sierra/

http://blog.tempel.org/2019/05/cloning-apfs-volumes-containers-apfs.html

https://apple.stackexchange.com/questions/361269/create-disk-image-disabled

“man asr” in Terminal

 

Restore Mac Finder Comments: bring back your missing Mac Finder comments

Since the dawn of the Mac, or close to it, anyway, you have been able to Get Info on a file, and enter a comment. I’ve found that pretty handy over the years, especially when a folder of files forms kind of a mini-database, and displaying the Comments column in Finder list view provides an additional field for arbitrary data.

Unfortunately, they’ve always been pretty fragile, because, historically, they were not stored in the file itself, but in a database on the system. So if you copy the file elsewhere, there’s a decent risk that you’d lose the comment that went with it, depending on how you did it.

If you add a comment to a file that is synchronized, with, say, Dropbox, and then sign into Dropbox on another computer and let it load up your files, you might find your comment missing. This is very sad. Sometimes they just go missing on their own. That’s even sadder.

Fortunately, macOS now does at least now store the comment in the file metadata, so all is not lost. Unfortunately, it doesn’t go the extra mile of showing you the comment directly from the metadata.

So, I wrote an AppleScript utility to make the comments display again. It goes and fetches the comment, and puts it back into the Get Info box where it belongs. You just drag whatever files and folders need their Finder comments restored onto the script.

We don’t have comments (har) turned on over here for spam reasons, so if you have any questions, you can shoot them to me at ivan@ivanexpert.com.

download it here: Restore Finder Comments

(Image by Jeff Djevdet of speedpropertybuyers.co.uk/, courtesy Flickr Creative Commons.)

Welcome to APFS

This is a more technical post, so you can just skip it if it’s not your bag.

All of the data on your Mac’s drive has to be organized in some fashion, so that you can get to it. This is accomplished via what is known as a file system, and the only metaphor I can come up with for it is increasingly obsolete: the card catalog of a library. The library has all these books, but if there weren’t a means of knowing which ones are where, they wouldn’t be of much value.

When you talk about formatting a disk, what you’re talking about, at least in part, is establishing a particular file system on it. Once that’s done, what you’ve got is called a volume, which is where all your information gets stored. (And, though unusual, a disk can also be partitioned, allowing it to appear it were multiple disks, each with its own file system.)

There are many different kinds of file systems for computers, some old, some new. Macs are partially compatible with some of the ones commonly found on Windows computers, so you can work with those disks. But Macs are most reliable when using Apple’s own file systems, which is why it’s usually advisable to reformat an external drive that’s going to be solely used with a Mac, because it probably came preformatted for Windows. You do this using the Mac application Disk Utility, found in the Utilities folder of Applications.

For about three decades, Apple’s primary file system has been called “Mac OS Extended”, also referred to as HFS+, or sometimes just HFS (though that’s not really correct, as it was the name of its incompatible predecessor found in 80’s and 90’s versions of Mac OS).

Starting with macOS 10.13 High Sierra, Apple has introduced a new file system, simply called APFS, because they felt HFS+ was no longer capable of supporting things they wanted macOS (and iOS) to do.

APFS was designed around solid state drives (rather than spinning hard drives) from day one. Interestingly, it doesn’t necessarily perform better than SSD’s do under HFS+, but it takes advantage of how SSD technology works to do things that aren’t as available with hard drives. A hard drive has to physically move a “head” (like a turntable arm) to a specific physical location on a disc. This means that if you ask too many things of a hard drive at once, it gets pulled in multiple directions, dramatically slowing things down. An SSD, being just chips, has no such physical constraints, and can respond to simultaneous requests for data with ease. The downside is that APFS performs very poorly when used with hard drives, as anyone with a hard-drive based Mac (e.g. many configurations of iMac, Mac mini, and MacBook Pro with optical drive) who has upgraded to Mojave or Catalina, both of which require APFS, can tell you.

The fact that you transitioned from HFS+ to APFS without your noticing (that is, assuming you were using an SSD), during a macOS upgrade, is a testament to Apple’s engineering. You shouldn’t have to be aware of how your Mac stores your data on its drive.

I’ll talk about more of what APFS can do in another post.

the simplest Time Capsule replacement

When Apple decided to exit the WiFi products market, one unwelcome casualty was the Time Capsule. Forgetting its router and access point capabilities, it solved an important problem for Mac notebook users — it was a drive that attached to your network, rather than directly to your computer. In my experience, laptop users simply don’t and won’t attach a drive to their Mac with any kind of regularity, myself included.

Time Capsule took the “human factor” out of the equation by allowing you to set up the Time Machine feature of macOS to back up not to a directly attached drive, but instead via WiFi, over your network. Then your Mac could be backed up every hour, without your ever having to see it. But you haven’t been able to buy a new Time Capsule in two years.

There are a number of potential replacement products, all of which fall into the category of Networked Attached Storage, or NAS for short. They’re drives that attach to a network. Quite a few of these products are excellent, and better than Time Capsule in many regards — Synology in particular stands out and is a favorite among consultants.

However, NAS products aren’t simple. They’re miniature, multipurpose servers, and setting one up for network Time Machine use can require a fair bit of technical skill.

One exception, though, is the Western Digital My Cloud Home. Unlike previous “My Cloud” products, this one is intentionally inflexible — it’s a cloud appliance. You plug it in, you go to a URL on your Mac to set up an account at Western Digital to activate the drive, and that is it. It’s ready to go on your network as a preconfigured Time Machine Drive. Then, you just go to Apple Menu, System Preferences, Time Machine, and select it. The end.

The My Cloud Home also sold in a “Duo” model, with an automatically mirrored second drive for redundancy; this is a good choice if you are invested in your history of Time Machine backups, because if a drive fails, you can replace it without losing any of your data.

There are some things I don’t like about the My Cloud Home — I’d prefer not to have to create an account at Western Digital to have it operate, and, as long as I have to, I’d like if it could email me if it detects a drive failure, rather than relying on me to make sure that a light on its front panel is the right color. I’d like if it had a USB port on the back, like Time Capsule did, for backing up the backup. And the My Cloud Home is certainly not the right product if what you’re looking for is a traditional configurable NAS drive.

But I am glad there’s one product I’ve come across that I can simply recommend to do one important job simply, and which I can guide a client through setting up in just a few minutes. The My Cloud Home fits that bill.

(Image from Western Digital’s website.)

Ding, dong! No more hard drives in iMacs!

For years, and years, and years, Apple has been staining its brand by shipping iMacs with hard drives in them.

macOS hasn’t performed particularly well on hard drives in quite a while, and, since Mojave was released a couple of years ago, it’s been just absolutely unusable, due to the switch to the APFS file system. APFS was designed for solid state drives, and has appalling performance on HD’s.

And, until yesterday, every stock iMac configuration had a hard drive. (Yes, Fusion drives are also hard drives, especially the joke that was the 1 TB configuration in 2015 and later models.) If you wanted an SSD, you had to custom build it.

Well, our long technological nightmare is finally over, because today, Apple finally, finally, finally made all stock iMac configurations come with some kind of SSD. No longer will anyone go into an Apple Store and buy a new iMac and wonder why it crawls. (If you really still want it to crawl, you still have a 1 TB Fusion drive option for the 21.5″ model.)

Here’s the press release: https://www.apple.com/newsroom/2020/08/27-inch-imac-gets-a-major-update/

Use your Mac’s keyboard to type on iPhone or iPad

Every now and then, I wish had a physical keyboard for my iPhone or iPad, usually so that I can type into some app that doesn’t have a good desktop web browser equivalent. You can of course pair any Bluetooth keyboard, including Apple’s, but I don’t always have one handy.

However, someone’s written a cool piece of software that lets me type using my Mac’s keyboard. It’s fun stuff.

It’s called KeyWi, and it takes advantage of the fact that third-party developers can offer alternative software keyboards for iPhone and iPad. So if you install KeyWi Keyboard from the App Store, it shows up as an alternate keyboard.

To activate it, you follow its instructions to add a new keyboard to your iPhone or iPad.

Once you’ve done that, any time you’re typing, click on the “Globe” icon at the lower left of your keyboard. Then go to the URL shown on your iPhone or iPad screen, using your Mac. It’s a private direct connection over your local network, so it’s not like your typing goes out over the internet.

Then, just type away on your Mac and you’ll see it show up on your iPhone or iPad.

Image by alisdair, courtesy Flickr Creative Commons.

how to get live Facebook chat support

Like most popular free services, Facebook does not normally have any live support options.

However, I discovered a way to get live chat support today. (Not on the phone, but at least real-time online chat with a human.) It takes a while to set up, but that part only has to be done once. Perform these steps:

  1. Make a Facebook business Page. It doesn’t matter what it’s called or what on it. Start a page for Dust Ball Collectors, Ltd. Just make one: Create a Facebook Business Page
  2. Make a Facebook Ads account, for which the above business Page is a prerequisite. You don’t actually need to run an ad, I don’t think; you just need the account. The only detail on the account that really matters is the Ad Account ID, so make sure you capture that, and put it where you save these kinds of things (if you use 1Password or similar password keeping software, then I suggest the notes area for your Facebook entry). You’ll see the Ad Account ID as you follow these instructions: How To Set Up Your Ads Manager account

Now, when you need to get support for your personal profile page:

  1. Go to https://business.facebook.com/business/help/
  2. Scroll down to “Find Answers or Contact Support” and click Get Started
  3. Click on “Policy & Account Security”
  4. Scroll down to “Need more help? Contact Support” and click “Chat With A Representative”
  5. Fill out the form. (This is where you’ll need the all-important Ad Account ID — you can’t start the chat request without it.)
  6. Under “Facebook Page” choose Dust Ball Collectors, Ltd., or whatever your Page is called
  7. In the first “What is your question about?” section, if you’re not sure, select “Pages”
  8. In the second “What is your question about?” section, choose Other
  9. Fill out the Subject Title, and be as descriptive as possible about the problem in the Optional section
  10. Click “Start Chat.” A Facebook Messenger window will open and connect you to an actual live person, at which point you can discuss, from what I can tell, any kind of technical issue you’re having with Facebook.

In my (very limited) experience, the quality of the support was pretty decent, and they took the time they needed to see through the issue I was having.

How to figure out your Ad Account ID if you forget it:

  1. Go to business.facebook.com
  2. If you see a big box that says “No Ad Accounts”, then in the upper right of the screen, click on your Page name (it’s a little menu with a down triangle). Choose “Your Personal Ad Account.”
  3. You should see an empty table.
  4. Click on “Ads Manager” in the upper left.
  5. Scroll down to and click on “Ad Account Settings”
  6. Your Ad Account ID is at the top.

 

Image by benstein, courtesy Flickr Creative Commons

I only just discovered you can now remove a single item from Mac Trash

For most of its history, Trash in macOS was an all or nothing affair. If you wanted something removed from your Mac permanently, everything else had to go with it.

But what if you wanted to permanently delete a very large file, so you could recover the disk space, without including the smaller detritus in Trash? Your options were either to open Terminal and manually remove the file using Unix commands, or temporarily take everything out of the Trash except the one item you wanted to remove.

I was surprised to discover, then, that there is a “Delete Immediately” item that appears if you control-click on a file in the Trash. Apparently, this tiny feature was added in macOS El Capitan, though I never read about it, and it took me until now to discover it. Old habits die hard!

It would be nice if Apple published a comprehensive document detailing all changes large and small with their new macOS versions…but they don’t. I wonder how much other new stuff is hiding in there somewhere.

Image by Corey Butler, courtesy Flickr Creative Commons

Figure out what’s taking up space on your Mac with DaisyDisk

Daisy Disk screenshot

Every now and then, I am using an application on my Mac or iPhone and I stop and marvel at how its creators got it exactly right, and say a private thank you for them having made something so useful or enjoyable.

DaisyDisk is that kind of app. I love it. It shows you a map of what’s taking up space on your disk. It’s an absolute go-to for me any time I am working with a client who is low on disk space.

DaisyDisk shows you a graphical map of your files, so you can visually see your largest files, but I actually don’t use it. Instead, I just go to the right hand column where files and folders are displayed, largest first. If I open a folder, it shows me the largest files and folders within it, at the top, and so on. Easy.

I can then delete files directly from within DaisyDisk, though I tend to instead choose Reveal in Finder and delete them that way. One magical feature DaisyDisk has, is the ability to purge “hidden” space from APFS disks, such as those found on any Mac running Mojave. If I am, or a client is, low on space, it can solve that problem.

Anyway, if your disk is full, ignore the Mac’s mostly useless indicator of disk usage that you can find under About This Mac. Instead drop ten bucks for DaisyDisk. It’ll tell you the truth, and I’m willing to bet you find something big that you didn’t know you had, and don’t really want. I usually do.

Snow Leopard in Parallels Desktop

This is a technical post on how to get the Snow Leopard OS running on a Mac in Parallels Desktop 15, so that older Apple software can be run on a newer Mac.

If you want our office to set this up for you (which we can do remotely), please email help@ivanexpert.com to schedule an appointment.

 

Background:

Snow Leopard, aka Mac OS X 10.6, was released in June 2009, and it represented the last version of macOS to run older PowerPC based software. Its successor, Lion, was released two years later, so back then I wrote a post about how to run Snow Leopard in a virtual machine so you could, at the time, keep on trucking with AppleWorks, QuarkXPress, Quicken, and other apps that did not have Intel versions available.

Apparently, the method I used stopped working as of Parallels 7, but someone else wrote up how to do it — though judging from the comments, that method stopped working well around Parallels 10 or 11, and I myself could not get it to work.

There may be less reason to run Snow Leopard today than there was nine years ago, but I was overcome with nostalgia and managed to get it going. Thanks to the many others on the internet who have written things who helped me figure it out, especially that above writeup.

One goal of this method was to prevent the need for typing any commands in Terminal or engage in similar deep technical arcana. It probably is a few more steps as a result, but it’s also hopefully easier for more Snow Leopard users to complete.

 

What you’ll need:

Parallels Desktop. These steps have been verified to work on version 15.

A Snow Leopard DVD (and a drive that can read it), or disk image of same. The physical disk used to be available from Apple’s online store as recently as last year, but no more. Maybe you can still get it if you call them. Or you can find them on eBay and Amazon. You just might be able to find it if you Google “snow leopard 10.6.3 download”, but I didn’t tell you that. (Hey, it’s not like they’re making it easily available to buy any more.) If you go that route, be careful that you download from somewhere that looks reputable.

(Alternative: a Snow Leopard Server DVD, or disk image thereof. If you can locate one, this is about a million times faster and easier, since Parallels supports it.)

 

Part 1: Set up a macOS VM

  1. Create a Parallels virtual machine running any version of macOS from Lion onward. The easiest way to do this is to choose File > New in Parallels, and then, at the rightmost edge of “Free Systems”, click on “Install macOS 10.x.x from the Recovery Partition”, and follow the prompts. Once made, the VM’s name will appear as “macOS 10.x.x”.
  2. Alternative to the above step: You can use a macOS installer app for Lion or later. To do this, choose File > New in Parallels, and double-click “Install Windows or another OS from a DVD or image file”. Drag the Install macOS app into the area that says “Drag the image file here”. Parallels will recognize it as OS X. Click Continue, then Continue again to create a bootable disk image file. It’s fine to leave the default name (“macOS image file”) and location (the Parallels folder of your Documents folder). Wait until that’s complete, and on the next screen, leave the default VM name of “macOS”, and the default location (the Parallels foder of your Documents folder). Cilck Create.
  3. The VM will initially start into Recovery/Utillities mode. Choose your language, click on (Re)Install macOS, Continue, Continue, Agree, Agree. Then click on “Macintosh HD”, click Install, and wait until the installation completes.
  4. The VM should restart automatically (if not, start it manually). During the initial setup screens, choose Set Up Later (or, on earlier macOS versions, “Don’t Sign In”) for iCloud/Apple ID login, and otherwise defer as much as you can, until you get to the Desktop.
  5. Shut down the VM from the Apple menu.

 

Part 2: Set up the Snow Leopard installer disc

  1. Control-click on the macOS VM in the Parallels Control Center and choose Configure.
  2. Click the General tab. Change the name of the VM to “Snow Leopard”.
  3. Click the Hardware tab. If “Hard Disk 2” is listed in the left column, click it, and then click the – button beneath the column to remove it. Click “Move to Trash” when prompted.
  4. Click the + button in the lower left, and choose Hard Disk from the drop down menu. Leave the Type as “New Image File” and the Location as “Snow Leopard-0.hdd”. Set the size to what you like (at least 20 GB), and leave the checkboxes in their default state (“Split the image into 2 GB files” unchecked, and “Expanding disk” checked). Click OK. The virtual disk will appear in the left column as Hard Disk 2.
  5. Click the + button in the lower left again, and choose Hard Disk again. Leave the Type as “New Image File” and the default name of “Snow Leopard-1.hdd”. This time, set the disk size to 8 GB, and remove the checkmark next to “Expanding disk”. Click OK. The virtual disk will appear in the left column as Hard Disk 3.
  6. Close the Configuration window.
  7. Start the VM (now appearing as “Snow Leopard” in the Parallels Control Center). When you get to the desktop, in the Finder, choose Computer from the Go menu. Choose “as List” from the View menu. You will see three volumes named “Macintosh HD”. Look in the Size column, and rename the smallest (around 30 MB) to “SL installer HD”. Rename the next largest (around 157 GB) one to to “Snow Leopard HD”. Leave the largest one (several GB) named “Macintosh HD”.
  8. The following steps vary depending upon which version of macOS you initially installed in your VM — if you’re not sure, go to About This Mac from the Apple menu inside the VM. If a step does not specify that it’s for a specific macOS version, then follow it no matter what version you’re running.
  9. If your VM is running macOS 10.14.6 or earlier: within the VM, in the Finder, choose Utilities from the Go menu, and double-click Disk Utility.
  10. If the VM guest OS is 10.15 or later: Shut down the VM from the Apple menu. Right-click on the VM in the Parallels Control Center and select Configure. Click the Hardware tab. Click Boot Order in the left column. On the right, check the box for “Select boot device on startup”. Close the configuration window. Start the VM and immediately press a key when prompted to enter the boot device menu. (If you miss the window, restart when boot completes.) Using the arrow keys, highlight Mac OS X Recovery. Press return. You will start up into the macOS Recovery. At the Recovery menu, open Disk Utility. (More detail here: https://kb.parallels.com/cn/116526)
  11. Any VM guest OS version: Go to the Devices menu of your VM (in your host OS, not the VM guest OS), and select CD/DVD > Connect Image. Navigate to the Snow Leopard install disk image file, and click Choose. (If you are instead using a physical Snow Leopard DVD, insert it, and choose your optical drive from the same menu.)
  12. If the VM guest OS is 10.11 or later (including 10.15 or later): In Disk Utility, on the left, select “SL installer HD”. Click the Restore button. For “Restore From:”, select “Mac OS X Install DVD”. Click Restore, and wait until it completes. Click Done. Now, on the left side of Disk Utility, there will now be two volumes named “Mac OS X Install DVD”. One of them will have an eject icon to the right of it; click it to unmount the volume. You’ll see the name turn grey; click the eject icon again to fully eject the image and make it disappear. Quit Disk Utility.
  13. If the VM guest OS is 10.15 or later: Shut down the VM from the Apple menu. Control-click on the VM in Parallels Control Center and select Configure. Click the Hardware tab. Click Boot Order in the left column. On the right, uncheck the box for “Select boot device on startup”. Close the Configuration window. Start the VM.
  14. If the VM guest OS is 10.10.5 or earlier: in Disk Utility, on the left, select “Mac OS X Install DVD”. On the top bar, click the Restore tab. For “Destination:”, drag “SL installer HD” from the left into the empty field. Click Restore, and wait until it completes. Once it does, on the left side of Disk Utility, there will now be two volumes named “Mac OS X Install DVD”. One of them will look like a CD/DVD, rather than a hard drive. Click on that one, and then choose ‘Eject “Mac OS X Install DVD”‘ from the File menu. Quit Disk Utility.
  15. Open Safari, go to https://pastebin.com/7AbpskAd and click Download. Click Allow if prompted. The script will open in TextEdit automatically; quit TextEdit. Quit Safari.
  16. In the VM, click on Finder, and select Downloads from the Go menu. Control-click on “sl_disk_setup.applescript.txt” and select Open With > Script Editor. Click OK to ignore the warning about the dictionary. You should see the script open in a Script Editor window.
  17. In Script Editor, select “Run” from the Script menu. Enter your administrator password for the VM guest OS when prompted. “done” will appear in the result section in the lower half of the window. Quit Script Editor.
  18. Shut down the guest VM from the Apple menu.

If for some reason the link in step 15 no longer works, here’s the code which you could copy and paste into an empty Script Editor window, and then skip to step 17:

 

Part 3: Install Snow Leopard

  1. Control-click on the VM in the Parallels Control Center, and select Configure. Click the Hardware tab. On the left, select Boot Order. On the right, select Hard Disk 3. Click the up arrow until it is at the top. Close the Configuration window.
  2. Start the VM. After a little bit, you should be taken to the Snow Leopard installation screen.
  3. Advance to the Install Mac OS X screen, and click Continue, and Agree. Click on “Snow Leopard HD”. Click Customize, and enable Rosetta (which you need to run PowerPC applications — presumably the reason you’re installing Snow Leopard). Optionally enable QuickTime 7, and optionally disable Printer Support, Additional Fonts, Language Translations, and X11. Click OK. Click Install. Wait until the virtual machine restarts.
  4. When the VM restarts, you will be taken back to the Snow Leopard installer. At the “Install Mac OS X” screen, choose Startup Disk from the Utilities menu. Then select Shut Down from the Startup Disk menu. Ignore the warning, and click the Shutdown button. (Alternatively, it’s possible that when the VM restarts, it will instead say that you have an invalid OS. If that’s the case, just click OK. The VM will shut down.)

 

Part 4: Set up the installed Snow Leopard drive

  1. Control-click on the VM in the Parallels Control Center, and select Configure. Click the Hardware tab. In the left column, select Hard Disk 3, and click the – button beneath the left column to remove it. Click Move to Trash when prompted. Close the Configuration window.
  2. Optional: If you want to keep the Snow Leopard installer disk, go into your Trash now, and take out “Snow Leopard-1.hdd”. Put it where you like (probably in the Parallels folder of your Documents folder), and rename it to “SL installer HD.hdd” or whatever else you like.
  3. Start the VM. You’ll reboot into the original VM guest OS that you installed earlier. (The following steps are the same as at the end of part 1.)
  4. In the VM, click on Finder, and select Downloads from the Go menu. Control-click on “sl_disk_setup.applescript.txt” and select Open With > Script Editor. Click OK to ignore the warning about the dictionary. You should see the script in a Script Editor window.
  5. In Script Editor, select “Run” from the Script menu. Enter your administrator password for the VM guest OS when prompted. “done” will appear in the result section in the lower half of the window. Quit Script Editor.
  6. Shut down the guest VM from the Apple menu.
  7. Control-click on the VM in the Parallels Control Center, and select Configure. Click on the Hardware tab. In the left column, click on Hard Disk 1, and then the – button at the bottom of the column to remove it. Click “Move to Trash” when prompted. Close the Configuration window.
  8. Optional: I recommend keeping the original OS drive for your VM, so you can fix the Snow Leopard disk if Parallels refuses to boot from it. If you want to do this, open your Trash, and look for your virtual hard disk file; it will either be called “harddisk.hdd” or “macOS-0.hdd”. Put it in the Parallels folder of your Documents folder, or wherever else you like, and name it “macOS.hdd” or whatever makes the most sense to you.
  9. Optional: At this point, you may want to use the Parallels snapshot feature to preserve Snow Leopard in its freshly installed state. If you do, right-click on the VM in the Parallels Control Center, choose “Manage Snapshots”, and click New. Name the snapshot “10.6.3 fresh install” or whatever you like, and click OK. Close the Snapshots window.

 

Part 5: Finish setting up Snow Leopard

  1. Start the VM, and go through Snow Leopard’s setup screens. When you get to the screen requesting your Apple ID, click Continue without entering anything. On the subsequent screen for Registration, also click Continue without entering anything, and then click Continue to confirm. Finish the rest of the setup screens.
  2. In the VM, select Software Update from the Apple menu. After it scans, click Show Details. Uncheck all updates except “Mac OS X Update Combined”. Click Install 1 item. After restart, repeat with “Security Update 2013-004”. After that, install what you like from what remains.
  3. (Alternative in case the above step doesn’t work: in your host OS, download the Mac OS X 10.6.8 Update Combo v1.1 from https://support.apple.com/kb/dl1399 , and Security Update 2013-004 from https://support.apple.com/kb/dl1678 . Select “CD/DVD > Choose Image” from the Devices menu of the VM, and select “MacOSXUpdCombo10.6.8.dmg” from your Downloads folder. Install the package that appears in your VM. After restart, repeat with “SecUpd2013-004.dmg”. Hopefully Software Update will work after that, but if not, you can try to get any other updates from Apple’s support pages the same way.)
  4. Optional: Install Parallels Tools, by choosing “Install Parallels Tools” from the Actions menu of the VM. Click Continue. Wait for the “Parallels Tools” volume to appear on your Snow Leopard desktop. Open the volume and run the installer. Restart when prompted. Eject the Parallels Tools volume after restart.
  5. Optional: If you want a Snow Leopard compatible browser that is mostly adequate for use on the modern web (which Safari 5.1 is not), Arctic Fox is a Firefox derivative that is current as of March 2020. If you have installed Parallels Tools, you can download it on your host OS from https://github.com/wicknix/Arctic-Fox/wiki/Downloads and then drag its .zip file from your host OS Downloads folder onto the Finder desktop in your VM window. Alternative method: within the VM, use Safari to get Firefox 48, at http://ftp.mozilla.org/pub/firefox/releases/48.0.2/mac/en-US/ — then, use Firefox (which is out of date and has trouble with some sites) to get Arctic Fox.
  6. You may want to shut down the VM and create a(nother) Parallels snapshot at this point, or make a copy of the Snow Leopard HD virtual machine as a backup.

 

Epilogue: What to do if Parallels refuses to start Snow Leopard

If, sometime after you’ve gotten your VM up and running, Parallels gives you a message about an invalid OS during startup, it’s because a file you need is missing on your Snow Leopard drive. This can happen if the virtual machine is stopped without going through the normal macOS Shut Down process. If this happens:

  1. First off, if you made a virtual machine snapshot, and you don’t mind losing anything that’s happened in your VM since you made it, then just restore the snapshot. If that’s not going to work for you, then:
  2. Control-click on the Snow Leopard VM in the Parallels Control Center and choose Configure. Click the Hardware tab.
  3. Click the + in the lower left, and choose Hard Disk. Choose Type: Existing Image File, then click on “Choose a File Path”. Select the virtual hard disk file for the original OS you installed that you rescued from the trash in the steps above (if you didn’t rename it, it will be called “harddisk.hdd” or “macOS.hdd”). The new drive will appear as Hard Disk 2.
  4. Click Boot Order in the left column, then click the up arrow to move Hard Disk 2 to the top. Close the Configuration window.
  5. Start up the VM. Choose Computer from the Go menu to verify that the Snow Leopard drive is visible in the VM.
  6. In the VM, in Finder, choose Downloads from the Go menu. If the file “sl_disk_setup.applescript.txt” isn’t in the Downloads folder, then: Open Safari, go to https://pastebin.com/7AbpskAd and click Download. Click Allow if prompted. The script will open in TextEdit automatically; quit TextEdit. Quit Safari.
  7. In the VM, in the Downloads folder, control-click on “sl_disk_setup.applescript.txt” and select Open With > Script Editor. Click OK to ignore the warning about the dictionary. You should see the script open in a Script Editor window.
  8. In Script Editor, select “Run” from the Script menu. Enter your administrator password for the VM guest OS when prompted. “done” will appear in the result section in the lower half of the window. Quit Script Editor.
  9. Shut down the guest VM from the Apple menu.
  10. Control-click on the VM in the Parallels Control Center, and select Configure. Click on the Hardware tab. In the left column, click on Hard Disk 2, and then the – button at the bottom of the column to remove it. Click “Keep Files” when prompted. Close the Configuration window.
  11. Restart the VM.

Sign up to get our blog posts by email

Sign up for our monthly email newsletter

Meta