This is the streamlined process for taking a new laptop with Windows 10 installed on it, wiping it, installing Linux, and recreating your Windows 10 installation within VirtualBox on that laptop. This is not for newbies, but for intermediate Linux users who know their way around their distro and have several Linux installations under their belt. It’s more a checklist than a blow-by-blow. The internet is your friend.
(I’ll assume you’ve already checked that you can install Linux on your hardware.)
1. Make a backup of all the data you wish to transfer to your new Windows machine
Don’t take a system image of your soon-to-be “old” Windows installation, as the image will be looking for an exact partition of this size, with Windows already installed on it, in order to be recovered; i.e. it will be looking for a hidden partition that—as you’ll be installing a brand-new instance of Windows 10—doesn’t exist. I know, I found this out the hard way! So just take a vanilla backup of what you want (if this is a less than brand-new installation) and put it to one side.
2. Find out which version of Windows 10 you are using
Choose the Window icon to show your menu and type “system information”. Choose the first option (“System Information / Desktop app”). The first line should give you the version of Windows. On our machine, it was “Microsoft Windows 10 Home Single Language”.
3. Find your Product Key
You can download and use a program called ShowKeyPlus or ProduKey to get your Product Key, but that’s unnecessary. You can get it from the Command Prompt if you are a Windows Administrator-level user. Go to the Command Prompt (type “command prompt” after clicking Windows icon and it should show you the desktop app) and type in the following:
C:\users\joe> wmic path softwarelicensingservice get OA3xOriginalProductKey
(Source: The Windows Club)
Note: You may think you can go to Control Panel > System and Security > System. Aha, you say, the “Product ID” is there, at the bottom of the information, but that’s not what you want. I don’t even know why there’s a Product ID but, in any case, that’s not what you want. For a start, it’s one group of digits too short. Get the Product Key instead.
4. Get a Windows 10 image
Go to this page at Microsoft, and follow the prompts. Remember to choose the correct version of Windows from the drop-down list because Microsoft have their Product Keys locked down tighter than a fish’s twat. A Product Key for Windows 10 Home Single Language will not work on an installation of Windows 10 Home. I know, because I made that mistake.
Now this is important. Do NOT burn a disc image from the ISO. This will essentially “extract” the ISO to your DVD/USB stick, which is something you don’t want. VirtualBox will extract the information itself when the time comes. I did a plain copy of the ISO (Win10_1607_SingleLang_English_x64.iso) to a spare USB stick (you’ll need an 8GB stick as the Windows 10 ISO can just top 4GB…naturally), no need to set a boot flag or nuttin’. Just a plain copy. Trust me.
5. Disable UEFI, enable Virtualization and check the Boot settings
I used the page I found at App Geeker to help me through the process. Note that you will need to restart your machine to get to those Advanced settings then, after you choose “Troubleshooting”, it will restart again when you wish to change the UEFI Firmware settings.
Each machine’s firmware screen is different, so just remember that you have to do three things:
– Disable UEFI. You may have to do this in two places. Your ambition is to disable UEFI boot (usually in the Security section) and then switch to “Legacy” support when booting. I also set the Boot to “normal” from “Fast Boot”, just in case.
– Make sure “Virtualization” is enabled (for VirtualBox) or this will be a real short trip.
– Make sure you can boot from USB and that it takes priority over your hard disk.
Save your changes and exit.
6. Prepare to install Linux
Write your preferred Linux distro to a USB stick. I use SUSE Studio Imagewriter. (Link to GitHub, but it should be available from your distro.)
Hubby likes Debian, and I gave Son Linux Mint as he’s a newbie. Once you’ve got Linux installed (I used the whole disk), reboot.
7. Upgrade system and install VirtualBox
While I usually can’t wait to enjoy my shiny new Linux distro, we have to go through housekeeping. Make sure your repositories are set right/updated and upgrade your distro. Once that’s done (you may have to reboot if your Linux kernel has been updated), you’re ready for VirtualBox.
Your distro’s repositories should contain VirtualBox, so go ahead and install it.
8. Add yourself to the VirtualBox users group
This one will trip you up if you don’t remember it. Add yourself to the group vboxusers:
sudo adduser USERNAME vboxusers
You can check that you’re in the group if you type:
It should display all the groups you’re a member of. Make sure you see “vboxusers” there. (By now, I think the problems with not having a vboxusers group are long gone, but if you’re in this situation, create the group, then add yourself to it.)
Linux users are reluctant to logout or restart but you’ll need to at least log out then log back in again to make sure the changes take effect. (This one tripped me up for an hour!)
9. Copy your Windows ISO to one of your local directories
Remember that ISO we copied to our USB stick? Well, we’re going to copy it to a local directory now. I suggest ~/Downloads/, but that’s just me.
10. Create a VirtualBox machine for Windows 10
There are a lot of posts and videos out there on how to create your VB device for Windows 10. Here’s a nifty one from It’s FOSS that I found so useful I’ve subscribed to their newsletter. However it does leave out some important details, which is why this post exists. Just remember to create a Fixed Disk (faster than having it dynamically allocated). When VB starts and asks where to get the disk from, point it to your Downloads folder and pick the ISO.
Your machine will restart a couple of times while Windows is installed.
(If the first boot passed you by while you were trying to stop the cat from shredding the dog’s nose to ribbons, no problems. Just go to Devices in the VB screen where Windows was supposed to appear, mount your ISO from ~/Downloads/ as a virtual optical disc, shut down your device, start it up again, press F12 to go to the boot options and choose CD-ROM as your boot device. If you’ve mounted the ISO correctly via the Devices menu, VB will read the ISO and start the Windows installation process. Feel free to go through this as many times as you wish until you get it right.)
11. Remember to install Guest Additions
Guest Additions will give you additional USB and rendering support. It used to be a reasonably complicated process (see this for what you had to go through in 2013 with Linux Mint), but isn’t any longer. In an Ubuntu environment, where Guest Additions isn’t part of the standard VirtualBox installation, it’s as simple as:
apt-get install virtualbox-guest-additions.iso
For other distros, the Guest Additions is already downloaded with VirtualBox. The general process is then to mount the Guest Additions ISO as a virtual optical disc and run it.
12. Activate Windows
You won’t be able to activate Windows, especially if you’ve moved it to VB from an existing hard disk installation in order to keep the critter contained.
In such circumstances, after you’ve unsuccessfully attempted to activate Windows (via “Activate”), choose the option that says you think the message that “this license is already in use” is wrong. You’ll be prompted for your country, and given a phone number and a Confirmation ID to read out to your local Microsoft representative (working hours only, please!). Tell him/her that you’ve changed your hardware, moved your Windows installation to the new hardware and wish to activate your license. No need to mention VirtualBox or any other messy details. 🙂 S/he will give you a new Confirmation ID. Your Windows installation should activate within seconds. Your machine doesn’t need to be connected to the internet for Windows to activate.
13. Restore your data
Restore your saved data to your new Windows installation.
14. Disable logs
Needless to say, going through and flicking all those nifty little blue switches from “On” to “Off” during the Windows installation process doesn’t disable a horrendous number of logs from capturing every little movement you make within a ten-metre radius of your computer. In fact, I think they’re just there to make you think you’re doing something because, if you drill down (as you’ll see in a moment), you’ll find that very little indeed has been disabled. Fancy that. Do I want to call Microsoft liars? Hmmmmm…
Anyway, to really disable logs:
- Set aside a good hour or so.
- Inside Windows, search for “Event Viewer”.
- A new directory-type screen will display and you will be confronted, once you expand those nifty little arrow icons, with more than one hundred logs!
- Look to the right-hand pane. You will want to “Disable log” then “Clear log” for every log listed. It’s always better to clear after you disable, so you’re clearing a static entity.
- You will not be able to disable every log. For those you can’t, at least clear the sucker.
- Go pour yourself a stiff drink once you’re done.
- Check Event Viewer after each update, to make sure the little bastards (i.e. the logs) stay disabled.
It took me a lot of reading over two days to get all these steps together and I hope they help someone out there. If you’re grateful, buy one of my books! 🙂
Also: Right now, I’m having an issue attempting to install Linux on a Lenovo Yoga 3, so if anyone has any suggestions (beyond the banal, “just switch off UEFI boot!”…don’t you think I’ve already tried that???), please feel free to leave a comment. The Yoga uses the Intel i5-6260u processor with a 250GB SSD.