I have been using dual boot machines for more than fifteen years. Naturally, it all started when I decided I want to try something else than Windows. At the time it sounded like a good idea: if I mess up the new OS, I would just boot up the Windows. Also I just had the family computer available, so it was not an option to simply wipe out the old OS. Virtual machines were just not viable at the time either.
Therefore I was left with the option to make the family PC into a dual boot. I chose a Linux distribution, because it is free and different from Windows. Also it was cool :). Thus my journey learning Linux started.
Why are dual boot machines bad?
Well, they are not really bad. You do get two different operating systems on the same PC, so you can choose. But administering both at the same time is a hassle. Especially if one of them is a Windows, and let’s face it – it probably is.
From installing, to managing local time, to boot partition mess and reinstalling Windows when inevitably happens – it is all headaches.
Installing secondary OS
The first headache of having a dual boot is of course installing the secondary OS without messing up everything and deleting the first one.
You need to be either very careful or at least somewhat experienced to partition the drive and format part of it safely. Sure, the installer actually can help you a lot, but after all it’s created mostly for users which would have a single OS on their machines. This means, by default it would encourage you to wipe out everything on the hard drive. Scary.
If you choose a secondary OS which is considered “for advanced users”, it is almost certain, that partitioning would be a painful process. You need to check if there is enough space on the drive. Then check what the size of a block on the drive is, as well as where the first free block is. This way you can create a partition which is aligned with the block.
Thankfully, most operating systems use bootloaders, that respect your choice of having more than one OS on the machine, so this is trivial.
Managing local time
The next challenge you would encounter is setting up local time in such a way, that both operating systems show the right time. This comes from the fact that different OS store time in different format. A Windows would store the local time in the system counter, while a Unix or Linux would use UTC. Why? I don’t know. I don’t even care too much actually. But it means you need to deal with it on a dual boot machine.
In general, what you need to do is either set up the Unix-like machine to store local time (which is not recommended), or disable the time synchronizations on Windows. I believe one can also set up Windows to store UTC instead of local time. This, however, requires changes in the registry. Therefore for years I had my Linux use local time and had problems with clock accuracy.
Boot partition of a Dual Boot
Since I started with a Windows machine, the Windows installer created the boot partition. You might not know, but Windows doesn’t ask you a lot about what you want to do with your system. It does its own thing and leaves you in the dark. So when the installer created the boot partition, it left it only a hundred MB large. That’s all a Windows would need after all.
The Linux however, doesn’t work like that. Usually the Unix-like systems don’t even need a separate partition for this. It’s just a folder in the root of the OS.
When you have a dual boot, however, the BIOS (or UEFI) needs to find the bootloader. And it searches for it on the first partition (or on the boot partition). If your new bootloader, which knows where both operating systems are, is not there, you might not be able to boot into the secondary system. This means you need your new bootloader on the partition, which the Windows created. So you mount the /boot folder there.
Another interesting fact about Linux is, that it keeps the kernel in the /boot folder. This way it can easily find it and load it on startup. Also, when the kernel is updated, the new version is written there. The old kernel, however, stays there just in case.
Sooner or later, the 100 MB space of the Windows boot partition is gone, leading to adventures like the ones I had: Can I move my boot partition?
I don’t know for you, but I can’t use a Windows for more than two years without bloating it and needing to reinstall it. Well, if you are rocking a dual boot, you’re in for a ride.
The installation is easy, as usual (it’s Windows, after all), with the exception of a few things:
- Be careful not to wipe out the other OS.
- The installer rewrites the boot partition completely, leaving you with no access to the other OS.
- Is your drive still having a Master Boot Record partitioning? Good luck installing Windows 10 there.
Be careful not to wipe out the other OS
As when installing the secondary OS, when reinstalling windows, you need to be careful what the installer would do with the drive.
First and foremost, check if it will wipe out the entire drive and reformat it. To be honest, this is also a risk if there is only Windows on the machine. What if it wipes the partitions with all the user data?
Second, check which partition it would use. Don’t let it rewrite a data partition or your other OS.
Rewriting the boot partition
The Windows installer would always rewrite the boot partition. Further, it would not respect any operating system which is coming from outside of Seattle.
This is why I always have a USB stick with a live Linux image. This way I can either reinstall the Linux, or even better – rewrite the boot partition. Yes, I have used both approaches. Mainly because I didn’t know how to rewrite the boot partition at first.
MBR style partitioning? Sorry
This one is the last of all the issues I had. When I started using dual boots, this wasn’t really an issue. There was just MBR partitioning and that’s it. However, technology develops, as you might know. The introduction of the GUID Partition Table (GPT) lead to a few more troubles. Granted, these are a one time thing – only when transitioning from an MBR to a GPT style partitions. But the transition is hard.
Naturally, you cannot install an OS which expects MBR partitioning on a GPT drive. This means already that you have to wipe out everything on the drive. The Windows installer has a utility to help you, but what happens with all the data?
It’s gone. That’s what happens. This is why I had to buy an external hard drive and copy everything from the computer to it.
Now all this you need to do even with a single boot machine. But when you have a dual boot on your hands, the work here is double. You have to copy all the data from one OS to external drive, then from the other. This was easy.
However, the entire drive has to be wiped out. This means instead of reinstalling just a single OS, you now have to do both.
I still have a dual boot, though
All those problems! And I still run one. Why? Because sometimes it helps. Sure, nowadays I have plenty of software choice, so I don’t really need the Windows for that. But I don’t live in an empty world. I have relatives and friends, who might need help. It’s much easier to boot up the Windows and check how something is done.
Also, somehow, I always have printer problems on my Linux. It doesn’t matter what the distribution is. Perhaps it’s my printer, but I don’t care. I need to use it. And if I can’t use it through one OS, I’ll use the other one.
And not the least, I’m a bit lazy. It would be some trouble getting rid of the dual boot setup. If it still works, I’ll leave it there.
Happy dual booting? Why not…
Do you want to read a story about my struggles with my printer? Once I changed my kernel to make it work.
I also built myself a table once. A real table.