If you are actually gonna read this article, you probably want to install Ubuntu(virtually) on Windows or you must have been intrigued by the title especially the part where I said “without any extra virtualization software”. Well, today I’ll address both.
Firstly about “no extra software”: how can you even run different OS without… Wait! Let me stop you there. Did you know that Windows (7 and above) comes with an in-built tool for creating and managing virtual machines(OS)?
Let me introduce you the “Hyper-V Manager“. You probably didn’t know/stumble upon it because it’s usually disabled by default(as it is meant for administrators or power users). Nevertheless, you can enable it yourself. Search for the keyword features in Start and click Turn Window features on or off in search results. If you’re unable to do so(Windows 8 users), go to the Control Panel and click on Programs. Next, you’ll see an option to Turn Window features on or off.
In the window that opens up, just enable the Hyper-V by checking the box beside it as shown below:
Click OK and once Windows finishes applying the changes you just made, restart the computer.
Now, let’s get into the interesting part; installing and running Ubuntu inside Windows.
Instead of just dictating steps, ultimately leading to confusion, I think it’s better to illustrate the process with proper screen-shots wherever needed especially for OS installations where a wrong step can sometimes prove fatal for your PC. But, since our installation is a virtual one, I assure you that there will be no issues whatsoever if you follow the steps properly. I’m using Windows 10 and will show you the process using Ubuntu 16.04. I’m using this setup only because that’s what I have on my PC and hence it’s convenient. If you’re running a different Windows version and/or wish to install a different Ubuntu version than mine, go ahead; the procedure remains the same. And I know you’re smart enough to make the substitutions wherever applicable if that’s the case 😉
Before we begin, here are some points you may want to note:
- Running Ubuntu or any OS isn’t like installing yet another software. It is an Operating System and hence will consume hardware resources. I recommend that your PC has 4 GB of RAM at least for smooth functioning. It may work with 2GB(your system may lag though.).
- Make sure you have at least 15 GB of free space on HDD. (Maybe more/less depending on the OS you want to install. In my case, Ubuntu itself requires a minimum 8.5 GB of space)
- Do not keep ‘Power saver’ as your laptop’s power plan.
- Keep the installation ISO ready somewhere on HDD (Download Ubuntu)
So, let’s get into it. Here are 4 simple steps in plain English :
Step 1: Launch Hyper-V and open the main Window.
Here’s the main Window. If you see an ‘Introduction’ page, click on your PC’s name in the left pane to get to main page.
Step 2: Now, click on New > Virtual Machine on the right pane to you-know-what 🙂
Step 3: Setup a new Virtual Machine(VM) using the wizard.
- Specify a name for the VM and set its location. (Keep in mind, VM= Your OS. I’ll use the same terminology here onwards)
I suggest that you specify a location other than C: just because, in case you re-install primary OS, you don’t have to set up the VM all over again; just import from the location you specified. This is of course, left to your convenience.
- Next, choose a generation. If you plan to install a relatively old OS like earlier versions of Ubuntu/Windows XP, 7 etc. choose Generation 1. It is a safe choice in general. However, Generation 2 worked for me(Windows 10, Ubuntu 16).
- Assign the memory for the new VM. My suggestion is to assign half of the PC’s RAM (2GB out of 4GB for example). But note that this the memory allotted to the virtual OS when it starts. Enabling Dynamic memory will allow Hyper-V to allocate memory dynamically based on load.
- Skip networking setup by clicking Next. If you want to use internet on Ubuntu, see the Networking connection setup at the end.
- The essence of a virtual OS is that it runs on virtual resources. Now, that’s also where the virtual OS will reside: on a virtual hard disk¹. So, let’s create one for Ubuntu. Name the hard disk file(with vhdx extension) and specify where to store it.
Again I suggest that you specify a location other than C: for same reason. Also, set a minimum size of 10GB (this is for Ubuntu, maybe less/more if you’re installing something else)
- In the next page, browse and select the ISO file for installation.(Ubuntu installation ISO, in my case)
- Finish the wizard by clicking Finish in the final page.
Step 4: Install Ubuntu.
You should now see the virtual machine listed in the main window of Hyper-V manager. Now double-click it and start the OS in the window that opens up.
Ubuntu will now boot into its installation menu.
Choose ‘Install Ubuntu‘ and proceed to install Ubuntu. In the step where it asks the method of installation, choose ‘Erase disk and install‘. Don’t worry; it won’t format your actual HDD(see 1). Continue installation following simple on-screen instructions.
You now have successfully installed Ubuntu on Windows! To run Ubuntu, go to Hyper-V Manager and double click on the created Virtual Machine(Ubuntu). In the Window that opens up, click the Start button at top.
A few important things you should know once the installation is complete:
- Right click the VM name in Hyper-V Manager and goto its Settings. Here you can manage all the hardware resources of your virtual OS. Explore it.
- If you are unable to boot into Ubuntu/installed OS after installation, go to settings as stated above change the boot order to boot from virtual hard drive in Firmware section. You can also optionally, remove the DVD (and ISO file) you had attached earlier from SCSI Controller section.
- Setting network adapter: If you want a network connection to Ubuntu, goto Virtual Switch Manager from Hyper-V manager’s main window and create a new External network switch. Name it and associate it with an actual, active network adapter in Windows from drop-down menu – In my case, I have a laptop and I have associated the virtual switch with Wireless adapter. Apply the changes and here onwards, you use internet within Ubuntu (through Wi-Fi on Windows, in my example).
- You may have noticed that Hyper-V has two similar options; shutdown and turnoff. Here’s the difference : Shutdown will send a request to shutdown OS just like how you shutdown Windows but Turn off will forcefully try to shut down OS; like how you forcefully turnoff your PC by holding down power button.
- Use Ctrl+Alt+ Pause/Break – to easily switch between full-screen and windowed mode when running the virtual OS.
- Closing the OS(Ubuntu) window does not shut it down. You can restore the window again by double-clicking the name or a small preview shown in Hyper-V manager. In fact, closing Hyper-V manager also doesn’t shutdown the OS. So, make sure that you actually shutdown the OS when you want to stop using because it’ll continue to use the resources(CPU, Memory) in background otherwise.
By the way, did you notice that I haven’t mentioned a single 3rd party software such as VirtualBox, VMWare etc.(damn! There, I did it). Of course, you can still use them. But my purpose was to show how it could be done without much hassle. And hence, “without any extra software”.
Hope you found this article was helpful/informative. In any case, don’t hesitate to use the comment box be it a query or feedback 🙂
Also, do subscribe to e-mail updates or stay tuned through my Facebook page if you don’t want to miss future updates.
Just for fun: What if you install & run Windows inside Windows and run another Windows through Hyper-V on Windows inside Windows, inside Windows inside Windows? Try and find out yourself if you grasped that “OS Inception” 😉