19th June 2024
Setup
The plan: Move Arch from 1TB HDD to 256GB SSD since I have been using Arch as my daily driver for quite a while and would really appreciate the speed upgrade.
The problem: The 256GB SSD currently contains a Windows partition, which I use mainly just for playing games and sometimes a bit of Blender.
The solution: Wipe the SSD and then Copy the Arch filesystem over to the freshly wiped SSD partition, rewrite the partition tables and then reinstall the bootloader and all good, right? yeah, I hoped so.
Partitions
The image of the partitions before: The /sda partition is the 1TB M2 HDD partition and the /nvme0n1 is the 256GB NVME SSD partition.
Starting things off
So, I started by wiping the entire SSD, and then begin the very long process of copying about ~80GB worth of files from the HDD to SSD (The Arch Partition). Took about 4 hours, left it on overnight, and then woke up to take this photo 4 in the morning.
Copying Arch onto SSD
Note that while it shows 2 hours 36 minutes, I later realized the process display was the bottleneck which finished way after and not the actual transfer itself.
Arch on SSD felt blazingly fast. Booting which usually took ~30 seconds now only took about 5 seconds. I was happy with the visible performance improvement I felt.
So, great, thats part one of the 2 part process done. Now, I just need to rewrite the fstab entries, reinstall the bootloader, and then install Windows onto the HDD partition and all should be good.
Learning how fstab works took some time, but I finally got it to work and then I even installed GRUB onto the SSD. I even booted onto the freshly copied Arch partition and everything seemed to work fine, except NVIDIA which is always a pain to get working with Arch. But thats a problem for later day for later me to fix.
Windows
Now, the final step was to install Windows onto the HDD partition. So, to install Windows, we need to create a Windows Installation Media, for which you need a device with Windows on it already. Thing is, my parents both have laptops issued by work which dont allow for any external media to be connected to it. So, I had to find something else to make my Windows Installation Media.
I tried looking for ways to create a Windows Installation Media on Arch, using Ventoy but it errored out and didnt seem to work. I then thought of making the Boot Media on a Virtual Machine on Arch, that should work right?
So, I installed the official Windows 10 ISO image and spun up a VM with that image and then tried making the Bootable Media. Took a couple of retries but it finally finished making the media. So, I tried booting it and surprise, it didnt work. While it did "create" the bootable Media, booting onto it always gave missing Driver errors which upon lots of attempts to fix, didnt fix itself.
VM
Virtual Machine creating the Bootable media
So, in short the attempt at making Windows Bootable Media from Linux failed.
No pain no gain
I now thought about my 6 year old DELL Inspiron laptop which had Windows 10 on it sitting in my cupboard and considered it. I say considered because it had a bit of a problem. Thing is, it always stayed at 0% charge and never charged. Basically, I had to keep it plugged in constantly to use it. So, I thought, why not use it to make the Bootable Media? What could possibly go wrong?
So, I booted that boy up after god knows how long and the old boy took a while to boot up and then I did some setup, before realizing that it kept randomly shutting down every ~30 minutes or so, probably because of the 0% charge problem. This was a problem, a big one at that.
So, after some thought and trial and errors, I tried booting without even having the battery in the laptop, running straight out of outlet power which was a very interesting thing to do.
Battery
The laptop on without the battery as can be seen with the battery % in the background
No Battery
A very interesting message
It worked!! Laptop didnt shutdown randomly and I could finally make the Bootable Media. So, I started making the bootable media and 40 minutes in, the power went for the first time in weeks.. That meant I had to start all over again since the Laptop couldnt run without outlet power.
So, I waited for the power to come back and then finally, I had done it! I had the Windows Bootable Media all ready to go. So, I plugged it into my PC and then booted onto it and selected my HDD and then finally the Windows installation had finished, this time without any missing driver errors.
Windows
Windows Installation made from the old laptop
Final Thoughts
And there we had it! Finally, Windows on my HDD and Arch on my SSD. What shouldve been a 6 hour process end to end took me about a day end to end to finish. Filled with ups and downs, it was certainly a day to remember.
PS: Windows on HDD was terrible slow, so I later got a 512GB M2 SSD instead and replaced my 1TB HDD, this time making a Windows Bootable Media beforehand :)