Jump to content











Photo
* * * * * 1 votes

UEFI MULTI - Make Multi-Boot USB-Drive

aio boot linux vhdx windows 10 wim ssd uefi usb multiboot

Best Answer wimb , 11 May 2020 - 12:18 PM

Update USB_FORMAT-51 and UEFI_MULTI-51

 

Download:  from wimb GitHub  -   USB_FORMAT-51 and UEFI_MULTI-51  and  VHD_WIMBOOT-41 and Win_Reduce_Trusted-40

 

Download File E = Encrypted Password = bootwimb

 

Manual:  VHD_WIMBOOT.pdf  and  Win10_Install.pdf  to make Mini 7/8/10 x64 in VHD with UsedSize about 2 GB

 

At MSFN there is topic USB Format Tool and UEFI_MULTI

 

All my projects are now available for Download as Releases at wimb GitHub

 

Download:  USB_FORMAT  and   UEFI_MULTI  and  VHD_WIMBOOT  and WOF_Compress and  System_Info  and  MBR_Backup

 

More Info:  VHD_WIMBOOT Mini 7/8/10 x64  and   Grub4dos for UEFI  and USB_FORMAT Tool and UEFI_MULTI

 

:cheers:

Go to the full post


  • Please log in to reply
262 replies to this topic

#251 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 27 May 2020 - 01:13 AM

 

Instead of specifying the disk and partition we might use ventoy folder as a marker according to
iftitle [ls /ventoy] 7pe_x86_E.iso - ISO - 264 MB
find --set-root --ignore-floppies /7pe_x86_E.iso
map /7pe_x86_E.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)/BOOTMGR || chainloader (0xff)/bootmgr

iftitle [ls /ventoy && if exist (hd0,0)/grubfm_multiarch.iso] Grub2 File Manager of a1ive - (hd0,0)/grubfm_multiarch.iso
map --mem (hd0,0)/grubfm_multiarch.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

This is the same as not doing any change, since Ventoy folder and menu.lst are on same second partition.

 

And what we really have is images folder on NTFS first partition and menu.lst on small FAT-32 active second partition, when using this approach wich is not the same as usuall UEFI_MULTI layout (menu.lst on a big FAT-32 first active partition) and images folder usually on same partition too.

 

This is my modified menu.lst:

color black/green  red/light-gray
setmenu --string=75=0=0xff0000="date&time"
#general command to pick highest mode available up to 1000 xres - recommended if you have a wide variety of systems
#pick highest resolution up to 1000x10000 and either 24-bit or 32-bit colour only
graphicsmode -1 100:1000 100:10000 24:32
timeout 30
default 0
 
iftitle [if exist /bootmgr] Boot Manager Menu - Win 7/8/10 VHD and WIM
chainloader /bootmgr

iftitle [if exist (hd1,0)/bootmgr] Boot Windows from first primary partition of first hard disk 
chainloader (hd1,0)/bootmgr

iftitle [if exist (hd0,0)/Win10XPE_x64.ISO] Win10XPE_x64 ISO or ISO from RAM
find --set-root --ignore-floppies /Win10XPE_x64.ISO
map /Win10XPE_x64.ISO (0xff) || map --mem /Win10XPE_x64.ISO (0xff)
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist (hd0,1)/Win10XPE_x64.ISO] Win10XPE_x64 ISO or ISO from RAM
find --set-root --ignore-floppies /Win10XPE_x64.ISO
map /Win10XPE_x64.ISO (0xff) || map --mem /Win10XPE_x64.ISO (0xff)
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist (hd0,0)/WinPE.iso] WinPE.iso - ISO or ISO from RAM
find --set-root --ignore-floppies /WinPE.iso
map /WinPE.iso (0xff) || map --mem /WinPE.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist (hd0,1)/WinPE.iso] WinPE.iso - ISO or ISO from RAM
find --set-root --ignore-floppies /WinPE.iso
map /WinPE.iso (0xff) || map --mem /WinPE.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist /vhds.lst] VHDs menu
# find --set-root /vhds.lst
configfile /vhds.lst

iftitle [if exist /grubfm.iso] Grub2 File Manager of a1ive - /grubfm.iso
# find --set-root /grubfm.iso
map --mem /grubfm.iso (0xff)
map --hook
chainloader (0xff)

iftitle [if exist /efi/boot/grubfm.iso] Grub2 File Manager of a1ive - /efi/boot/grubfm.iso
# find --set-root /efi/boot/grubfm.iso
map --mem /efi/boot/grubfm.iso (0xff)
map --hook
chainloader (0xff)

iftitle [if exist (hd0,0)/images/grubfm_multiarch.iso] Grub2 File Manager of a1ive - (hd0,0)/images/grubfm_multiarch.iso
set iso_path=(hd0,0)/images/grubfm_multiarch.iso
map --mem %iso_path% (0xff)
map --hook
chainloader (0xff)

iftitle [if exist (hd0,1)/images/grubfm_multiarch.iso] Grub2 File Manager of a1ive - (hd0,1)/images/grubfm_multiarch.iso
set iso_path=(hd0,1)/images/grubfm_multiarch.iso
map --mem %iso_path% (0xff)
map --hook
chainloader (0xff)

title Reboot Main Menu
chainloader (hd0)+1

iftitle [ls (hd0,0)/iso] ISO Linux Menu - (hd0,0)/iso
set iso_drive=(hd0,0)
configfile /menu_Linux.lst

iftitle [ls (hd0,0)/images] ISO Linux Menu - (hd0,0)/images
set iso_drive=(hd0,0)
configfile /menu_Linux.lst

iftitle [ls (hd0,1)/images] ISO Linux Menu - (hd0,1)/images
set iso_drive=(hd0,1)
configfile /menu_Linux.lst

iftitle [if exist /AIO/Menu/Linux.lst] AIO Linux OS
configfile /AIO/Menu/Linux.lst

iftitle [if exist (hd0,0)/images/memtest.bin] MemTest86+
kernel (hd0,0)/images/memtest.bin

iftitle [if exist (hd0,1)/images/memtest.bin] MemTest86+
kernel (hd0,1)/images/memtest.bin

iftitle [if exist (hd0,0)/images/7pe_x86_E.iso] 7pe_x86_E.iso - (hd0,0)/images/7pe_x86_E.iso
map  (hd0,0)/images/7pe_x86_E.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)/BOOTMGR || chainloader (0xff)/bootmgr

iftitle [if exist (hd0,1)/images/7pe_x86_E.iso] 7pe_x86_E.iso - (hd0,1)/images/7pe_x86_E.iso
map  (hd0,1)/images/7pe_x86_E.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)/BOOTMGR || chainloader (0xff)/bootmgr

iftitle [if exist (hd0,0)/images/7pe_amd64_E.iso] 7pe_amd64_E - (hd0,0)/images/7pe_amd64_E.iso
map (hd0,0)/images/7pe_amd64_E.iso (0xFF)
map --hook
chainloader (0xFF)

iftitle [if exist (hd0,1)/images/7pe_amd64_E.iso] 7pe_amd64_E - (hd0,1)/images/7pe_amd64_E.iso
map (hd0,1)/images/7pe_amd64_E.iso (0xFF)
map --hook
chainloader (0xFF)

iftitle [if exist (hd0,0)/images/HDDR2011.gz] Hard Disk Drive Regenerator 2011
map --mem (hd0,0)/images/HDDR2011.gz (0xFF)
map --hook
chainloader (0xFF)

iftitle [if exist (hd0,1)/images/HDDR2011.gz] Hard Disk Drive Regenerator 2011
map --mem (hd0,1)/images/HDDR2011.gz (0xFF)
map --hook
chainloader (0xFF)

title Reboot
reboot
 
title Switch Off
halt

I think this menu.lst is the bare minimal we can use and is capable to locate image folder and its content on both partitions, same applies for Win10XPE_x64.ISO and WinPE.iso but only if they are present on some partition root, as some users (as I do) may want to create a WinPE folder with all the WinPE  WIM files into it.
 

Hope you don't mind for this suggestion, the only intention is make things easier, I removed many Linux entries as they seem unnecessary since the USB device only has 2 partitions (or Ventoy DO NOT work), and they can be booted from menu_Linux.lst, about the great XP I think it is time to let it rest in peace.

 

Attached pictures of folders images and WinPE, both located on Ventoy NTFS first partition.

 

alacran

Attached Thumbnails

  • images.png
  • WimPE.png

Attached Files

  • Attached File  menu.7z   1.05KB   1044 downloads


#252 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 27 May 2020 - 06:18 AM

I agree with most of the ideas and it is good that you removed a lot of Linux entries in menu.lst

At the same time I think that the first Grub4dos menu should not be overcrowded with iftitle entries.

It might be good idea to make also a configfile for the Windows ISO files located in images folder.

In this way we can set iso_drive as (hd0,0) or (hd0,1)

iftitle [ls (hd0,0)/images] Windows ISO and IMG Menu - (hd0,0)/images
set iso_drive=(hd0,0)
configfile /menu_Win_ISO.lst

iftitle [ls (hd0,1)/images] Windows ISO and IMG Menu - (hd0,1)/images
set iso_drive=(hd0,1)
configfile /menu_Win_ISO.lst

Then all the preconfigured entries for the images folder will not appear twice anymore and will occur in the menu_Win_ISO.lst

And the first Grub4dos Menu will appear faster.


  • alacran likes this

#253 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 27 May 2020 - 06:47 AM

I like the idea about a secondary config file to boot all preconfigured entries in order to call them same way as on menu_Linux.lst, and I think it is the best way to do it. In fact I'm going to implement it right now on my test USB device.

 

alacran


  • wimb likes this

#254 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 27 May 2020 - 09:16 AM

I had an idea to reduce menu entries as much as possible and verified that it works fine, this are my proposed menu.lst and menu_Win_ISO.lst

 

menu.lst

Spoiler

 

menu_Win_ISO.lst

Spoiler

 

As you can see if we use:

iftitle [if exist (hd0,0)/Win10XPE_x64.ISO || (hd0,1)/Win10XPE_x64.ISO] Win10XPE_x64 ISO or ISO from RAM
find --set-root --ignore-floppies /Win10XPE_x64.ISO
map /Win10XPE_x64.ISO (0xff) || map --mem /Win10XPE_x64.ISO (0xff)
map --hook
root (0xff)
chainloader (0xff)

There is no need to make 2 entries, one for each partition, this way a single entrie is good enought, I used this code in almost all entries but not on entries for ISO Linux Menu, just tell me if you like the commands this way and I will edit them and also menu_Linux.lst if you want.

 

AFAIK the additional advantage is when dealing with menus containing iftittle entries as we have less iftitle entries the menu is faster.

 

alacran

 

 

EDIT: JFYI I have tested the commands on this entries and they work very fine from a USB stick or MicroSD + USB 3.0 adapter.

But when trying same lines on my internal HD they DO NOT see/find the second option on the iftitle line.

Attached Files

  • Attached File  Menus.7z   1.19KB   1032 downloads

Edited by alacran, 30 May 2020 - 02:26 PM.


#255 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 27 May 2020 - 09:59 AM

I prefer for menu_Win_ISO.lst to use set iso_drive as used for Linux ISO instead of using  find

This better ensures that the ISO is used from the drive as intended and not from other harddisk ...

 

An exception could be to use your iftitle for Win10XPE_x64.ISO (and WinPE.iso ?),  but then occurring in the main menu.lst as most important Boot entry

Also grubfm_multiarch.iso and grubfm.iso and the vhds.lst and some more entries should occur in main menu.lst



#256 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 27 May 2020 - 10:37 AM

To better ensure that the ISO is used from the drive as intended and not from other harddisk, instead of using  find, you could use a code like this (tested and working fine):

iftitle [if exist (hd0,0)/images/7pe_amd64_E.iso || (hd0,1)/images/7pe_amd64_E.iso] 7pe_amd64_E.iso
map (hd0,0)/images/7pe_amd64_E.iso (0xFF) || map (hd0,1)/images/7pe_amd64_E.iso  (0xFF)
map --hook
chainloader (0xFF)

This also help reduce to one half the number of entries compared with set iso_drive

 

Of course final decision is yours, as you are the author of the program, I'm only making suggestions trying to reduce the code lines to the minimum required.

 

Your friend

 

alacran
 

EDIT: JFYI I have tested the commands on this entries and they work very fine from a USB stick or MicroSD + USB 3.0 adapter.

But when trying same lines on my internal HD they DO NOT see/find the second option on the iftitle line.


Edited by alacran, 30 May 2020 - 02:25 PM.


#257 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 27 May 2020 - 10:52 AM

Interesting menu entry proposal, but I prefer to use set iso_drive

 

The use of configfile /menu_Win_ISO.lst as proposed here is sufficient to reduce the number of preconfigured iftitle entries in the main menu.lst 

 

And I would like to keep in the main menu.lst the most used and important entries like Win10XPE_x64.ISO and WinPE.iso and grubfm_multiarch.iso and grubfm.iso ....



#258 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 30 May 2020 - 11:20 AM

Update USB_FORMAT-43 and UEFI_MULTI-43 plus the Addon-glim-agFM files

 

- Grub4dos Menu improved taking the effects of two partition USB drives and Ventoy into account
- Added menu_Win_ISO.lst with preconfigured Grub4dos entries for Windows ISO Boot Image files in folder images
- UEFI_MULTI_x64.exe allows Run Again to Add Other Boot Image

 

Download:  USB_FORMAT  and   UEFI_MULTI


  • alacran likes this

#259 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 30 May 2020 - 08:34 PM

@ wimb

 

Just downloaded and tested UEFI_MULTI-43 plus the Addon-glim-agFM files and I liked the improved grub4dos menus, all working fine and menus are now more clear and less crowded.

 

I noticed you added on menu.lst the commands for date, time and auto sizing screen, as an user option, I took them from steve6375 info on his pages and I liked it, it looks nice.

 

Run Again to Add Other Boot Image was a good addition, thanks.  

 

@ Other members.

 

By the way during taking a look to the files and folders into UEFI_MULTI-43 subdirectory I noticed there is a new Ventoy version (1.0.12) available see my post for more relevant info and links: http://reboot.pro/to...fi/#entry214867

 

alacran


  • wimb likes this

#260 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 31 May 2020 - 06:12 PM

Just downloaded and tested UEFI_MULTI-43 plus the Addon-glim-agFM files and I liked the improved grub4dos menus, all working fine and menus are now more clear and less crowded.

 

I noticed you added on menu.lst the commands for date, time and auto sizing screen, as an user option, I took them from steve6375 info on his pages and I liked it, it looks nice.

 

Run Again to Add Other Boot Image was a good addition, thanks.  

 

 

Hi alacran, Thank you for testing latest version of UEFI_MULTI.  :)

 

Happy that you like the improved grub4dos menu and the Run Again to Add Other Boot Image addition to UEFI_MULTI program.

 

Some settings in menu.lst are indeed meant as user option, where the default is just my personal preference.


  • alacran likes this

#261 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 01 June 2020 - 09:35 AM

EDIT: JFYI I have tested the commands on this entries and they work very fine from a USB stick or MicroSD + USB 3.0 adapter.

But when trying same lines on my internal HD they DO NOT see/find the second option on the iftitle line.

 

Indeed there is a problem with the complex iftitle entries having || when booting from internal harddisk.

Also /menu.lst Or /AIO/Menu/Linux.ls Or /vhds.lst cannot be used in iftitle entry

 

Testing all the time .... and code improval ....

 

Update USB_FORMAT-44 and UEFI_MULTI-44 plus the Addon-glim-agFM files

 

- Grub4dos Menu improved for non working iftitle entries when booting from internal harddisk
- UEFI_MULTI_x64.exe supports to Make or Modify booting of internal harddisk having MBR or GPT partitioning

 

You can Copy to folder images the Windows and Linux ISO files for preconfigured Grub4dos entries as given in menu_Win_ISO.lst and menu_Linux.lst

 

Download:  USB_FORMAT  and   UEFI_MULTI

 

:cheers:


  • alacran likes this

#262 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 01 June 2020 - 02:55 PM

Indeed there is a problem with the complex iftitle entries having || when booting from internal harddisk.

 

- Grub4dos Menu improved for non working iftitle entries when booting from internal harddisk

- UEFI_MULTI_x64.exe supports to Make or Modify booting of internal harddisk having MBR or GPT partitioning

 

:cheers:

I forgot about UEFI_MULTI_x64.exe supports to Make or Modify booting of internal harddisk having MBR or GPT partitioning  and then I didn't let you know about this in a more direct way, and only made an edit to previous post.

 

Sorry for the inconveniece my friend it was an involuntary mistake, this makes me feel very bad.

 

alacran



#263 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 01 June 2020 - 03:47 PM

*
POPULAR

I forgot about UEFI_MULTI_x64.exe supports to Make or Modify booting of internal harddisk having MBR or GPT partitioning  and then I didn't let you know about this in a more direct way, and only made an edit to previous post.

 

Sorry for the inconveniece my friend it was an involuntary mistake, this makes me feel very bad.

 

 

No problem  :)

Your remark about booting from internal harddisk triggered me to test booting Windows ISO files located on internal harddisk.

That has helped me to improve the program and the Grub4dos menu files.

 

On testing I discovered that versions 98, 40, 41, 42 and 43 don't support to create Boot folder for MBR internal harddisk.

The bug has been removed and I have made entirely new code for booting from MBR internal harddisk.

Also I made a WARNING when booting of the internal harddisk will change when user selects internal drive as Boot Drive.

I think adding Boot Image files as Boot option of internal harddisk, until now has never been officially documented for UEFI_MULTI.

Booting with various 7/8/10 VHD and PE-WIM files from internal harddisk is quite useful for me and enables to change and boot fast with different environments.


  • alacran, devdevadev and fi-zilal like this





Also tagged with one or more of these keywords: aio boot, linux, vhdx, windows 10, wim, ssd, uefi, usb, multiboot

2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users