The Reg guide to Linux, part 2: Preparing to dual-boot
Lining it all up
On Monday, we suggested Ubuntu as a good starting point for experimenting with desktop Linux. If you have the option, dedicate a machine to it – by 2010 standards, even a modest-spec PC will run it fine. You'll be very pleasantly surprised by the transformation from a lumbering old XP box burdened with years of cruft to one with a fresh install of an OS that doesn't need multiple layers of security software.
If you don't have that option, though, you'll have to run the two systems side-by-side. There are three main ways:
- The traditional dual-boot arrangement, using multiple disk partitions.
- Wubi, which means installing Ubuntu inside a file in the Windows filesystem.
Option 3 is for weenies. You don't learn anything about the performance or feel of the OS on native hardware running it in a VM, and you might lose the joyous experience of hunting for drivers – although there's a pretty good chance these days that you won't need any. The second option, Wubi, works fine, but it's a bit slower and less flexible than a native install, and if you decided to “go native” and switch to Ubuntu full-time, you can't get rid of Windows later – you're lumbered with the virtual-hard-disk-in-a-file arrangement.
We recommend the old-fashioned way: shrink your Windows partition to free up some space, create some new partitions and put Linux in there.
Before you do this, though, it pays to do some preparation and do a little housekeeping on your Windows system. The following assumes you're on XP – some of these steps are significantly harder work on Vista or Windows 7.
You can do a lot of this from the command line, but if you're using Vista or 7, it won't let you. Save yourself some time and make an Admin-mode command prompt shortcut – create a shortcut to CMD.EXE, then right-click it, choose Properties and set it to run in administrative mode.
First, clean out your TEMP folders, both the global one, C:\WINDOWS\TEMP, and the user one. If you're on XP, that's in C:\Documents and Settings\%USERNAME%\Local Settings\Temp, where %USERNAME% is the short form of your sign-in name. (If you're on Vista or Windows 7, it's in C:\Users\%USERNAME%\AppData\Local\Temp.) "DEL *.* /s/q" is your friend here. If you have several user accounts on the PC, don't forget to clean out everyone's Temp folder. It's safe to delete everything in there, but to remove stubborn hangers-on, you might need to reboot, or better still, start the PC in Safe Mode. For a really thorough clean-up, you can search the disk for files matching "~*.*" and remove them – they're temporary files which MS Office tends to litter all over your drive.
Next, look in C:\WINDOWS. You'll probably see loads of uninstall folders for Windows updates - usually, these are called things like $NtUninstallKB898461$: anything with a name starting and ending with a dollar sign and called "NtUninstall" followed by a number or name. Only delete these ones - leave everything else, including the folder $hf_mig$ if you have it.
Reboot to make sure everything still works. If all seems fine, empty the Recycle Bin. Next, open a command prompt and do a CHKDSK /F on all of your drives.
If you've got a single hard disk drive with multiple partitions and you want to dual-boot, for simplicity's sake, it's easiest to consolidate all your files onto drive C:, or at least cut things down to just two partitions, one for software and one for data. Similarly, if you've got multiple hard disks, for an easy life, shuffle your stuff around so as to give Linux a whole drive to itself.
After you've rebooted and done the disk checks, defrag any Windows partitions you're going to resize. This isn't essential, but it can speed things up a bit. Don't waste your time on third-party tools - the built-in free defragger is good enough. For a slightly faster and more thorough job, do it in Safe Mode.
Sponsored: DevOps and continuous delivery