Skip to content

Instantly share code, notes, and snippets.

@tsaarni
Last active January 2, 2020 20:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsaarni/5f53a8140840f1baf549ba9591d7f086 to your computer and use it in GitHub Desktop.
Save tsaarni/5f53a8140840f1baf549ba9591d7f086 to your computer and use it in GitHub Desktop.
Multiboot in UEFI system with Windows 10 installed on separate drive

Windows boot entry missing from grub menu

Problem: After installing Windows 10 on separate disk, Windows entry is not visible in grub menu. Windows 10 installer might not have used GPT partition table, but instead is using MBR for booting. It might still look like UEFI boot since Windows created small system partition with bit similar content as EFI partition would have.

From https://askubuntu.com/questions/447686/how-to-boot-windows-8-from-a-legacy-mbr-partition-in-uefi-mode-via-grub

The custom GRUB entry isn't needed (at least not for windows 10's boot manager), you can install to the BCD to your main EFI partition, with "bcdboot C:\Windows /s X: /f UEFI", where X is the letter you assigned to the UEFI partition. You can assign a letter to the UEFI partition either using the windows gui or using "diskpart" command line utility. This works even if windows isn't in a GPT partition

Boot to Windows, start cmd as Administrator and run

> diskpart
DISKPART> list volume
DISKPART> select volume 3
DISKPART> assign letter=X

Install UEFI files on EFI partition on Linux hard disk

bcdboot C:\Windows /s X: /f UEFI

> diskpart
DISKPART> select volume 3
DISKPART> remove letter=X

Boot into Linux and run

sudo update-grub

Now grub menu should have entry for Windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment