Taking precautions
You might need Windows later so let’s make sure it’s not going to get upset.
Dual-booting is great. You can have a Windows install for proprietary applications (be it overpriced office suites or convoluted CAD packages) and those AAA games that don’t quite work with Proton. And when you’re done with those, you’re just a three-fingered salute away from Linux, where you can do everything else.
But what happens when it goes wrong? Well a quick DuckDuckGo search gives one an idea: “Windows updated and broke Grub”, “Windows corrupted my exotic Linux partitions”, “Windows boot manager upsets my chihuahua”. Okay, one of those may not be real, but dual-booting has undoubtedly caused problems in the past. We endeavour to make the experience problemfree in the present.
Before you get to installing Linux, you need to ensure that Windows is in a state which hopefully will be accepting of having a neighbour operating system. It’s possible to resize Windows partitions and install on the same drive, but we’ve always warned against this. You can pick up a 250GB SSD for around £30 these days, which is well worth it for the reduced risk of booting to a hopeless blank screen or cryptic Windows boot manager message. If you want to dualboot a laptop, you can use an external drive, though this might not be quite the aesthetic you’re aiming for.
It’s also important to turn off Fast Startup in Windows, since this may leave filesystems in an inconsistent state. So if a Linux distro were to try and mount them, errors (and possibly data loss) would result. It’s also been reported that some wireless cards don’t play nice with this option, since the controllers onboard awaken to find a different driver trying to command them. Accessing the Fast Startup setting is needlessly complicated in Windows. Go to Control Panel>Power Options Confusingly, there’s sometimes an unrelated Fast Boot option in the UEFI. This one is probably okay to leave on, because it aims to save time by leaving peripherals uninitialised. Either the kernel will initialise them, or you’ll notice that they’re not working and then sheepishly deactivate this option.
Modern editions of Windows actually don’t shutdown cleanly by design. Rather they use a hibernation file to store uncommitted data (not the whole memory map as takes place with hibernation proper) and mark the filesystem as unclean before shutting down. The data is committed on recovery and then the filesystem is marked clean again. So if you were to boot to Linux in the interim, then you’d encounter an error.
Some Windows installs appear to not exhibit this behaviour, but if yours does then the solution is to explicitly disable hibernation by opening a Command Prompt as administrator and running
> powercfg.exe /hibernate off