Updated: July 17, 2009
This article was suggested to me by a reader called krishna. I realized this was a very important, very common topic - and quite often so easily overlooked by Linux users all over the world. It stands to logic, really. You install an operating system - so you expect to be able to uninstall it, undo the installation, remove the operating system without any trace left to its presence. How do you do that in Linux?
While the idea is a very logical, it is very difficult to answer. This is probably the reason why so many Linux users never bothered answering it. Not to worry. In this tutorial, I will teach you how you can fully and safely remove Linux installations from your system and remain with a bootable, working machine. Let's begin.
The first step in getting Linux onto your system is by downloading a distribution of your choice, burning the .iso image to a CD, booting a computer from the CD, and then installing the distribution. To learn how to do that, please refer to my myriad Linux reviews and tutorials, all of which explain in great, rich detail the installation procedure for different distributions. Now let's examine several test cases.
Single operating system
This is one of the most common solutions that most people will use. A single instance of an operating system is installed.
Two operating systems in a dual boot configuration
This is another very common scenario. Many new Linux users will be recent converts, all of which have previously and are currently using Windows. Many will keep their Windows installation and use Linux as a second or secondary operating system alongside their existing Windows installation. This configuration is known as dual boot. Please refer to this tutorial to learn how it can be created.
More than two operating systems
This configuration is usually used by power users, who will have several Windows releases and several Linux distributions and possibly other operating systems installed on their machine. Practically, there is very little difference between a dual-boot and a multiple-boot system.
Understand how things work
Whichever configuration you choose, it is important to understand how things work. When you install an operating system, several things are done.
Disk layout is changed
Disks are logically divided into sections called partitions. Operating systems are installed onto these partitions, when they requires at least one and usually no more than a single partition to install to. To better understand partitioning, please read the very extensive GParted tutorial.
The partitions are also formatted with one or another filesystem type, which is a logical data structure method that allows operating systems to interact with the hard disk. For example, NTFS is a Windows filesystem, EXT3 is a Linux filesystem.
A bootloader is installed
When you start your computer, the first thing you see is the BIOS screen. After that, an operating system boots. But who does it do that? Well, the answer is simple.
Hard disks contain sectors, physical parcels onto which logical data is written in the form of a filesystem operations. The very first sector is reserved for a tiny bit of code called the bootloader, which contains a basic set of instructions required to kickstart the operating system boot. The first sector is called the Master Boot Record (MBR) and it points to the active partition where important files necessary for the booting of the operating system can be found.
Every operating system installs this or that bootloader. Windows uses the NT Loader (NTLDR). Linux uses the popular GRUB. Reading my tutorial linked to the left will grant you a much deeper understanding into how GRUB works. So the boot sequence goes like this:
- BIOS looks for the first bootable device (hard disk) and initiates it.
- The MBR is read and the relevant partition is chosen.
- Boot files on the relevant partitions are loaded into memory and the booting of the system begins.
The boot process is accompanied by visual cues that allow the user to interact with the system. The first is the BIOS menu, where you can change the boot order of your devices, enable and disable peripherals and other tasks.
Next comes a bootloader menu. On Windows, you do not usually see this menu, as it's hidden from view when there's only one operating system installed. On Linux, the menu is normally displayed, usually offering several boot options.
After this stage, you reach your desktop and things are just the way you know them. However, it is important that you remember the sequence of events that took place.
Operating systems are not self-sustained entities. They require the presence of several factors to be able to function, namely the hard disk and the partitioning layout, which the operating system uses for permanent storage of its files, the bootloader that points to the right files and allows the system to boot, the BIOS, which recognizes and properly initializes the hardware. Take away any one of these and your system will not boot.
Another very critical thing to remember is that on a machine with no operating system installed, nothing will happen past the BIOS stage. Since the hard disks are empty, there is no boot sector and no bootloader installed in it. Therefore, once BIOS initializes the primary boot device, nothing will happen. The boot sequence will simply fail.
This means that uninstalling an operating system usually means leaving your machine unbootable. It is important for you to remember this. The only way to maintain desktop functionality is if there's more than a single operating system installed. You remove one or more, but that's ok, as long as there's at least one instance of an operating system capable of completing the boot sequence. Now that we understand what uninstalling an operating system means, let's do it.
Operating systems will not work without their boot files or if they are never called by the bootloader. Therefore, to remove the presence of an operating system, it is enough to dereference is from the bootloader menu. Alternatively, you can also delete its files or replace them with another operating system. So let's examine our test cases again.
Single operating system
If you have a single operating system, removing it will render the machine unbootable. So any which way you to choose to get rid of is perfectly acceptable. This method is true for just about any operating system, including Windows.
- You can delete all the files on the disks; this will render the system unbootable.
- You can format the partitions where the operating system is installed.
- You can delete the partitions where the operating system is installed or even delete the entire partition table.
- You can uninstall the bootloader.
- You can install another operating system on top of the existing one, simply overwriting its files.
Two operating systems in a dual boot configuration
This is the case that really interests us. We will focus on the classic case - Windows and Linux. If you've read my GRUB tutorial, you will have learned by now that GRUB install itself into the MBR and replaces the Windows bootloader that existed there.
When you uninstall Linux, which we will do shortly, you remove the GRUB stage2 from the system. GRUB stage2 contains the crucial files that allow it to boot your installed instances of Linux or transfer the boot control to Windows. This means that by removing Linux, you will also cripple the Windows installation. It will be intact, but unbootable.
This is because the Linux bootloader will still be present after you remove the Linux installation. To restore Windows functionality, you will have to install the Windows bootloader again. It will overwrite the GRUB present in the MBR and you'll be back to being able to use Windows once more. Now, to uninstall Linux, there are several options:
- You can boot from a live CD and delete or format the Linux partitions.
- You can boot into Windows and delete or format the Linux partitions.
Now, please note that by default, Windows cannot read data from partitions formatted in Linux filesystems like EXT3, EXT4, JFS, ReiserFS, and others, however the Disk Management utility can see these partitions. It will label them as Unknown.
There is a way to allow Windows to be able to read and write to Linux filesystems. Please read this tutorial for more details.
Furthermore, to learn more how to work with the Disk Management utility in Windows, please read my How to partition and format hard disks in Windows article.
To remove Linux, open the Disk Management utility, select the partition(s) where Linux is installed and then format them or delete them. If you delete the partitions, the device will have all its space freed. To make good use of the free space, create a new partition and format it.
But our work is not done. There's the bootloader issue to fix.
Fix the bootloader
This needs to be done on next reboot. What you need to do is restore the Master Boot Record. There are several tools that can do the trick, I will mention just two:
Super Grub Disk
Super Grub Disk is intended to run from a floppy disk or CD and is used for system rescue. Most importantly, it can be used to restore boot loaders, including GRUB, LILO and even Windows boot loader.
Ultimate Boot CD for Windows
This is one of the most important tools a Windows user can have. It is a complete bootable Windows kernel, packaged with tens of useful utilities in a range of categories. Most importantly, UBCD4WIN can fix the MBR quickly and easily. If you have a Windows CD, you can also boot from it, go into the Recovery Console and manually restore the MBR, although this is a procedure for more advanced users. Let's take a look at each option separately.
Windows Recovery Console
Boot from Window CD. After a while, you'll reach the screen where you have to choose between a setup and the Recovery Console. Press R to get into the Recovery Console.
Provide the administrator's password when asked:
Then simply type the following command:
After that, write quit to exit and reboot. And that's it.
Ultimate Boot CD for Windows
This mighty tool also has the Recovery Console, so you can use it the same way you did before. Or you can boot into the live desktop and use a number of tools.
Under Programs > Disk Tools > Partition, you will find both MBRWizard and MbrFix.
Super GRUB Disk
Super GRUB Disk also lets you fix the bootloader, be it LILO, GRUB or NTLDR. Just burn the .iso and let it boot. The main menu is very ugly, but it's quite simple to follow:
That's it. From now on, the principle is the same for three, four or a million operating systems. Just follow the same train of actions.
Uninstalling operating systems is not a simple thing. It's a complicated issue that requires quite a bit of knowledge, including the understanding of how computers work, the boot sequence, the hard disk & partitioning vocabulary, the bootloader.
It comes as no small wonder that so many people avoid this topic. Furthermore, it does hurt many Linux users that one of their peers should abandon the world of freedom and whatnot and go back to using Microsoft software.
Regardless what your motives are, this tutorial provides you with the tools necessary to remove Linux installations from your system and still maintain a bootable, operable machine. I would very much like to believe that no Linux user would ever take a step back and abandon his/her distribution, but in a real world, this happens and having the right tools for the task guarantees a painless transition. I hope you've learned something new. Enjoy.