1

I have several sparse bundle disk images on my system, used for various purposes (mostly to prevent Time Machine from backing up the entirety of very large files).

However, I'm planning to restructure my storage in the near future, and will likely be eliminating the use of these disk images.

What I'd like to be able to do is mount a sparse bundle that's located on my Time Machine backup drive, so that I can copy data from inside it into its new location, without having to copy the disk image first (requiring double the storage).

The problem is, none of my backed up sparse bundle images can be mounted from a Time Machine volume, all I get is a "no mountable filesystems" error. Assuming the issue is that Time Machine volumes are effectively read-only, I tried the following command instead:

hdiutil attach /Volumes/Backup/Backups.backupdb/MachineName/Latest/Path/To/Image.sparsebundle -readonly

However this doesn't work either, producing the same error.

Now, I'm fairly certain this is an issue specific to mounting sparse bundles from a Time Machine backup, as I'm sure the images themselves are fully intact (I've shasumed all the contents and compared to the source).

Is there a way that I can mount a sparse bundle from a Time Machine backup, without having to copy it in its entirety to somewhere else first?

To be clear, and to disambiguate from similar questions; the disk images I'm referring to are inside my Time Machine backup, they are not the Time Machine backup itself, i.e- I'm backing up to a directly attached drive, not a network disk.

UPDATE: So I had an idea of my own, which was to create a hard-linked copy of the image outside of the Backups.backupdb folder, thinking perhaps that that may be mountable without issues, but this doesn't appear to be possible either. Running gcp -lr to do this results in stat giving a "permission denied" error, so presumably Time Machine backups also resist stating of files for some reason.

  • What happens if you double-click it? And do you have read permission? – SilverWolf Oct 1 '18 at 21:21
1

If you are ok with creating a temporary shadow file, you can mount it this way:

hdiutil attach -readonly -shadow /path/to/store/the/temporary/file.shadow /Volumes/Backup/Backups.backupdb/MachineName/Latest/Path/To/Image.sparsebundle

For succinctness, that is: hdiutil attach -readonly -shadow <shadowfile> <imagefile>

Note that -readonly is not strictly necessary when using the shadow file. You can omit that and mount the image rw. But of course, all of your changes would be written only to the shadow file, and the available space would be limited to the free space on whatever volume you created the shadow file

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .