I recently bought a discrete GPU for my desktop PC. A risky move given the 12 year old power supply that is so far proving to be more resilient than expected.
However, I ran into a problem from a different branch of physics: The card ended up overlapping most of my SATA ports. Long story short, I had to get rid of a few hard drives. I grabbed the opportunity to merge my two Windows disks, mainly because my C: disk only had 60GB and so many programs fight for those precious root file system bytes.
I started with
- One old 60GB C:
- One old 1TB F: (only ~70% full)
- One new 1TB drive
and merged 1 and 2 into 3. I copied 1 to 3 via dd, used gparted to move the rescue partition to the end and resized the C: partition. Then, I booted into Windows on 3 (some EFI boot configuration got confused by being on a new disk, but a few reboots into the Windows repair mode fixed that) and copied over all files from 2 to 3.
Now, I was ready to remove the drive 2, but then every program that was previously installed on F: would complain because it'd now be on C: instead. However, there's a solution to this problem: Just use the same drive as C: and F:!
One command to do that
subst F: C:\ but that only lasts until the next reboot.
This neat GitHub site has a more permanent solution: Create a text file with a .reg ending, and fill it with the contents
REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] "F:"="\\??\\C:\\"
Then double click to run it and boom, F: is now a permanent alias for C:!
Now I just hope that no smart copy protection ended up storing a UUID for the old hard drive and now refuses to run or something...