/etc/grub.d/40_custom file

Grub2 allows to add custom entries. An example Windows on partition /dev/sda1

sudo nano /etc/grub.d/40_custom

.. the contents

menuentry ”Windows ” {
set root='(hd0,1)’
chainloader +1
}

… save and quit
Ctrl o
Ctrl x
… update grub

sudo update-grub

menuentry

Menuentry for UEFI Windows where Windows boot files are on GPT partition 2 to the /EFI/Microsoft.orig/Boot folder

menuentry ’Windows 10′ {
insmod part_gpt
insmod fat
set root=’hd0,gpt2’

chainloader /EFI/Microsoft.orig/Boot/bootmgfw.efi
}

40_custom_UEFI

Grub4Dos menuentry for /dev/sda1 fat32

menuentry ”grub4dos ” {
insmod fat
set root='(hd0,1)’
linux /grub.exe –config-file=/menu.lst
}

grub4dos_entry