My UEFI dual boot method
Posted: Fri 20 Apr 2018, 07:29
USE AT OWN RISK.
This is how I set up my uefi machine to dual boot 64 bit puppy install on windows 10 pc with on gpt HDD with grub 2.0.
You need your puppy frugally installed to a usb stick.
Get bootx64.efix & copy to usb stick.
see http://s000.tinyupload.com/?file_id=417 ... 3557151049
in bios:
turn off secure boot
enable legacy
if TPM in security section, disable and clear.
then:
boot into windows (8 - 10) & go to settings
Select 'choose what power button does' & then extra settings
turn off fast boot and choose sleep wherever hibernate is.
Go to Administrative tools & then disk management
shrink c: drive (making unused space for linux, minimum 30Gb)
reboot - pressing F9 (usually) as booting up to get boot device menu
usb boot your linux distro
use gparted (system menu) to create ext4 partition(s) in unused space.
Mount a linux partition to use (possibly sda6).
Make a folder in it called puppy. Remember these details!
Mount usb drive you booted from. Copy vmlinuz, initrd.gz & all .sfs
files into puppy folder you made. Unmount linux partition.
Mount 32bit windows efi boot partition (usually sda1 or sda2)
rename EFI folder to EFI-w & create new EFI folder.
Inside it, create boot folder.
Copy bootx64.efix into boot folder & rename to bootx64.efi
Inside boot folder, create puppy folder.
Copy vmlinuz & initrd.gz from usb stick into puppy folder. Unmount usb stick.
Go back to root of efi boot partition & create grub.cfg
Edit grub.cfg to look like this (ASSUMES LINUX ON SDA6):
#
set default="0"
set timeout=5
menuentry "Puppy" {
linux /EFI/boot/puppy/vmlinuz psubdir=puppy pfix=fsck root=/dev/sda6 rootwait ro
initrd /EFI/boot/puppy/initrd.gz
}
menuentry "Windows" {
insmod part_gpt
insmod chain
chainloader /EFI-w/Microsoft/Boot/bootmgfw.efi
}
#
Should now be able to reboot into puppy. Remove usb stick after reboot starts.
VITAL NOTE: Every time you run windows update, it will break
the boot loader. Must boot via usb & fix.
This is how I set up my uefi machine to dual boot 64 bit puppy install on windows 10 pc with on gpt HDD with grub 2.0.
You need your puppy frugally installed to a usb stick.
Get bootx64.efix & copy to usb stick.
see http://s000.tinyupload.com/?file_id=417 ... 3557151049
in bios:
turn off secure boot
enable legacy
if TPM in security section, disable and clear.
then:
boot into windows (8 - 10) & go to settings
Select 'choose what power button does' & then extra settings
turn off fast boot and choose sleep wherever hibernate is.
Go to Administrative tools & then disk management
shrink c: drive (making unused space for linux, minimum 30Gb)
reboot - pressing F9 (usually) as booting up to get boot device menu
usb boot your linux distro
use gparted (system menu) to create ext4 partition(s) in unused space.
Mount a linux partition to use (possibly sda6).
Make a folder in it called puppy. Remember these details!
Mount usb drive you booted from. Copy vmlinuz, initrd.gz & all .sfs
files into puppy folder you made. Unmount linux partition.
Mount 32bit windows efi boot partition (usually sda1 or sda2)
rename EFI folder to EFI-w & create new EFI folder.
Inside it, create boot folder.
Copy bootx64.efix into boot folder & rename to bootx64.efi
Inside boot folder, create puppy folder.
Copy vmlinuz & initrd.gz from usb stick into puppy folder. Unmount usb stick.
Go back to root of efi boot partition & create grub.cfg
Edit grub.cfg to look like this (ASSUMES LINUX ON SDA6):
#
set default="0"
set timeout=5
menuentry "Puppy" {
linux /EFI/boot/puppy/vmlinuz psubdir=puppy pfix=fsck root=/dev/sda6 rootwait ro
initrd /EFI/boot/puppy/initrd.gz
}
menuentry "Windows" {
insmod part_gpt
insmod chain
chainloader /EFI-w/Microsoft/Boot/bootmgfw.efi
}
#
Should now be able to reboot into puppy. Remove usb stick after reboot starts.
VITAL NOTE: Every time you run windows update, it will break
the boot loader. Must boot via usb & fix.