diff --git a/Makefile b/Makefile index 45f8f30..31cd950 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := v1.0.1 +VERSION := v1.0.2 OBJECTS := prefix.o startup.o callback.o vsprintf.o string.o OBJECTS += int13.o vdisk.o cpio.o stdio.o misc.o efimain.o OBJECTS += efiblock.o cmdline.o peloader.o main.o efidisk.o diff --git a/README.md b/README.md index 1e684e1..4a5c7fe 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ ``` title Boot Windows NT6+ PE uuid (hdx,y) -kernel /ntloader uuid=%?% file=/path/to/winpe.wim +kernel /ntloader uuid=%?_UUID% file=/path/to/winpe.wim initrd /initrd.lz1 ``` -- a1ive GRUB2 +- a1ive GRUB2 ``` menuentry "Boot Windows NT6+ PE" { probe -s dev_uuid -u (hdx,y); @@ -61,11 +61,11 @@ menuentry "Boot Windows NT6+ PE" { ``` title Boot Windows NT6+ PE uuid (hdx,y) -kernel /ntloader uuid=%?% +kernel /ntloader uuid=%?_UUID% initrd /initrd.lz1 ``` -- a1ive GRUB2 +- a1ive GRUB2 ``` menuentry "Boot Windows NT6+ PE" { probe -s dev_uuid -u (hdx,y); @@ -96,6 +96,34 @@ menuentry "Boot Windows NT6+ PE" { ### Advanced options +- Enable *Test Signing* mode +``` +kernel /ntloader uuid=%?% file=/xxx.vhd testmode=1 +``` +- Use the highest graphical resolution +``` +kernel /ntloader uuid=%?% file=/xxx.wim hires=1 +``` +- Configure *Physical Address Extension* (PAE) +``` +kernel /ntloader uuid=%?% pae=Enable|Disable|Default +``` +- Configure *Data Execution Prevention* (DEP) +``` +kernel /ntloader uuid=%?% nx=OptIn|OptOut|AlwaysOff|AlwaysOn +``` +- Set Windows load options +``` +kernel /ntloader uuid=%?% file=/xxx.vhd loadopt=XXX +``` +- Specify the path of `winload.exe` or `winload.efi` +``` +kernel /ntloader uuid=%?% winload=\\Windows\\System32\\winload.efi +``` +- Specify system root +``` +kernel /ntloader uuid=%?% file=/xxx.vhd sysroot=\\Windows +``` - Disable debug messages You can disable debug messages by using the 'quiet' command-line option. For example: diff --git a/efimain.c b/efimain.c index 0f132ac..68288de 100644 --- a/efimain.c +++ b/efimain.c @@ -270,6 +270,10 @@ void efi_linuxentry (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab, efi_image_handle = image_handle; efi_systab = systab; + + /* Initialise stack cookie */ + init_cookie (); + /* Print welcome banner */ print_banner (); DBG ("type: linuxefi\n");