Why Your Dual-Boot Windows-Linux Installation may Not Be Working Correctly
*** This article is still being edited and under construction, the information is good, but some photos are going to be added and then grammatical editing as well, so please understand this is not finished piece, and finally in the future, Articles Menu Item will have a choice of articles. Thanks! ***
There has been much written on how to install dual-boot systems using the various flavors of Linux and Windows; some are quite good at hitting some esoteric aspects of the MBR (Master Bott Record), and how to access it from the Linux side of the partitions using Syslinux.
Recently, I purchased an inexpensive, archaic Dell Latitude E6420 laptop from eBay to practice with the CLI (command Line Interpreter) for my upcoming CompTIA Linux certification exams.
As the laptop came from the reseller with Linux Mint initially, and I had not used a good Linux installation since Red Hat 2.0 in 1996, I was well and truely pleased with the drivers, working hardware, ease of use, and application and driver online upgrading-- right out of the box.
But once gets a taste of one flavor of Linux, and if one feels that they had less than stellar results from a former install, the desire to return and see if it could have been better had the relationship started instead many revisions and some 5 years later.
And so I reformatted, and installed Ubuntu Desktop on my Dell. I also downloaded and burned about 20 different distributions of Linux of different types as I suddenly caught what musicians call "G.A.S.": "Gear Acquisition Syndrome." Thankfully, Lnux Distributions are one of the all-tme cheapest forms of G.A.S. with the only outlay of capital being the cost of DVDs or USB sticks to hold the various ISO's.
I'll be blunt: I am not yet at "Arch-Linux-from-Scratch" Guru-Level (and at the time I had no idea Manjaro existed, but I am well on the way), except due to the needs of employment goals, this very website had to be built and administered, and although plenty of tools exist to do the job on the Linux side of the partitions, most of the software with which I had experience and with which I could build and edit quickly was on the Windows side.
And although I had my Windows desktop at home, I had a real need to have both Windows and Linux on a dual boot on my laptop.
And so I did what I had done back in the late 1990's with Partition Magic, I used the Windows 7 installation disk to partition the 500Gb SS hard drive into two major 250Gb partitions, and while Windows created a small 100Mg 3rd partition for the boot loader, I was able to install Windows 7 first and then Ubuntu on the second 250Gb partition.
And it worked: I was able to access both installations, provided that I did so through the BIOS boot manager itself, each time entering the BIOS for a "single use" of the boot loader to "blunt force" the loader to the installation that I wanted at the moment.
This was a workable solution however, and I was well-pleased with my efforts until my various researches kept showing screen shots of other folks far more elegant GRUB2 boot manager with the choice made after the BIOS had cleared.
Also, I need to state here that my Dell Latitude E6420 purchased for $166 of eBay is a great little machine: it has a back-lit keyboard. It also has support for UEFI and Legacy Boot choices, so when I used the BIOS boot-loader to make my single use choice of OS, I chose between Legacy (Windows and Windows-style DVD ROM and Windows-style USB boot options) or the more modern UEFI (Linux and Linux-style file formats such as Ext4, Linux-style DVD and USB boot options).
Let me simply say that when I uninstalled Ubuntu from it's 250Gb partition and then installed the newest Linux Mint "Sonya" Cinnamon in it's place, I could only access Mint if the UEFI install disk was in the DVD player. This was no big deal, but added to the inelegance of the situation I was currently experiencing. Then I made the mistake of using Syslinux from the CLI to manipulate the MBR. This effort got me a dedicated Mint option in the BIOS boot loader without the need for the DVD, but at the cost of my entire access to Windows 7 from the BIOS boot manager.
I tried GRUB2, SuperGRUB, and a Linux "Super Recovery Disk;" I re-entered the MBR using Syslinux from the Linux side and nuked it all with my ignorance.
It was time to reinstall.
But as I researched my problem-- and there were plenty of articles out there on installing Linux in different flavors using unity and anaconda installers-- and getting sucessful dual-boots from their efforts, these how-to's were not showing a very important piece of the puzzle: How does Linux manage to see the Windows side of the HD partition?
Since the late 90's using Red Hat 2.0, I had been using Linux primarily to access Windows either to fix problems, transfer files, or for access to other students' secrets on their hard drives.
I had been ecstatic when I found that Linux Mint simply "saw" every partition and could access them from the install disk without much effort at all.
However, I found that this was a lucky mistake on my part-- that I had inadvertantly made the proper installation the first time without knowing exactly what I had done, and when i tried to do it the second time in order to acheive the same effect, I could only see my own Linux distribution from Mint-- I could not see my new Windows 7 install.
Here is the key that allowed me to properly use the Linux GRUB2 boot loader, fix all my boot problems, and not have to look back again:
The BIOS (as stated earlier) works in EITHER Legacy or UEFI mode-- these are hardware manifestations that occur on boot; it is a either-or choice that once booted into, is not changable. Thus, although UEFI is more modern and better in some ways, there is a point in installation when UEFI is absolutely not desireable.
To recount the successful outcome of my dual-boot installation which I use today, and the very slight difference between that installation and the previous installations, let me take us step-by-step.
1) Accept that all your data is lost or already backed up and you want to format your entire hard drive and create a dual-boot Windows 7-Linux machine.
2) Use the Windows 7 install disk to delete all partitions, replace the partitions with the two Windows 7 partitions (Windows 7 makes 2 partitions for every install-- the small 100Mg bot loader, and the second large partiton where Windows and data files are actually housed-- thus, if you say "I want a 250Gb Windows side of my machine" understand that you will get roughly 245.4Gb for Windows OS and program and data files, and a partiton of 100Mb for the Windows Boot Loader. Also remember Windows ONLY ALLOWS 4 PARTITIONS TOTAL, so now you only have 2 primary partitions left to work with.), and one or two other partitons you will use for Linux.
3) Install Windows 7 on the first two partitions (Let me say for the sake of clarity: You only need to make one Windows partition, Windows itself makes the second small partition, but having made that second primary partition, it costs the user 1/4th of their partition-making capability).
4) Make sure Windows 7 works and remove the Windows 7 install disk.
5) At this point, the user should have a fully0functioning Legacy BIOS install which boots automatically without need to enter the BIOS boot loader at all. It should be transparent to the casual user and simply boot and work.
6) We are now at the point that we would install Linux, in this case Linux Mint "Sonya" Cinnamon. WE ARE AT THE CRUCIAL STEP OF A GOOD DUAL BOOT MACHINE!!!
It is at this point that the user has already downloaded and created a ISO boot disk or USB stick, and so the typical effort is to go into the BIOS boot manager and reorder the boot order and this would typically be fine EXCEPT that the user MUST make sure the boot order is LEGACY and NOT UEFI.
There may be a tendency on the part of the user who has burned the Linux ISO to expect the disk or USB stick created to be UEFI and to be booted from UEFI at install.
This is not necessary and is harmful to the future dual boot process.
By this I mean, just boot the Linux install disk from the Legacy BIOS boot loader-- NOT THE UEFI BOOT LOADER-- to install.
Then install normally.
By doing this, by installing from the Legacy side of the BIOS, it allows Linux to see the Windows side of the partition-- even if the new partition the user is installing on was not formatted to NTFS during the Windows install-- all that had to be done was have Windows create the partition intended for the future Linux distro, not format it.
But installing from the Legacy side of the BIOS allows the Linux install to see the entire drive.
My experience with installing from UEFI is that Linux only sees the unformatted section of disk and considers the NTFS/Windows side of the partition "unavailable." This is true even if GParted reformats the partitions intended for Linux but created with Windows installer to Ex4 file format, because the BIOS itself is UEFI-- not just the operating system or install disk.
Meanwhile, the fact that Linux CAN BE installed on NTFS means that IF INSTALLED FROM Legacy BIOS, even if one reformats the Linux partitions to Ex4, the capability to see Windows 7 and the Windows Boot Loader is preserved forever-- but only if the Linux installation was carried out via the Legacy-side of the BIOS.
7) After the Linux install (in this case Linux Mint) opens up, you have access to GParted. I use it to format Partition3 (roughly 200Gb for "/" or "root") and Partition 4 (the remainder, roughly 64Gb for Swap). GParted gives you the options of many format standards before formatting within the Linux installer, and also where you put "/" or any other install point. It also gves the user the option to use the fourth partition for a dedicated Swap space, which is what I use it for. **I want to say right here that I do not need other Linux "power-users" to tell me how my 60+Gb Swap space is excessively large and unnecessary-- Swap Space is like a penis or MTV: too much is never enough. --So there is no need to write me about my giant Swap Space, I leave the comments on my Swap Space to my lovers.**
8) So now you have installed Linux Mint on Partition 3 and GParted made Partition 4 a Swap Space, remove the DVD or USB stick, and reboot: what you should see is the GRUB2 loader showing several Mint options with the Windows 7 boot as last in line.
Have a good day and I hope you enjoyed my first technical article on my on-going experience with the many forms of Linux. More will be upcoming!!! Thanks