Can I move my boot partition?

10 Dec

I’ve been using a dual boot machine for over 10 years now and I don’t recommend it to anyone! It is a mess. You try to update your Linux distribution and then the boot loader is rewritten, without taking the Windows distribution into account, or more like it is time to reinstall Windows, so your Linux distro is locked away; the hard disc is inefficiently divided between the two systems and let’s just not talk about the clock.

So in an attempt to find a Linux distro, that would just work, I went for the simplest one, I can install – Arch. Now this was a solution of the type “I have a fly on the wall, so I’ll cannon it down and think how to fix the wall later”. Obviously the fly flew away before the cannon ball could restructure its anatomy and I had to deal with two problems now.

I’m pretty sure, that the process of installing Arch to a machine with Windows already installed is good for a lengthy series of blogs, however, this was a year ago and I’ve forgotten most of it. Hopefully I don’t need to do it again, because last time (due to my motivation problems) it took me half a year.

About a year later, after around 12 full system updates of Arch, I was faced with a problem, worthy of scrapping the system, if you use anything else, but Arch. It’s simply much easier to fix the machine by reinstalling the Windows, then installing a new version of your distro of choice. Plus, all the data is in the cloud nowadays, so you don’t need to backup it, right? When Arch is your distro of choice, things look a bit differently.

Any problem would be easier to fix, rather than reinstall, when you use Arch

Not that the distro is the most user-friendly. On the contrary, actually. In fact, the installation process is so complicated for me, that reinstalling the system is out of the question.

There was a little catch though. The problem was, that I was using the same /boot partition for the Linux distro, as well as for Windows. And after 12 full system updates, the space was gone. You see, Windows needs no more than 100 MB of space in this partition, and since it was the first system to be installed, it created the /boot partition. Then I decided to skip some work by reusing this partition, instead of creating a new one, when I was installing Arch. So it needed to deal with it and share the 100 MB (or less) with the other OS. Apparently, this is far from enough for Arch, since in its wiki is written, that it is generally ok if you have half a gigabyte for boot. Oops…

Ok, no panicking, I’ll fix this!

But how do I fix it? do I make the /boot partition larger? That would help. The thing is, that it was created by the Windows installation process and we all know how notoriously modifyable Windows is. Furthermore, it was surrounded by other system partitions, created by Windows. If I touch something there, there is a high chance I won’t see my Futurama desktop wallpaper So when I restarted the machineanymore. So the only other option was to create entirely new partition at the end of the drive, allocate a gigabyte (just to be sure) for it and map /boot there, through /etc/fstab. Good!

But what good it is to have a blank boot partition? If I left everything like that I would have indeed render my machine pretty close to a brick. I needed to emulate the old partition on the new place. To set it up properly. This required copying everything from the old place to the new one (I didn’t bother separating the Windows and Linux files into separate places – too much work and too dangerous for me).

Expectations

Now while doing these procedures, I was really sceptical about the final results. My expectations were, that at the end, I won’t be able to boot neither Linux, nor Windows. After all, I don’t have a lot of experience pulling off thinss from the first try. And it looked like there was no second try here. I was hoping, that at least I would be able to boot into Arch. If that was the case, I could fix the rest.

Results

So when I restarted the machine I got a blank screen of course. Good thing is, I have a flash drive with Arch image on it, from the installation one year ago. I took one flash drive from my desk drawer, shove it in the computer and restarted. That was the Windows image >_<. On the second try, I got the proper flash drive.

One last step

What I forgot was to reinstall the bootloader. The Internet told me how to, unfortunately I forgot again, but I’m sure it is written in the Arch wiki.

Results Part 2

Ok, it was time to try it again! And this time it worked! I booted into my Arch distro without any problems. So I try to push it, and tried if I can bootload into Windows too. And amazingly, Windows was also able to boot. Victory! It’s not that bad after all, is it?

Lessons Leaned

There are a few lessons I’ve learned from this adventure.

  1. Don’t use dual boots! It’s the 21st sentury after all! Use different hardware. It’s easier. Probably also cheaper.
  2. Don’t reuse partitions between operating systems
  3. Use well documented operating systems (like Arch)
  4. Always have a linux image on a flash drive!

I hope these lessons are helpful to someone, because I know, I won’t be applying most of them. Where’s the fun in that, after all?