Sunday, September 25, 2011

Migrating from Mac to Windows

I got a new desktop PC, and I would like to make it the new “authoritative” home for all my Documents and media content. This means I need to migrate all my files from my old Mac laptop to my PC.
It is very important to consider the notion of “authoritative source” for any data (photos, bank statements, homework, love letters, etc). If we copy our files from one machine to the other, but then go on to make changes to those files on both machines, we’ll end up in a hopeless mess. So it is important to move the files:  Copy to the new machine, Archive the old machine’s files, then Delete the old machine’s files.
Later on, we can “check out” files from the new authoritative machine, to temporarily work on them on the laptop, but we must be vigilant to “check in” the changes back to the authoritative machine. (A later post will discuss tools we can use for this, including SMB Network shares, and Concurrent Version Control Systems)
OK, so here’s how I moved my files.

Setup

Our plan is to hook up both the old Mac and the new Windows machine to the same local network; Share my home directory over the network; and then, on the Mac, send (copy) files over to Windows.
There are three distinct categories of storage where the old files are kept:
  1. Internal HFS+ filesystem (main System disk)
  2. External HFS+ filesystem
  3. External VFAT (Windows-compatible) filesystem
We’ll use an appropriate strategy for each.
There are two main categories of files we need to handle:
  1. Platform-specific-structured files that need special care (iPhoto Library, mail, etc)
  2. Simple cross-platform files (Office documents, text files, maybe music files, CD/DVD images) that we can just copy over

Let’s discuss the Internal HFS+ filesystem first.

Platform-specific-structured files

We need to use special tools to convert our Mac-specific files and bundles.
  1. iPhoto Library: I’ve written an article dedicated just to this
  2. iMovie projects: ??? For now, make an archive, and save it somewhere.
Let’s take a moment here to remind ourselves to avoid platform-specific content bundles (iPhoto Library) in the future.

Simple cross-platform files

There are a few two basic approaches:
  1. Copy EVERYTHING (except System files and Applications) over, and then sit on the Windows machine and delete files we don’t want to keep. This uses a lot of disk space, but is relatively quick (one long “bulk” wait at the start, and then delete files at your leisure), and it’s also safe.
  2. Copy files over one folder at a time. This is more labor intensive, and it potentially error prone (in case we forget something important), but uses less disk space on the new machine, and helps clean out old cruft.
  3. Hybrid approach:
    1. Copy over some special content using a custom approach: Copy very large files (video files, music, disk images) first.
    2. Delete (or move into quarantine) these folders on the old machine.
    3. Do a little spring cleaning, and delete large files that we don’t intend to ever user again.
    4. Bulk-copy everything else, by copying high-level directories like /Users/<you> and any others you have.


External HFS+ filesystem
Windows cannot read HFS+ filesystems. Linux can read and write HFS+ filesystems. So, we’ll use Linux. Here’s our plan:
  1. Run Linux (in VirtualBox)
  2. Mount the external drive to the Guest OS
  3. Migrate files as discussed earlier (for the main Mac system disk), choosing a Shared Folder as the destination for the files (or an SMB share, if you want), so that the files finally land on the Windows Host OS.
  4. To clean up / delete the external drive, we have two choices:
    1. Reformat the whole drive (or partition), saying goodbye to HFS+
    2. Selectively delete files, and then use a partition tool to resize the partition and make room for other non-HFS content on the disk.
Steps 1 and 2 are discussed in another article in this series.
This last step (4.2)  has a twist: In order to delete (or edit) files on an HFS+ disk, we need to disable journaling (from the Mac OS) before mounting on the Linux OS.

No comments:

Post a Comment