I generally have no idea what I’m doing.
In this post I will describe how I managed to configure a multi-boot system with Windows 7, Linux Mint 12 and Arch Linux. The reason for this is I am attempting to be a sort of software developer, I use Qt and thus I’d like my software to be cross-platform. Plus, Linux is free, so why not install it.
About a week ago I had on my machine Windows 7 and Linux Mint 11. Well, I screwed up Mint (not relevant here) and since I had wanted to try Arch, I figured I just install it and replace Mint with it. I read the relevant docs (but not good enough, apparently) and went ahead with the installation.
The first attempt ended up in failure, after which Windows would no longer boot. So I figured, OK, after I get Arch installed I’ll look into the Windows thingy. Well, I got Arch installed, but for whatever reason (probably due to me needing my development machine functional the same day), I didn’t go ahead with my original plan. Instead, I simply tried to re-install Windows (having my disk partitioned, so loss of data was no concern).
But Windows wouldn’t install. The installer told me something along the lines of not being able to install on an EFI system or something… No idea what that meant, though Googling revealed that the menu that appeared by hitting Esc on boot up on my machine was to somehow bypass “EFI” and boot in BIOS mode. No idea what that means, either, but it didn’t work. Repairing the Windows install didn’t work either; the installer told me that it cannot repair a different version of Windows or something.
So I figured probably I had messed up big time the Arch boot loader installation, fired up Mint 11 live CD and erased all Arch partitions and Windows-created boot partition. After that Windows had no trouble installing, so I re-installed Windows 7.
The second attempt
Now I had a fresh Windows 7 installation, but I wanted Linux Mint too. So I started installing Mint 12.
At some point in the installation the installer asks about the installation type. There were three choices:
- Install Mint alongside Windows 7 (the installer had auto-detected Win7)
- Install Mint replacing Windows 7
- Something else
Well, I wanted to install alongside Windows 7, but the description for that option lead me to believe there would not be much customization available. So I chose something else.
Here I had the choice of partitioning the hard drive and choosing the partition on which to install boot loader. This last part was crucial. Since Windows is my more stable system (as in I don’t want to try out different Windowses), I wanted to install my Linuxes so that I didn’t screw up the Windows boot loader. I created a separate partition for the Mint boot loader and chose to install it there.
After the installation I rebooted and… Windows 7 started as if I had no Mint at all. Great. After this I used the (free for personal use) EasyBCD (http://neosmart.net/EasyBCD/), which I found mentioned in the comments in this blog post by iceflatline. I actually tried the method described in the post first and it worked. The only thing that didn’t work was hibernation. With EasyBCD hibernation worked too.
Now when I started my machine, I had the choice of Windows or Linux. Choosing Linux took me to the Mint GRUB boot loader menu. So far so good. Then Arch.
I closely followed the Beginner’s Guide in the Arch Wiki. There were no real problems during the installation. The guide is good and lets even a beginner like myself install Arch successfully. More or less…
During the installation I chose Syslinux as my boot loader. Just like with Mint, I created a separated partition for the boot loader. But then I made a crucial mistake, I think, when the installer asked something along the lines “install Syslinux MBR?” I had a feeling I probably shouldn’t. The Beginner’s Guide even mentioned that one would perhaps want to skip the boot loader installation entirely if installing alongside another Linux. Well, I chose yes and upon rebooting the machine after installation, the boot was stuck in some sort of infinite loop.
So I screwed up again. But since I hadn’t really installed much software on Windows since the last reinstall, I figured I’d just reinstall Windows. Faster than trying to fix things other way. But just for curiosity’s sake I tried to repair my boot problems with the Windows repair tool. Well, it succeeded and didn’t even erase my EasyBCD-created boot options. Great.
I wasn’t sure if my Arch installation was really successful. I thought probably EasyBCD wouldn’t be able to create an Arch boot option, and since the Beginner’s Guide had mentioned skipping the boot loader installation entirely and instead to run update-grub from within the other existing Linux, I decided to do just that. I launched Mint and ran update-grub. In the output it told me that Arch was found.
I rebooted and in the GRUB menu there was Arch Linux. But it wouldn’t boot successfully. It told me that root could not be found, that I was on my own and wished me luck.
OK, I rebooted, went to the GRUB menu, highlighted the Arch option and pressed ‘e’ for editing the parameters. I didn’t think I could make anything out of it, and I really couldn’t. But on one line there was ‘root=”/dev/sda3″‘. This looked suspicious simply because I had chosen the Arch root to be sda13. sda3 was, I think, my extended partition. I changed it to /dev/sda13 for one boot, tried and it worked. At least I think so.
I went to /boot/grub on my Arch and opened the grub.lst. This part is a bit hazy in my memory, but I think here I changed some /dev/sda3 to /dev/sda13. I went back to Mint, re-ran update-grub, tried to boot Arch again and it worked.
Now I can remove Arch or Mint without screwing up Windows. Although, if I remove Mint, Arch is screwed. Perhaps next time I’ll fare even better.