Dual booting Windows and Linux doesn't mean you have to maintain two separate sets of applications, preferences, and documents. With cross-platform, open-source applications like Firefox, Thunderbird and Pidgin, you can use the same apps with the same configuration automatically no matter what OS you've booted. Always access the most recent state of your Firefox browsing history, IM buddy list, Thunderbird address book, and more from Windows or Linux using a single-point-of-contact data partition. Let's tear down at least part of the wall between Windows and Linux and start sharing files between the two dual-boot desktops. Photo by hsivonen.
This guide assumes you've got a relatively modern Linux distribution and either Windows XP or Vista set up on the same computer. If you're looking for help on setting up your system, try Adam's guide to triple-booting XP, Vista, and Ubuntu as a reference (leaving out one Windows system if necessary), or check out a dual-booting video guide at Linux.com. I'm using Windows Vista (Home Premium) and Ubuntu 7.10 (Gutsy Gibbon) in my own walk-through, but your mileage should only vary slighly with XP and other Linux distributions.
Find a place for your data
The ideal situation for dual-booting, at least from what I've read, is to have at least four partitions on your system: one for the Windows system, one for Linux and another for its swap space, and then a larger fourth Windows (NTFS-formatted) partition where your documents, music, pictures, and other data are stored. That puts all the items you need to access in an OS-neutral space, one that's easy to back up and is accessible from both systems. Having said that, it's not possible for everyone—my ThinkPad, for instance, must seemingly always have a 6 GB "restore" partition installed, which messes up my boot scheme. In that case, the best compromise is to keep your data on the Windows side. Linux's tools for reading and writing from Windows partitions are relatively new, but far more stable and easy to set up than the other way 'round.
Get cross-partition tools
If you're running Ubuntu 7.10 or other newer releases of Linux, you'll likely have built-in support for mounting and writing to NTFS drives. If not, you'll want to download the ntfs-3g tool, available in most distro repositories. Make sure your Windows partition is auto-mounting on Linux start-up; check here if you need help setting that up. On the Windows side of things, download and install the Ext2 Installable File System to get read/write access to your Linux partitions. If the idea of opening up Linux to Windows writing doesn't appeal to you, or if you find it buggy for some reason, you can opt for the read-only, stand-alone Linux Reader and likely not lose out on much.
Share Firefox and Thunderbird profiles
If you've got Firefox and Thunderbird set up just the way you want them in Windows, boot into Linux and pull up a terminal (or hit Alt+F2). Make sure neither app is running, then enter the command used to launch Firefox or Thunderbird (usually just those single words) followed by a space and "-profilemanager", then hit enter.
A small window will pop up; hit "Create Profile." Hit "Next" at the following prompt, then enter a name for your new universal profile. Be sure to hit the "Choose Folder..." near the bottom-left next. Find and select your Windows drive (usually bearing its partition name) and navigate to your profile folder. Here's where you can usually find them, assuming you installed with default settings (and switching [User Name] for your Windows user name):
- Windows XP/2000: /Documents and Settings/[User Name] /Application Data/Mozilla/Firefox/Profiles/
- Vista: /Users/[User Name] /AppData/Roaming/Mozilla/Firefox/Profiles
- Windows XP/2000: /Documents and Settings/[User Name] /AppData/Thunderbird/Profiles/
- Vista: /Users/[User Name] /AppData/Roaming/Thunderbird/Profiles
Now hit "Finish," and then select your new profile at the small box you returned to. Make sure the "Don't ask at startup" option is checked, then hit "Start" and you're on your way.
Profile sharing works pretty well in some ways (Firefox knew to keep my Linux-specific media plug-in settings) and not so well when it comes to OS-specific extensions—you'll have to make the call as to whether those extensions are worth
keeping at the price of losing sync between your systems. re-installing and, with add-ons like the Lightning calendar, re-configuring.
If your perfect Firefox or Thunderbird set-up is in Linux, browse to your Linux system's "home" directory, and then into the appropriate hidden sub-directory (that's .mozilla and .mozilla-thunderbird in Ubuntu 7.10). Note that profile folder's name and copy it into the "Profiles" folder in Windows, then open the "profiles.ini" text file found in the directory just above it for editing. Change the last "Path=xxx.default" line to point to your new profile, delete the other one if you'd like, and then go back to point your Linux app to its Windows-based profile.
Keep IM logs and buddy lists synced
The multi-protocol chat client Pidgin can do a lot of nifty things, including encrypt chats, log IMs, and connect through Google Talk. You can avoid setting up and, more importantly, dragging and dropping every buddy back into place in Linux by telling Pidgin to look to Windows for its config files by creating a symbolic link. Make sure Pidgin isn't running, then open a terminal. We're going to first delete the profile folder Pidgin places by default, by entering:
rm -fr ~/.purple
Next, open a file manager and browse to Windows' Pidgin folder. The defaults are:
- Windows XP/2000: /Documents and Settings/[User Name] /Application Data/.purple/
- Vista: /Users/[User Name] /AppData/Roaming/.purple
If you see a few folders and .xml files like "prefs.xml" there, you can use the following command to create a symbolic link that sends Pidgin into Windows for its profile (written for XP defaults, change the directory path for Vista):
ln -s /Documents\ and\ Settings/[User Name] /Application\ Data/.purple/ ~/.purple
Fire up Pidgin, and you should have all your accounts, settings, and logs at your disposal.
Customize the "Places" menu (GNOME desktops)
This is a small hack, but a handy one. Since I'm keeping all my music, pictures and the like in a Windows partition, the shortcuts on Ubuntu's "Places" menu—"Documents," "Music," and the like— pointing to Linux folders weren't all that helpful. To replace them with links to their Windows counterparts, simply open a Nautilus window (from the Places menu, perhaps!), right-click on the folders you want to replace in the left-hand sidebar and choose "Remove." Then navigate in the main window to your most-accessed folders and drag them into the sidebar to create shortcuts in the "Places" menu. If your system doesn't give you drag-and-drop placement, you can edit the
.gtk-bookmarks file in your home directory to add and remove "Places" shortcuts
Synchronize folders between Windows/Linux
I'd like to have found and presented the best way to back up and synchronise files between the Windows and Linux portions of your system, but Gina already hit that goal with her super-informative guide on rsync. The command-line wonder is great at backing up data to remote servers, but can just as easily be used with cron (or a GUI for cron) or Windows' built-in automation tools to create local-to-local, cross-partition backups and mirrors. If you're a bit intimidated by all those switches and options, you're still in luck. Windows/Linux backup tool Unison gets the job done as well, with a bit more of a local machine focus. Check out Unison's tutorial for a look at how it works.
Got your own methods of making Windows and Linux become more than just hard disk neighbors? Post your tips in the comments.