(this article originally appeared here)
Table of Contents
This article explains how to set up a dual-boot system with Windows (or another operating system) and gNewSense GNU/Linux.
Despite all the myths surrounding the difficulty and geekiness of installing GNU/Linux, anyone who manages to install applications on Windows can successfully perform a GNU/Linux installation. Besides, using a Live CD as with gNewSense, installing GNU/Linux is much more fun than installing Windows ever was.
For advanced users and those with special needs, this article contains a separate section explaining manual partitioning.
gNewSense is a GNU/Linux distribution based on Ubuntu. gNewSense is free as in freedom, and unlike Ubuntu, gNewSense does not contain any non-free firmware, drivers, or applications. So, when you're using gNewSense, you enjoy the essential freedoms of free software without compromises.
gNewSense is based on the most recent version of Ubuntu with Long-Term Support (LTS). This means that its focus is on stability, and security updates will be available until the next LTS version is released.
Before You Begin
The system requirements for installing gNewSense are as follows:
- 384 MB RAM
- 4 GB hard disk space
- Intel x86-compatible CPU
If you have Windows (or another operating system) installed, and you want to set up a dual-boot system, please make a backup of your important files. The gNewSense installer is generally able to resize an existing Windows installation, but in case anything goes wrong, you'll be grateful for a backup.
Also, if you want to resize a Windows installation, you should perform a full disk defragmentation while you're in Windows.
Even if you're planning to remove Windows, there might be a few things you can do in Windows to ease your transition to gNewSense. See Transitioning to GNU/Linux for more info.
You can download an installation CD from one of the gNewSense mirror sites listed here. The installation CD comes as a single large ISO image file (.iso file), which you can burn to an empty CD using almost any CD burning tool.
Choose the .iso file with the most recent date and version number available – “gnewsense-livecd-delta*-arch-x.y.iso” for the (standard) GNOME version. The .iso file is around 620 MB in size.
If you're using BitTorrent, you can download the ISO image via the corresponding .iso.torrent file instead.
Burning an Installation CD
When the download is complete, use the CD burning tool of your choice to burn the ISO image to a CD. (Double-clicking the .iso file usually opens the correct application.) Just be careful to select the option to burn an ISO image and not to create a data CD. If you end up with a CD that contains a single .iso file instead of a bootable CD, it's time to get another empty CD.
Booting the Live CD
Insert the Live CD and reboot. If your computer detects the CD correctly, you will be presented with the the boot prompt screen.
(all screenshots were taken with gNewSense 2.2)
Press Enter to boot the Live CD.
Note: If the Live CD does not boot, reboot and press F1 at the initial screen to see your options. There might be an option that you can type at the “boot:” prompt to circumvent the problem.
Using the Live CD
The Live CD is a fully functional gNewSense system; it just runs a whole lot slower than the installed system will.
Using the gNewSense Live CD
Take a look around. Check whether all your hardware is working (USB devices, wireless network card, etc.). You can use the Live CD to surf the Internet, to connect to Windows machines on your home network, to try out OpenOffice.org or the GIMP, or you can read Richard Stallman's essays or listen to him singing the Free Software song.
Note: You can access your Windows hard disk for reading while you're in the Live CD. You can find it in Places -> Computer.
When you're done and ready to install gNewSense to your hard disk, click the Install icon on the desktop.
In this section, I will show you screenshots of the entire installation process. As you will see, the installation is a rather simple process. I will provide links to the sections covering the advanced topics as we go.
Step 1: Language
Not much to say, except that gNewSense has built-in support for what seem to be many more languages than Windows. Select your language and click Forward.
Step 1: Language
Step 2: Country and Timezone
Move the mouse over an area of the map to zoom in, then click a city near you and click Forward.
Step 2: Country and Timezone
Step 3: Keyboard Layout
Pretty self-explanatory. Once gNewSense is installed, you can go to System -> Preferences -> Keyboard to set advanced options (such as whether you want dead keys with a German keyboard layout, etc.).
Step 3: Keyboard Layout
Step 4: Hard Disk
In this step, you select the hard disk to install to. Here, you can also decide whether you want a dual-boot setup (keep Windows) or not.
Step 4: Hard Disk
(Depending on the current contents of the hard disk, not all of the options may be available.)
Guided - resize <partition> and use freed space: If another operating system is installed, it occupies an area of the hard disk called a partition. By selecting this option, you can limit the size of the hard disk that is reserved for the existing operating system and use the remaining space for gNewSense. By dragging the slider, you specify the size that will continue to be reserved for the existing operating system.
Note: Sometimes, Windows is configured to use more than one partition on the same hard disk, each of which appears as a separate drive letter in Windows. You can select “Manual” if you want to resize a different partition.
Guided - use entire disk: Just what it says. All data in all partitions of the hard disk will be removed.
Note: This is not the same as dragging the slider to 0% (which can't be done). The first option and the slider pertain to one partition of the hard disk only. There might be more than one partition on the hard disk, all of which will be removed when you select this option.
Guided - use the largest continuous free space: This will use the unpartitioned disk space, if any. This is the way to go if you used some other partitioning tool (such as Windows Vista's built-in one) to make room for the gNewSense installation. (See the note to Vista users.)
Manual: This allows you to fine-tune the partitioning of the hard disk. It definitely won't hurt to take a look. Changes will be written to disk only after you click the Forward button in the manual partitioning tool. The section titled Advanced Partitioning has more details.
If you want to keep your existing Windows installation, choose the first option. The suggested new partition size should be fine.
If you don't need Windows any longer, go with the second option.
Note to Vista users: It seems Vista has its own built-in partitioning tool that you can use to shrink the Windows partition prior to installing gNewSense. For this, boot into Vista, right-click My Computer, then click Manage -> Disk Management. Right-click the Vista partition and select Shrink Volume. In the gNewSense installer, select “Guided - use the largest continuous free space.” More details here.
Once you click Forward, the changes will be written to disk.
Step 5: User Account
Next, provide your name and login information. It is important to note that the user for which you create an account here does not work with administrator rights (also called “root” privileges) all the time. Rather, the system will ask for the root password when you want to perform a task that requires these rights. The root password is the same as the password that you specify here.
Step 5: User Account
Step 6: Migrate Documents and Settings
The migration assistant helps you migrate user settings and files from an existing Windows or GNU/Linux installation. For example, you can import browser bookmarks or the My Documents folder.
Unfortunately, on my test system, the installer failed to detect the existing operating system, so I was presented with the following screen:
Step 6: Migrate Documents and Settings
Step 7: Finishing
On the last screen, you are presented with a summary of the settings that you made. Please note that the partitioning changes have already been written to disk. You cannot go back to revert them.
Step 7: Finishing
When you click Install, the installation begins.
After a short coffee break, you are asked to reboot.
From now on, whenever you reboot, you will be presented with a boot menu. If you don't select anything after a few seconds, the default operating system will be automatically selected. If you went for a dual-boot setup, you can also choose to boot into the other operating system at this point.
GRUB Boot Loader Menu
In this section, I'll explain how to use the manual partitioning tool. I don't know about you, but when I'm given the choice, I always opt for the “advanced”, “manual”, or “expert” installation. I want to know what's going on. The manual partitioning option offers just that – it provides you with a visual representation of your hard disk and lets you resize existing partitions and create new ones to your liking.
I will describe how to install gNewSense side-by-side with an existing Windows (or other operating system) installation.
Start the partitioning tool before running the installer by clicking System -> Administration -> Partition Editor.
At the top of the window, the existing partitions of your hard disk (the one that is selected in the top-right drop-down list) are shown as a horizontal bar. If nothing is shown, you have to select one of the partitions in the list box at the bottom first.
A single partition
In the screenshot above, there is only one partition, formatted with the “ntfs” filesystem (Windows NT filesystem).
First, we need to make room for the gNewSense partitions that we want to create. To do this, click the Windows partition and click Resize/Move. A new dialog appears where you can drag the horizontal bar to the desired size.
Resizing a partition
The yellow area tells you how much space is currently used. You can't go smaller than that. Please note that the gNewSense partitions are usually invisible to Windows. The hard disk that Windows sees will be exactly as big as the new size that you specify here, so choose a size that's large enough for you to work comfortably in Windows.
Click Resize/Move. At this point, nothing is written to the hard disk yet. All the changes that you make are listed as “pending operations.” The changes will be applied when you click the Apply button.
Creating New Partitions
Back in the main window, there's now a smaller Windows partition and a large gray area, which is the unused space on the hard disk. It's in this unused area that we'll create new partitions for gNewSense. At a minimum, you need two partitions:
- A “root partition” for the program files and your personal files
This is going to be the root of the filesystem under gNewSense.
- A “swap partition,” which is similar to the “pagefile” known from Windows
This is an area of the hard disk that's used when physical RAM runs out (put simply).
To create a partition, select the “unallocated” partition first. Click the New button. In the dialog that opens, you can make the following settings:
Creating a partition
- For the swap partition, the gNewSense wiki recommends 1.5 times the amount of RAM or 1 GB, whichever is smaller. (Or, for laptops and if you're low on disk space, the amount of RAM 100 MB.)
- For the root partition, use all the remaining disk space.
Free Space Preceding/Free Space Following: The size of the gaps of unallocated space that you want to leave between the previous/next partition and this one. These values will be automatically adjusted according to the New Size that you specify.
Create as Primary/Extended Partition: There may be only four primary partitions per physical hard disk. If you want to create more, one partition must be an extended partition. Additional partitions can then be created within the extended partition.
Tip: It's a good idea to create an extended partition taking up all unallocated space. You might not need it immediately, but it might come in handy in the future. At one point, for example, I used to have 9 partitions on my hard disk for a quadruple-boot system with Windows and three different GNU/Linux distributions. I was glad I saved one partition as an extended partition.
Filesystem: “ext3” is a good choice for the root partition. For the swap partition, you must use “linux-swap”.
To summarize, you must create at least these partitions:
- Swap partition with filesystem “linux-swap,” the size being 1.5 times the amount of RAM or 1 GB, whichever is smaller.
- Root partition (usually with filesystem “ext3”) occupying the remaining space.
The final partitioning
When you are satisfied, click Apply.
See also the next section for additional tips.
Separate “home” Partition
I recommend to create two “ext3” partitions instead of only one – one for the filesystem root and one for your “home” directories.
The filesystem root (also called “/”) is where installed applications go. With 10 GB, you should be on the safe side. (I'm not using more than 5 GB, and I have installed all the applications I'll ever need.)
The “home” directory (also referred to as “/home”) is similar to “Documents and Settings” in Windows. Every user will have his or her own directory there (“/home/jane,” “/home/john”), where applications store personal settings, or where users store their documents. Use all the remaining space for an “ext3” partition for “/home.”
Having a separate home partition makes it easier to upgrade to a new version of your GNU/Linux distribution or even to switch to a different distribution. The next time you install GNU/Linux, you can erase the root partition and just keep the home partition. You can even set up a dual-boot system with two different GNU/Linux distributions that share the same home partition. (By the way, several GNU/Linux distributions can also share the same swap partition.)
Exchange partition for sharing files between Windows and GNU/Linux
If you want to keep using Windows, you can create an exchange partition through which you can transfer files between Windows and GNU/Linux without the need for an external medium.
For this, just set aside a small partition (say, 1 GB) and format it using the “fat32” filesystem. Unlike “ext3,” FAT32 can be used by Windows, and unlike “ntfs,” GNU/Linux can read and write to FAT32.
Back in Windows, the exchange partition should automatically show up with a new drive letter (D: or E: or whatever).
Assigning Mount Points
Close the Partition Editor and start the installer. In Step 4: Hard Disk, select the option “Manual” and click Forward.
On the next screen, you have to specify which partition to use for which purpose. Select each of the partitions and click Edit partition.
- Specify “/” as the mount point for the root partition that you created. Check “Format the partition” for it.
- If you created a separate home partition, specify “/home” as its mount point. Check “Format the partition” for it.
- Specify “swap” as the mount point for the “linux-swap” partition that you created.
If there are one or more Windows partitions, you can assign mount points to them as well. I like to use “/windows/<drive-letter>,” but you can use anything as long as it's a valid pathname. Many people prefer “/mnt/<mount-point>.” Do not check “Format the partition” for it.
- If you created an exchange partition, specify a mount point for it as well.
(A mount point is similar to a drive letter in Windows, just much more useful and you can have more than 26 of them.)
In the end, the list of partitions looks something like this:
Final list of partitions
More Dual-Boot Tweaking
There are (at least) two more things you might want to customize on a dual-boot system – the dual-boot menu and the way Windows partitions are mounted. This section describes both very briefly.
GRUB Boot Loader Menu
This is more correctly referred to as the boot loader menu. It can be customized by editing the file “/boot/grub/menu.lst.” You need administrator privileges to edit this file, so you might want to open it with the following command on the terminal:
sudo gedit /boot/grub/menu.lst
(When you're asked for a password, provide the one that you specified for the primary user during installation.)
In this file, among other things, you can specify the timeout after which the boot loader boots the default operating system, and you can specify which operating system to use as the default. (You can also give funny names to the entries but I'm sure you would have thought about this yourself.)
The file that controls which partitions to mount where is “/etc/fstab.” Again, you need administrator privileges to edit this file. Here's an example:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda7 / ext3 defaults,errors=remount-ro 0 1 /dev/hda3 /home reiserfs defaults 0 2 /dev/hda1 /windows/C ntfs defaults,ro,nls=utf8,umask=007,gid=46 0 2 /dev/hda5 /windows/D vfat defaults,umask=007,gid=46 0 2 /dev/hda6 none swap sw 0 0 /dev/hdb /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Although I'm not an expert when it comes to all the filesystem-specific options, editing this file was fairly easy, given a little copying and pasting. If you need help, consult the manual entries for “mount” and “fstab,” which you can access through the online help system (System -> Help, then search for “mount” or “fstab”), or on the terminal:
man mount man fstab
To see a list of available partitions (mounted or not), type this command:
sudo fdisk -l
Please note that when you specify a different mount point, you must first create the respective directory. That is, the directory “/windows/C” must exist before the Windows drive C: can be successfully mounted to it.
You can use the graphical Disks Manager (System -> Administration -> Disks) to mount and unmount partitions, as long as they already appear in /etc/fstab.
As you can see, performing a basic installation of GNU/Linux, especially of one that's as user-friendly as gNewSense, is far from being for experts only. If you have special needs, the gNewSense installer provides all the tools you need.
A dual-boot system is your first step to abandoning Windows entirely. Once you have transferred all your files over to GNU/Linux, you'll see the need to boot up Windows slowly diminish.
You can find more information about setting up a dual-boot system here:
Dual-booting with Windows (including Windows Vista)
Note: For writing this article, I performed the installation in VirtualBox. Using a virtual machine such as QEMU or VirtualBox is a good way to try your hands at GNU/Linux with absolutely no chance of breaking anything.