posted by Howard Fosdick on Thu 3rd Feb 2011 22:25 UTC

How to Run Multiple Operating Systems, 2/2

Operating System Backups

If your computer has two physical disk drives, you can use the second drive for backing up the operating system and data partitions. Disk-to-disk backups are fast, easy, and convenient. They offer quicker backup and recovery than tape or writeable optical discs.

You can use disk cloning tools to copy one entire disk to another, or partition copy tools to copy individual partitions across disks. Here's a list of free disk and partition cloning tools. I use HDClone Free Edition to easily copy an entire disk to a backup disk. Like many of the free tools, it does the job well. Buy the commercial upgrade and you get a faster copy plus additional features like data reconciliation, data rescue, and system restoration.

While you can use tools to back up Linux operating system partitions, I normally just use a few line commands. Here's how. Shutdown the Linux system you want to back up and start up a different Linux instance. Then mount the partition that contains the Linux partition you want to back up, and mount the partition you will back it up to. Issue a cp (copy) command to copy all the files from the source partition you want to back up over to the destination partition:

cp -av /mnt_source/* /mnt_destination/

On the cp command, the -a flag is critically important. It recurses through the subdirectories, so that all files are copied from the source. It also preserves file attribute bits and does not follow symbolic links. (If you're into the finer points of the cp command, coding cp -a is the equivalent of coding cp -dpR).

The -v flag yields verbose output. It makes me feel secure to see all the file names flying by on the screen as the files are copied.

If you need to recover the Linux partition, first make sure the file system in the partition you wish to recover is good. Then use the cp command again to copy all the files back to the original partition.

Or boot and run from the new (backup) location. In this case you may have to update GRUB to add the backup location as a bootable partition in the OS selection list. And you might have to update the /etc/fstab file inside the Linux partition to reflect any changed mount point.

Linux offers many other commands for backup and recovery. In addition to cp you can use dd, tar, gzip or these backup utilities, and you can optionally archive and compress backups. I've shown just one simple but effective technique I've found useful for fast disk-to-disk backups.

Backing up and recovering Windows presents a very different challenge than Linux. Windows offers an exceptional variety of alternatives for fixing a system without resorting to recovery from an external source. These include Safe Mode booting, restore points (aka the System Protection feature), Registry export/import, the System File Checker, Driver Rollback, booting into the Last Known Good Configuration, the recovery console, the Windows CD "recovery install," and more. You can often fix Windows without restoring from an external backup.

If you do need to recover Windows from an external backup, your options are restricted by Microsoft's technologies to combat software piracy. Windows Product Activation (WPA) and the Windows Registry are designed to prevent moving Windows between computers to protect Microsoft's property rights (you only license Windows, you do not own it). These technologies even prevent attempts to easily replace the motherboard or the OS-resident disk drive if it fails.

Therefore, use imaging tools for disks and partitions from vendors of backup/recovery products like Acronis. Line commands for copying files like those I illustrated for Linux are not a valid approach with Windows.

Frugal Installs

Above I described a traditional install of Linux to a disk previously owned solely by Windows. Assuming you have enough disk space, you can follow the procedure to install as many additional Linux distributions as you like.

Some small Linux distros, for example Puppy Linux and Damn Small Linux, offer another kind of disk install they call the frugal install. (These systems refer to a traditional disk install as a full install.) The frugal install simply places the Live CD boot image files on hard disk. For Puppy Linux this simply means copying three or four files from the Live CD to the disk. These files are placed in a single directory or folder within any existing partition. This partition can be Windows NTFS or FAT32, or any of the common Linux partition types, such as ext2, ext3, ext4, or reiserFS. So you do not have to create a new disk partition to perform a frugal install, although you may if you prefer to.

The benefits to the frugal install are:
  1. The Linux distro can reside in any existing partition that has sufficient space
  2. No need to shrink the Windows partition or create a new Linux partition
  3. Easy to upgrade -- just replace the older version files with the ones from a newer version
  4. Faster boot times than working off a Live CD
With Puppy Linux, these advantages are so compelling that frugal installs more popular than traditional full installs.


No article on installing multiple operating systems would be complete without a few words about compatibility. Compatibility makes your data usable across both Windows and Linux. It also addresses whether you can run the same applications under Windows and Linux.

Compatibility between operating systems has several dimensions --

File System Compatibility -- Almost any Linux distribution can read or write files on Windows-formatted disk partitions (NTFS, VFAT, FAT32, etc). This also means you can create, copy, move, rename, and delete Windows files and folders as well.

Whether Windows-formatted disk are automatically accessible or must be manually mounted before they can be used depends on the Linux distribution. Puppy Linux, for example, requires that you specifically mount any Windows partition you want to access, while Lubuntu dynamically auto-mounts everything in sight.

Windows can not read or write files in common Linux file systems (ext2, ext3, ext4, reiserFS, etc). But you can easily access Linux file systems from Windows by downloading any of these free programs:

File Format Compatibility
-- Since most personal computers run Windows, to most people file format compatibility means "Can I read and write Microsoft Office files from Linux applications?"

The answer depends on two factors. First, which Linux office suite are you using? OpenOffice strives for full read/write compatibility with Microsoft Office files (Word, Excel, and Powerpoint documents). GNOME Office has an "import" philosophy. Its goal is to read Microsoft Office files accurately but it doesn't support directly writing or updating them. Other office suites have their own approaches.

The other key factor is whether you are talking about traditional MS Office file formats (.doc, .xls, and .ppt) or whether you refer to the newer "x files" formats (.docx, .xlsx, and .pptx). The latter are the Microsoft Open Office XML or OOXML formats. The OOXML formats became Microsoft's default file formats starting with Microsoft Office 2007. You can still find many Windows users driven to distraction by file format differences between the newer OOXML file formats and Microsoft's older file formats (even though Microsoft offers a free download so that most pre-2007 releases of MS Office can work with the new OOXML file formats). Given that Windows' Automatic Updates feature (aka Windows Update or Microsoft Update) automatically applies updates to all Microsoft software including Office, I wonder why this update was not automatically applied to older Office releases?

My experience has been that OpenOffice offers excellent read/write compatibilty with traditional MS Office files. I've exchanged and updated tons of Word .doc and Powerpoint .ppt files between various versions of MS Office and OO Office. I've found that OO Office is as compatible with traditional MS Office files as are different versions of MS Office with each other. For example, OpenOffice 3.x is more compatible in exchanging files with Microsoft Office 97 than are Microsoft Office 2003 or 2007. This is probably because Microsoft only regression-tests back one release. Office 97 is two releases back from Office 2003, three back from Office 2007, and four back from Office 2010. You can see the problem. With new Office releases every three years, compatibility deteriorates unless software is rigorously regression tested for all prior releases. From my experience I've concluded that Microsoft isn't much concerned about compatibility beyond ensuring its latest release is compatible with its immediately previous release.

When it comes to the OOXML file formats, we have an unfortunate situation. OpenOffice offers partial compatibility but it still maturing in this requirement. There are even slight differences in x file compatibility between different versions of OpenOffice, such as Go-oo. Part of the problem here is that there are different versions of OOXML and that it is itself evolving. (Get the messy background on this fiasco here.) I hope the situation is eventually resolved and we get back to a world of easy compatibility. Frankly, most users need this more than they need whatever advantages OOXML offers. I've never heard a single user say "I wish I had OOXML." But I've heard many complain about file format incompatibilities when using different versions of Microsoft Office. Three years on since the introduction of OOXML and I still hear user complaints when exchanging Office files across different companies and organizations!

For those who require compatibility specifics beyond the scope of this article, read this Wikipedia article on the subject, or go to the OpenOffice and GNOME Office websites.

Applications Compatibility -- By "applications compatibility" we mean: can Linux run your Windows applications? Many people find that they have a particular Windows program they'd like to be able to run under Linux directly. If the vendor does not already offer a Linux version of the application, try installing Wine under Linux. Then you can install and run most Windows apps directly under Linux. This list gives you the details on the over 16,000 Windows applications that have been proven to run under Linux using Wine.

If you have really old DOS applications you might install DOSBox on Linux. Designed to run games it also runs many other applications from the DOS and early Windows eras.

How about the inverse case for applications compatibility: can you run Linux applications under Windows? The general answer is no, not unless the vendor also supplies a Windows version of the application.

The Bottom Line

Running multiple operating systems on a single computer offers compelling benefits. It allows you to gain the strengths of two or more OS's while only acquiring and maintaining a single computer. For refurbished computers, multiple OS's combine the strengths of the original Windows system, its license, installed applications, and drivers, with the thousands of free applications and tools offered by open source systems. Linux brings free state-of-the-art, secure, supported software to aging Windows computers. It's vital to computer refurbishing.

Platform virtualization is the premier method for running multiple operating systems on current machines, along with Live CD/DVDs or Live USBs. For older systems, Live CDs and multiple OS installs are popular. Mainstream Linux distributions come with all the tools you need to co-install multiple operating systems. This includes free tools for partition management and OS boot selection.

Linux also offers good Windows compatibility. This includes install co-existence and the ability to read, write, and manage Windows files. Office suite compatibility is situation-dependent. But if it's important to you there are ways to achieve it. Linux also runs many Windows applications using facilities like Wine.

This short article can't cover all the angles on running multiple operating systems, so please comment and share your own experiences. What have you learned?

Coming Up...

Past articles in this series discussed how to refurbish mature computers by revitalizing Windows. Two of them told how to secure and performance tune Windows.

Starting next month I'll look at how Linux contributes to refurbishing. We'll look at Lubuntu, Puppy Linux, Vector, and other distros as vehicles for reviving mature systems. I'll also offer Linux tips and techniques especially suited to limited-resource computers. Stay tuned and contribute your own expertise in comments on these upcoming articles.

- - - - - - - - - - - - - - - - - - - - - -
Howard Fosdick (President, FCI) is an independent consultant who supports databases and operating systems. His hobby is refurbishing computers as a form of social work and environmental contribution. You can reach him at contactfci at the domain name of sbcglobal (period) net.

Previous Articles in this Series:

Smart Reuse with Open Source
How refurbishing defeats planned obsolescence
Scandal: Most "Recycled" Computers Are Not Recycled
What really happens to many "recycled" computers?
How to Revitalize Mature Computers Overview of how to revitalize mature computers for reuse
How to Secure Windows
How to secure Windows
How to Performance Tune Windows
How to performance tune Windows
How Microsoft Missed the Next Big Thing
Microsoft owns the personal computer but is struggling with the emergence of new, smaller platforms
Table of contents
  1. How to Run Multiple Operating Systems, 1/2
  2. How to Run Multiple Operating Systems, 2/2
e p (5)    26 Comment(s)

Technology White Papers

See More