Recently I decided that it was time to bite the bullet and start using Windows 10 on at least one of my main computers. I'm pretty new here, so you probably don't know that I'm a big fan of Linux.
I've used many different Debian based distros over the years, and not long ago I installed Pop!_OS (created by System76 for their Linux machines) on my desktop computer(Unfortunately not a System76). So far, no regrets.
I currently work as a contractor for the Department of State, so as anyone who's worked for the government knows, virtually everything you do involves Windows in some way.
Therefore, with great trepidation, I decided to sacrifice my ThinkPad T440 for the greater good. I thought that this would be the hardest part, but unfortunately my suffering had just begun.
I popped my off-brand 30 GB thumb drive into my Desktop, opened up my GUI disk utility (lazy, I know), selected the thumb drive, clicked the option to restore to a disk image, selected the Windows ISO I previously spent an hour downloading, and kicked off the process.
After about 20 minutes it was done and I was good to go. I plugged the USB drive into my ThinkPad, fired it up, and......no dice. It wouldn't boot. I've been down this road many times before with various Windows and Linux distros, so I wasn't deterred.
"There's always another method or tool out there that can get the job done!", I thought, and I was determined to do it using Linux.
Next up, I decided to do all of the formatting and partition creation myself (still through the GUI. I know, lazy), and then copy the files over manually from the mounted ISO file. So I formatted the drive, GPT and NTFS, copied the files, booted up the ThinkPad and....still, no dice.
"It must be formatted incorrectly!", I thought. So I tried every combination of formatting that the system would allow. Still, no luck. There was a glimmer of hope at one point when I formatted the partition using the ExFat file system, but my hopes were dashed by a blinking cursor. Good lead, but not quite enough.
At this point I decided that there must be a tool compatible with Linux out there that can attach this Windows ISO for me. There may be, but unfortunately I wasn't able to find it.
I tried many tools including UNetBootin and multibootusb, but nothing seemed to work. The image would either be corrupted, wouldn't boot, or would mock me with a blinking white cursor again.
After one last ditch effort of manually formatting and attaching the ISO to the drive through the Shell (let's be honest, any self respecting Linux power user would have done this first), I finally threw in the towel. I started thinking maybe I shouldn't have trusted a thumb drive from Five Below for this task, much less anything else.
After all, you get what you pay for, right? Or perhaps maybe some bit or byte failed to transmit correctly when I was downloading the ISO from Microsoft, and the whole image is trashed. Either way, I was about to find out for sure.
I booted up VirtualBox (my preferred virtualization software), created a new windows 10 machine using my ISO file, and braced myself for the painfully long process of a new Windows installation (Maybe I'm being a bit dramatic. I had been through a lot though, OK?).
After eons of waiting, the installation was done, and I was ready to resolve this once and for all. I opened the devices utility, expecting to see my USB drive, and nothing appeared. I'll spare you the details, but needless to say, configuring a VM properly warrants its own blog post.
When I got to the point to where the VM could see the devices, I navigated to Microsoft's download page, downloaded their ISO mounting utility, ran it, and voila, it was finished.
I ejected the drive, plugged it into my beloved ThinkPad, booted it up, crossed my fingers, and saw the four white panes over a blue backdrop. I must say, I've never been more relieved to see a Windows logo.
At this moment in time, given my current hardware, I suppose the only way to prepare a Windows 10 ISO correctly is through Windows 10. Maybe I missed some crucial piece along the way.
Perhaps you know someone who can create a tool to complete this task (or can update an existing tool) so that this isn't necessary. Maybe that will be my next project.
Regardless, the moral of the story is, sometimes its necessary to jettison your favorite tools in favor of one that's more suited for the job.
Also published at https://dev.to/barbaroja19/linux-fanboy-vs-windows-10-iso-3ko9