This website uses Google Analytics and Advertising cookies, used to generate statistical data on how visitors uses this website (with IP anonymization) and to deliver personalized ads based on user prior visits to this website or other websites. [read more]
These cookies are disabled by default until your Accept/Reject Consent.
The Consent can be changed at any time by accesing the ePrivacy button located at the bottom of every page. Enjoy your visit!

Pop!_OS and Windows 10, same HDD, dual boot, UEFI only

This article is about installing Windows 10 on the same hard disk where Pop!_OS/Ubuntu resides, then boot any of the OSs, without using GRUB.
Changing of start-up OS will be done at the firmware level using UEFI-BIOS boot order change capabilities, in my case, pressing the F12 key during firmware initialization brings up an option to select between loaders/devices (Pop!_OS/Ubuntu/Windows/USB HDD/etc).

help_outline a list of various boot menu hot-keys can be found here:

No GRUB usage, because Pop!_OS uses systemd-boot instead of GRUB, a modern method that boots the OS few seconds faster than GRUB.
If you are not sure that your Ubuntu Workstation is using systemd-boot loader, then, from a terminal, open nautilus as root (sudo nautilus) and take a look at the data inside the efi partition (mounted at /boot/efi) where you should see two folders, EFI and loader. Inside the EFI folder, you should see a folder named Pop!_OS-AN-HDD-UUID-CODE. If yes and your OS boots up correctly then you are using systemd-boot loader and you are safe to proceed to Windows 10 installation, including to delete the Boot folder that also resides on the EFI (/boot/efi/EFI/Boot); actually, this folder contains GRUB loader and will be recreated/rewrite by Windows after all, but again, it can be deleted too after the Windows installation is completed.

What if your Ubuntu distro is not using a systemd-boot loader?
Well, except the Pop!_OS distro that I'm using, I didn't tested, but at least for Pop!_OS 18.10 (based on Ubuntu 18.10), running the kernelstub utility will create/recreate the aforementioned EFI entries and adds the Pop!_OS to the UEFI boot sequence; the same operation should be valid for any up to date Ubuntu-based distro, but as I said, I didn't tested

sudo kernelstub -sv

Assuming we are all right and very sure that our Ubuntu-based distro boots using systemd-boot and not GRUB, then we can proceed and prepare the computer for the Windows 10 dual boot.

In order to install Windows 10 we need:
1. an unused partition on the current disk; we can inspect partitions using gparted and if there we found an unused one at least 20GiB in size, then we are ready to go, if not, we need to boot the computer using a live Linux USB, then, using gparted we can create an unused partition by resizing an existing, large enough one.

error_outline incorrectly used, gparted can destroy all of your data, so if you are not confident enough in using this tool, then it's better to use it in a lab environment on a spare hdd
2. a Windows 10 installation disk; it can be downloaded directly from Microsoft servers as a disc image (ISO file) ( then burned to a DVD or used to make a Windows USB
help_outline using Linux to create a Windows 10 USB from iso involves installation of the woeusb utility, using PPAs
then, from a terminal:
sudo woeusb -v -d Win10_1809Oct_English_x64.iso /dev/sdb --target-filesystem NTFS
where Win10_1809Oct_English_x64.iso is the iso file downloaded from Microsoft servers and /dev/sdb is the USB disk; just make sure you run this command from the folder where iso file resides and have correctly identified the USB device.

Reboot the computer and use the Windows DVD/USB to boot from (press F12 or your PC boot menu hot-key during firmware initialization)
Install Windows 10 on the unused partition (from point 1); after reboot, Windows will be the default option to boot computer from, but fear not, if we press F12 (boot menu) at the firmware initialization we will see the option to choose between Windows and Linux; moreover, we can change the default boot order directly from inside the UEFI-BIOS.


Share this post on your favorite networks.
© Copyright 2017 | Just another information technology blog - All Rights Reserved