Use a Windows NTFS, or Linux, or Network, or other–formatted disk for Apple Time Machine Backups

It used to be well known that you have to use an Apple formatted disk (HFS+) for Time Machine Backups and you can't use an NTFS formatted disk, or any of the popular *nix disk formats with Time Machine.

Except, you always could.

Gotchas And Caveats

It's not always a first choice option:

  • If your Windows drive is connected over USB2, it will be much slower than a Mac disk connected over Thunderbolt or USB 3 or 4. My first backup of 120GB took about 10 hours, aka all night. But further backups after that first one are much quicker.
  • On an external drive plugged in to your computer, the backup volume may not auto-mount when you plug the drive in. You must manually double-click the <YourMachineName>.sparsebundle in the Finder each time you plug the drive in. After that, Time Machine backups will run as normal.
  • Backups, especially to a network share, are best done with some extra setup to improve reliably unless your network, server, router, disks and desktop all stay reliably connected and switched on.

Backing up to a plugged-in NTFS drive

  1. Plug in your foreign-formatted disk and get a read/write driver for it.

  2. Save the the script from tmMakeImage script in, for instance, your Downloads directory.

  3. Open a terminal window.

  4. If you saved to Downloads, then something like this should make the script executable and show you command line usage:

    cd ~/Downloads
    chmod a+x tmMakeImage
    mv tmMakeImage /usr/local/bin
    tmMakeImage
  5. So if your external drive has a Volume called WinDrive, and your Mac drive is about 250GB then this command should initialise it for Time Machine backups:

    tmMakeImage 500GB /Volumes/WinDrive GO
  6. Optionally, follow up with an immediate tmutil startbackup

Opening the Time Machine preferences should now show that you have "Time Machine Backups" selected as your backup drive. Don't forget to double-click the sparsebundle each time you attach the drive, to mount your Backup Volume and allow Time Machine to do its stuff.

Network Drives

Backup to a network drive in a similar way. First mount your smb network fileshare in the Finder, then use the tmMakeImage script to put the sparsebundle image on the mounted drive.

Reliability

Reliability is a concern for backing up across a network, or to a removeable in disk. In otherwise, it's always a concern. Especially if you have a laptop which gets plugged in and out. See notes on using time machine backup to a windows share more reliably.

Background: Using Sparsebundles to create HFS+ formatted drive on a 'foreign' disk format

Apple created, it seems, sparse images and sparse bundles to solve the problem of saving backups on a network drive. Time Machine uses and recognises them. It might even auto-mount the sparsebundle disk image when you re-attach the drive in order to start running a backup.

Other Things Under the Hood of Time Machine Disks

  • You can't create a sparsebundle directly on a network or 'foreign' drive. So the tmMakeImage script first creates the sparsebundle image then copies it to its destination.
  • Sparsebundles don't use up empty space. An sparsebundle declared as 500GB but still empty will only take up a few megabytes of real disk space.
  • A sparsebundle used by Time Machine has a com.apple.TimeMachine.MachineID.plist file in the package, which contains the UUID of the physical machine it belongs to. This stops you accidentally using backups on the 'wrong' machine. (Time Machine does let you browse and use 'wrong' backups though).
  • An external disk plugged in to your Mac must have "Ignore ownership permissions" Off, whereas by default the Mac mounts external drives with "Ignore ownership permissions" set to On. This setting is not stored on the drive itself; it's stored on your machine and can be specified each time the drive is mounted (man hdiutil) or specified permanently (man vsdbutil)
  • You can set the Time Machine destination to a sparsebundle on an attached drive by first mounting it then doing tmutil setdestination /Volumes/Volumenameonceitsbeenmounted. You can mount the image either by double-clicking it in Finder, or with hdiutil attach /path/to/image.
  • Learn More:

    ```
    man tmutil
    man hdiutil
    man vsdbutil
    ```

  • You can still use your backup disks for other files alongside your Time Machine backups. Just don't touch the Backups.backupdb folder! The Finder will protect it to some extent; it doesn't let you modify things in there, but it will let you delete and add things.
  • The Script

    Most of the things in the tmMakeImage script can be found on the net going back to 2007, but you'll still find answers on the internet saying it can't be done.

8 thoughts on “Use a Windows NTFS, or Linux, or Network, or other–formatted disk for Apple Time Machine Backups”

  1. I followed the instructions above. I created sparse bundle file. But when I click on the sparsebundle file, Time Machine Backups appears in finder for 0.5 minute and then disappears and I am do not see the disk in Time Machine either. I did install Fuse OX NTFS-3G. Did I miss something? My Mac version is 10.6.8.

    1. Hi Krish,
      Interesting. It could be quite hard to track down why the sparsebundle image unmounts like that. My first guess is that it’s to do with your OS X version and that 10.6 doesn’t want the com.apple.TimeMachine.MachineID.plist file inside the sparsebundle like later versions do.
      So, try:
      1) Manual create the sparsebundle image in Disk Utility
      2) Double click it.
      3) If it stays mounted, then open Time Machine and see if appears in your list of disks to save to.
      OR:
      Try the instructions in http://code.stephenmorley.org/articles/time-machine-on-a-network-drive/ from about step 4 (ignoring the network drive stuff) and see if that works better?
      Those are my first ideas, anyway.

  2. Hi Chris, Thanks for the suggestion. I tried following the instructions on the website you cited. The end result is still the same. The sparsebundle created using those steps mounts and stays mounted for few seconds and then disappears. It does not show up on Time Machine during that short duration either.

    One thing I did not share with you is that I had to install NTFS-3G to make my NTFS hard drive writable. Do you think it has to do with this “custom” Sharing and Permisssions I have on this drive?

    Many Thanks,
    Krish

    1. The Apple Forums post suggests that it’s a problem for specific OS X versions so upgrading a version or so might help. I guess that so long as you have at least read & write permissions on the drive, the ‘custom’ settings don’t matter much. Sorry I haven’t got anything more helpful.

  3. Hi

    I tried this a few times
    and everytime it created small drives
    I have a 1 TB external with 600 GB free
    I am trying to get 500 GB, it only gives 100GB

    any solutions?

    1. Hi Saurabh, there are 2 things that might cause this:
      1) Did you use the parameter for disk size, e.g. tmMakeImage 500GB
      2) If you did, then everything is fine and it is normal that you see a much smaller disk than you asked for. When you create a sparsebundle, the disk space is not used until you actually use it. Start doing your backups and you will find that space used eventually grows.

  4. Hello, Chris!

    Thank you very much for the script and the article.
    Here, in 2021, still works like a charm on a OS X Mojave and Paragon NTFS Driver.

    Cheers, Roman

Comments are closed.