Jump to content











Photo
- - - - -

Windows 8.1 + Windows 10 UEFI ISO boot


  • Please log in to reply
31 replies to this topic

#1 guimenez

guimenez

    Frequent Member

  • Advanced user
  • 172 posts
  •  
    Portugal

Posted 18 December 2015 - 06:22 PM

Hi all,

does anyone know how can i make a UEFI multiboot USB installer with Windows 8.1 and Windows 10 ISOs?

Thank you.



#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 19 December 2015 - 11:17 AM

Have you tried Easy2Boot?



#3 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 19 December 2015 - 12:58 PM

That does not help with uefi multiboot.



#4 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 19 December 2015 - 01:03 PM

That uses g4dos so requires CSM mode to be enabled. if you want to go pure uefi then your options are limited. If you can disable secureboot then things improve. I use subfolders and extract the iso into those. Then use windows bootmgr to select which wim to boot.



#5 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 19 December 2015 - 01:12 PM

I use the techniques described in Steve's old tutorials. I find that windows 10 bootmgr is capable of booting win 7 / 8.1 / 10 install boot.wim without problem. Problem comes in launching the correct setup.exe. I find the usb drive then subst the subfolder that contains the root of the windows install folder that I am installing. Then launch setup.exe from the substituted drive. I avoid adding any command line parameters to setup.exe with this approach.



#6 Agent47

Agent47

    Frequent Member

  • Advanced user
  • 164 posts
  •  
    India

Posted 19 December 2015 - 04:48 PM

 

I use the techniques described in Steve's old tutorials. I find that windows 10 bootmgr is capable of booting win 7 / 8.1 / 10 install boot.wim without problem. Problem comes in launching the correct setup.exe. I find the usb drive then subst the subfolder that contains the root of the windows install folder that I am installing. Then launch setup.exe from the substituted drive. I avoid adding any command line parameters to setup.exe with this approach.

 

 

 

Can you please explain in detail ?.



#7 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 21 December 2015 - 10:48 AM

Format your usb drive as fat32 assuming all your wim files don't exceed the max fat 32 file size limitations ( 4GB). Many options are described on these forums for formatting the usb drive. Use gpt instead of mbr format for best uefi compatibility.

 

If your wim files are > 4GB then use rufus to format the USB drive as gpt with a large ntfs partition and a small fat  partition with a ntfs uefi driver. You will need to disable secure boot if you go this route.

 

If you are lucky your uefi firmware will support ntfs booting ( my asus rampage 5 extreme does ) - and you will not need the small fat partition.

 

uefi on PC is still an imature technology. Its hard to get a usb stick that boots on every uefi pc.

 

If you want to dual boot bios / uefi then you will need to format as mbr but the usb drive may not boot in all uefi computers then. For best compatibility you will need 2 usb sticks - one mbr and one gpt.

 

Create folders like:

 

install\win7

install\win81

 

extract the whole of the win7 install iso into the win7 folder etc.

 

Using bootice create new entries in the uefi bcd for each of the windows installs. Set the wim path to [drive]:\install\win7\source\boot.wim / [drive]\install\win81\source\boot.wim etc. Do that for each of the installs.

 

When you boot on the first windows install screen press shift + F10 to get a cmd prompt. Use diskpart to find the usb drive letter. Then type subst v:\   [usbdrive]:\install\[currentinstallfolder] and then exit the command prompt. Continue with the windows install.

 

This can all be automated using some of Steve's techniques. You can automatically discover the [currentinstallfolder] by reading the registry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control key,FirmwareBootDevice and SystemStartOptions values. Using those you can determine if you booted from cdrom / iso mounted in ramdisk / root of usb folder / sub folder of USB etc. I have a program that I inject into the boot.wim to do all that automatically. You can also do the same using clever batch files.


  • devdevadev likes this

#8 Agent47

Agent47

    Frequent Member

  • Advanced user
  • 164 posts
  •  
    India

Posted 21 December 2015 - 03:21 PM

Hi

 

Thanks for the explanation paraglider. I never played with "subst" before. Thanks again for introducing this clever technique to me  :) .



#9 devdevadev

devdevadev

    Silver Member

  • Advanced user
  • 540 posts
  •  
    India

Posted 21 December 2015 - 05:04 PM

If you want to dual boot bios / uefi then you will need to format as mbr but the usb drive may not boot in all uefi computers then. For best compatibility you will need 2 usb sticks - one mbr and one gpt.

 

why gpt ?

 

Do you have any case where it is must to format usb as gpt in order to pure UEFI Boot ?

 

Please share your experiences which suggest to also use 'GPT' usb drive.......

 

Thanks & Regards....



#10 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 22 December 2015 - 10:52 AM

All UEFI firmware will support gpt. Most will support mbr. All will support fat32, some will support ntfs. Some UEFI firmware will force CSM mode if disk is partitioned as mbr.



#11 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 22 December 2015 - 11:12 AM

My loadiso tool ( also runs firadisk\loadiso.cmd if booted from an iso) can be found here along with a few other command line tools that I use ( depend on wimgapi.dll not included ). Run:

 

loadiso 0 0 <foldercontainingwindowsinstall>

 

from a MS adk deployment tools command prompt ( will automatically have wimgapi.dll in the path if you do that )

 

Note loadiso.cmd assumes that you will mount wim to w:\mount. You will need to adjust for your environment.

 

http://wb.paraglider...es/wimtools.zip



#12 Monsieur Z

Monsieur Z

    Member

  • Developer
  • 51 posts
  • Location:France
  • Interests:Computers, C# and spaghetti
  •  
    France

Posted 22 December 2015 - 12:55 PM

So if I understand you want to have a USB key, bootable in UEFI mode, with Windows 8.1 and 10?

I did that with WinSetupFromUSB, and it works perfectly. But I'm not sure if it adds automatically the UEFI bootmgr, if not just take the one on your hard drive and use Visual BCD Editor to add the entries.



#13 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 December 2015 - 01:25 PM

All UEFI firmware will support gpt. Most will support mbr. All will support fat32, some will support ntfs. Some UEFI firmware will force CSM mode if disk is partitioned as mbr.

Summing up all these, it seems like the only foolproof way to have a "universal" USB stick would be to *somehow* mix the Rufus UEFI:NTFS driver with *my* (or similar) approach to boot through BIOS off GPT partitioned device, adding additionally Clover (or ReFind or similar). :dubbio:

This way the device will be "fully" GPT (but still remain bootable on BIOS) allowed to host bigger than 4 Gb images, and if by any chance forced into CSM mode, returned to a "volatile" UEFI environment through Clover. :unsure:

 

 

 

uefi on PC is still an imature technology. Its hard to get a usb stick that boots on every uefi pc.

 

Yep, which after some 10 years of development and at least 5 of "wide usage" is something preoccupying :frusty:

 

As I like to say the U in UEFI stands for "UNLIKE unified".

 

:duff:

Wonko


  • devdevadev likes this

#14 Agent47

Agent47

    Frequent Member

  • Advanced user
  • 164 posts
  •  
    India

Posted 22 December 2015 - 02:19 PM

 

 

I did that with WinSetupFromUSB, and it works perfectly. But I'm not sure if it adds automatically the UEFI bootmgr, if not just take the one on your hard drive and use Visual BCD Editor to add the entries.

 

I can confirm that "WinsetupfromUSB" will add UEFI boot entries if the ISO file is either Windows 7 x64/Windows 8.x x64 or Windows 10 x64 (probably server family too). Make sure to select Fat32 as the file system since not all firmware supports NTFS. If the ISO file is larger than 4 GB, "WinsetupfromUSB" will split the ISO in to pieces.  



#15 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 23 December 2015 - 09:42 AM

Yes if you are lucky a mbr formatted drive will boot in UEFI mode. There is no way to know without trying it.



#16 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 23 December 2015 - 09:44 AM

Its also not easy to know if you are in uefi mode.



#17 Monsieur Z

Monsieur Z

    Member

  • Developer
  • 51 posts
  • Location:France
  • Interests:Computers, C# and spaghetti
  •  
    France

Posted 23 December 2015 - 12:46 PM

Its also not easy to know if you are in uefi mode.

You just have to go into the BIOS and see if "Legacy Mode" is checked or not...



#18 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 December 2015 - 01:08 PM

You just have to go into the BIOS and see if "Legacy Mode" is checked or not...


All UEFI firmware will support gpt. Most will support mbr. All will support fat32, some will support ntfs. Some UEFI firmware will force CSM mode if disk is partitioned as mbr.


:whistling:

:duff:
Wonko



#19 shinomen

shinomen

    Newbie

  • Members
  • 11 posts
  •  
    United States

Posted 23 December 2015 - 07:13 PM

I've been working on this same thing recently.  I ran into the issue of how to get both x64 and x86 boot.wim files to allow proper access to the install.wim to install windows.  I needed to have two sources folders, one for x86 and one for x64, which I could direct the windows installation to use depending on which architecture boot.wim I was using.

 

The answer was to use the Windows 10 Media Creation Tool to create an ISO that has both the x86 and x64 versions on one ISO disc.  It was super easy.  After I had the ISO, I simply copied the entire contents to a USB that I already had prepared with Rufus using the uefi:ntfs format method with the "MBR parition scheme for BIOS or UEFI" partition scheme option.

 

I created an install.wim with 8 versions of 32bit windows and placed it in the x86\sources\ folder and created another install.wim for the 64bit windows versions and placed that in the x64\sources\ folder.  I was then able to boot the USB on native UEFI 32bit PC's (like the intel compute stick), native UEFI 64bit PC's, and 32 and 64 bit legacy/BIOS systems and it worked perfectly.

 

Edit:  Here's the link to the tool  http://go.microsoft..../?LinkId=691209


Edited by shinomen, 23 December 2015 - 07:19 PM.


#20 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 December 2015 - 08:09 PM

I created an install.wim with 8 versions of 32bit windows and placed it in the x86\sources\ folder and created another install.wim for the 64bit windows versions and placed that in the x64\sources\ folder.  I was then able to boot the USB on native UEFI 32bit PC's (like the intel compute stick), native UEFI 64bit PC's, and 32 and 64 bit legacy/BIOS systems and it worked perfectly.
 
Edit:  Here's the link to the tool  http://go.microsoft..../?LinkId=691209

Good. :)
IN order to make your steps reproducible, can you expand on the following?
1) How EXACTLY did you create the two install.wim's?
2) Which EXACT versions of Windows did you add to each?
 
OT, but not much, have you ever considered/tested using fujanabc's way (now coded, evolved, in WinNTSetup)?
http://reboot.pro/to...xternal-drive/ 
http://www.msfn.org/...nntsetup-v3855/

:duff:
Wonko

#21 shinomen

shinomen

    Newbie

  • Members
  • 11 posts
  •  
    United States

Posted 23 December 2015 - 09:32 PM

Here's an article on merging wim files but I'll also type what I did below  http://blogs.technet...s-into-one.aspx

 

 

For the install.wim files, I started with an install.wim that I copied from an MSDN downloaded copy of Window 7 Professional x86.  I simply mounted the ISO in windows 10 then copied the install.wim from the sources directory to my local hard drive.

 

I downloaded an MSDN copy of Windows 7 Enterprise x86 and mounted the ISO, then copied the install.wim to my computer naming it Win7Entx86.wim so that I could decipher what version windows it was.

 

Next I mounted the Win7Entx86.wim file to a directory on my computer, in this case c:\mounted.  This can be done with DISM (which I think comes in Windows already) but I used a tool I found called VDISM because it's graphic and much easier.(You can get VDISM here:  http://sourceforge.n...rojects/vdism/) (Watch Video on VDISM here:  )

 

 

 

Once the Win7Entx86.wim file was mounted, I used the same VDISM tool to append the Win7Entx86.wim to the install.wim file that currently has the Windows 7 Professional x86 installation.  Once this was finished, I had an install.wim that contained both Windows 7 Professional x86 and Windows 7 Enterprise x86.  I did the same process for the remaining x86 installs that I wanted to include in the single install.wim until I had them all in the one file.  They included (all x86) Windows 7 Pro, 7 Enterprise, Windows 8.1 with Update 1 Home, 8.1 with Update 1 Pro, 8.1 with Update 1 Enterprise, Windows 10 Home, 10 Pro, and 10 Enterprise.  (I guess that 7 versions   :)   )

The Enterprise version were obtained from MSDN but the Home and Pro was obtained by using the Media Creation Tools for Windows 8 and Windows 10

 

 

 

Tip:  I also saw that some of my windows versions would not show up when I went to install even though they were listed in the install.wim.  There is a file (sometimes) in the sources folder called ei.cfg and if it's not there then it should be created and have the following

 

[EditionID]
 
[Channel]
volume
 
[VL]
1
 
When I did this, all the versions showed up and it also did not ask for Product Keys before installing windows.  Here's a link about the ei.cfg file:  https://technet.micr...y/hh824952.aspx
 
 

 

 

Once I had my final install.wim with all my x86 versions of windows, I simply copied it to the usb:\x86\sources\ folder replacing any install.wim that was in there.  Actually in my case, there was an install.esd instead of install.wim which was there because I used the Windows Media Creation Tool to obtain windows.  Further research on install.esd shows that it's another image file format that Microsoft uses but it compresses better than .wim so because I was downloading Windows from the internet, I assume Microsoft opted to use the .esd file because it would take less time to download.  However, this install.esd file acts very similar to install.wim and windows can be extracted from it into a new wim using that same VDISM tool.

There was very little information on the .esd file but I did find this link:  https://technet.micr...y/dn293447.aspx

 

 

I did the same exact thing for the x64 Windows Operating Systems that I wanted to install from this USB drive and put it in the usb:\x64\sources\ folder on the USB drive.

 

Just to re-state as well, because of the size of these install.wim files, if I had not used the Rufus UEFI:NTFS format method, these files would not have been able to fit on the USB drive because of the 4GB file limitation of FAT32.

 

Let me know if you have any other questions.

 

 

 

Edit:  FYI for anyone interested, I was able to fit 9 Windows x64 OS's into a single Wim that came out to 12.5GB whereas the individual install.wim files for all 9 of the OS's was about 32GB!


Edited by shinomen, 23 December 2015 - 09:35 PM.


#22 Agent47

Agent47

    Frequent Member

  • Advanced user
  • 164 posts
  •  
    India

Posted 24 December 2015 - 04:23 AM

 

Yes if you are lucky a mbr formatted drive will boot in UEFI mode. There is no way to know without trying it.

 

 

I work as a PC tech and i have clean installed Windows 8.1 x64 /Windows 10 x64 to PC/laptops from all major manufacturer's and custom built systems. I can safely say that all UEFI firmware will support and boot from MBR formatted USB flash drives (FAT32). I can't say the same about USB hard drives as i never played with them. Microsoft's own tool partitions a USB stick as MBR so i guess GPT is not mandatory as long as the USB stick is a removable type one ( i don't have a USB fixed type flash stick to test ).

 

However there are some buggy firmware which will only boot to UEFI mode if there is a valid UEFI bootloader is present on the USB stick. One particular example is newer Acer laptops. They will only boot to UEFI mode if "efi" folder is present on the root of USB stick (with EFI bootloader inside it) - even though boot mode is set to legacy only in BIOS setup. Only way to install either Windows 8.1/Windows 10 in legacy mode on that system is to delete or rename "efi" folder on the root of USB stick. 



#23 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 24 December 2015 - 09:09 AM

However there are some buggy firmware which will only boot to UEFI mode if there is a valid UEFI bootloader is present on the USB stick. One particular example is newer Acer laptops. They will only boot to UEFI mode if "efi" folder is present on the root of USB stick (with EFI bootloader inside it) - even though boot mode is set to legacy only in BIOS setup. Only way to install either Windows 8.1/Windows 10 in legacy mode on that system is to delete or rename "efi" folder on the root of USB stick. 

 Could you list the models that won't CSM boot if a EFI boot file is present please?

P.S. You can UEFI-boot and CSM-boot on these 'bad' systems if using Easy2Boot (sort of!).



#24 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 24 December 2015 - 10:01 AM

My rufus formatted USB stick ( removable type ) does not boot on my MS Surface Pro.



#25 paraglider

paraglider

    Gold Member

  • .script developer
  • 1743 posts
  • Location:NC,USA
  •  
    United States

Posted 24 December 2015 - 10:09 AM

It also depends on what you are trying to achieve i.e. if you are trying to boot in UEFI mode and install windows in UEFI mode or you don't care what mode is used. In some cases it matters - I wanted to use an intel 750 series nvme ssd as my boot drive. That is only supported in UEFI mode.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users