Here is a non exhaustive list of tested sources with download links where possible.
- Any Windows version for PC starting from 2000- XP, 2003, Vista, Server 2008, Server 2012, 8, WinFLPC and so on. It supports both 32 and 64 bits versions. For XP/2003 versions there is advanced option to prepare source to be installed onto USB disk.
- UBCD4Win, BartPE, WinBuilder etc. PE1 based source
- Windows PE2 and above based source
- Many GNU Linux based sources- Ubuntu, Fedora, many antivirus rescue disks etc. etc. refer to this page for more
- DOS based ISOs such as UBCD
- other ISO images as long as they are compatible with grub4dos ISO emulation- Acronis True Image ISO, Paragon Boot Media to name a few
In addition the program can add Syslinux boot entry and boot such source, which boots using Syslinux or Isolinux.
Yes, just add them one after another, i.e. add first source of the same type, press GO, when finished transferring it onto the USB disk add the second, press GO and so on. There is no need to restart the program between each source. The only two exceptions, when multiple similar sources are not supported, are PE1 (BartPE, UBCD4Win…) and Syslinux based ones.
- Try the integrated DPMS option before starting Text mode, try “Auto-detect and use F6 SATA/RAID/SCSI Driver” menu first, if that doesn’t work for you and Setup bluescreens or hangs for example, then try “Auto-detect and use F6 SATA/RAID/SCSI Driver + Firadisk“. It would select and add the appropriate mass storage driver to a virtual floppy, which will be used by Setup to add the needed drivers.
- Integrate BTS mass storage drivers pack into your source before preparing the USB disk. Make sure Text mode option is selected. Including other driver packs (Sound, Video etc.) makes such source quite universal.
- Switch AHCI(SATA) mode to IDE (Compatible) in BIOS if there is such option.
- Integrate the proper mass storage drivers with nLite beforehand.
- Supply a floppy image with the appropriate SATA/AHCI drivers using the advanced option “Custom drivers/F6 floppy image for 2000/XP/2003 Setup“. It needs to have txtsetup.oem file in it and be suitable for Text mode part of the installer.
- On some motherboards USB booting is tricky, common example are many Dell systems. A modified NTDETECT.COM usually solves the problem. Next use the advanced option “Custom NTDETECT.COM file for 2000/XP/2003 Setup” to select the custom NTDETECT.COM and use when source is prepared
- The source does not have the appropriate mass storage (SATA, AHCI) drivers, refer to A3 for solutions
It expects partitioned and formatted disk with MBR (Master boot record) and an active partition. Typically, unless already partitioned with another tool or diskpart in Vista and later, Windows does not format blank USB removable media (most USB sticks) in such way, instead, they are formatted as a superfloppy with no MBR and single partition occupying the whole space, thus not bootable.
Either use the auto-format option, or use one of the tools RMPrepUSB, FBInst or BootIce to repartition and format it.
Generally speaking- yes. Due to the numerous ways to customize XP for example, it’s hard to test every kind of customization, hence severely modified sources may not install properly. In case of NT6 (Vista and above) customized source, as long as updates or hotfixes are integrated into install.wim and using setupcomplete.cmd script, which seeks for files on the system drive, rather than the source DVD, there should be no issues.
- Display disk drives on all interfaces, not only USB – this should be self explanatory, show all detected disks, not only the ones on USB interface. Use it with caution, selecting wring disk may lead to data loss.
- Don’t check for and install grub4dos MBR – skips checks for grub4dos/fbinst MBR. Use it if you have custom prepared and formatted USB disk and you did take care of its boot ability.
- Shared BTS driver pack OEM folder – if XP/2000/2003 sources have BTS driver packs integrated, this options will set one OEM folder for all sources where the options was used, instead of each source having own OEM folder in the corresponding WINSETUP sub-directory. BTS presetup.cmd is edited accordingly.
- Prepare Windows 2000/XP/2003 to be installed on USB – prepares the transferred source so it can be installed to USB disk. That could be to the same USB disk, or another of the same type, i.e. USB stick with the Setup files and target USB stick, or USB fixed disk and target USB fixed disk. Internal hard disks and any other mass storage devices should be removed or disabled during setup process. USB drivers are set to start early, and a small service, USBbootWatcher, is installed which monitors the USB drivers settings in registry for changes. If there are such, they are reverted to the default settings as in usbbootw(atcher).cnf. Another driver takes care for USB boot when there are no any other disks and only USB removable one- WaitBT, without it Windows typically will crash with 0x0000007B stop error.
- Remove disk space requirements from txtsetup.sif – removes disk space requirements in txtsetup.sif. Useful if you are installing Windows XP/2000/2003 on disk with limited space, less than the allowed one, and you know your source would fit.
- Show debug messages during Text mode – show debug messages from WaitBT driver at start of Text mode of XP/2000/2003 Setup.
- Custom folder and menu name for 2000/XP/2003 Setup – use if you want to set custom names for the sub-directory and boot menu names for 2000/XP/2003 sources.
- Do not copy and use DPMS – do not add the DPMS feature to the USB disk. DPMS is an automated solution by Chenall and modified by Steve for adding the needed mass storage drivers into a virtual floppy, which is used by Windows 2000/XP/2003 setup to add AHCI/SATA/SCSI/RAID drivers.
- Custom drivers/F6 floppy image for 2000/XP/2003 Setup – it will be loaded as a virtual floppy before start of Text mode part of 2000/XP/2003 Setup. If DPMS does not work for you this could be another option. Please note that only the default driver as stated in txtsetup.oem could be used in setup process.
- Custom NTDETECT.COM file for 2000/XP/2003 Setup – browse to a custom NTDETECT.COM and include it in the selected 2000/XP/2003 source. That’s useful to prevent 0x0000007B stop error on some rare systems. Details could be found here.
- Custom menu names for Vista/7/8/Server Source – use if you want to set custom names for the sub-directory and boot menu names for Vista, Server 2008, Win7, Win8 and so on sources.
- Launch Q-Dir before Setup – this will add Q-Dir file explorer, which will be launched before start of NT6 (Vista and later) setup. When it’s closed, setup will start. Helpful if you need to browse the contents of the hard disks, backup and restore files etc. before running Setup.
- Add boot-critical drivers, loaded before start of Setup – adds a folder with custom drivers, loaded before start of Setup. Each INF file inside is processed and passed to DrvLoad.exe as an argument. Drivers for non-present devices are ignored. There are some limitations- if the driver .inf file requires a restart, Windows PE will ignore the request. If the driver .sys file requires a restart, the driver cannot be added by using Drvload. All loaded drivers will be propagated to the OS being installed. Use this option to add boot-critical drivers, such as USB 3.0, AHCI/SATA/RAID etc. For non boot-critical drivers, take a look at the proven and reliable Stand Alone Driverpack utility.
- Add persistence– adds a persistence ext2 partition of the selected size as third partition entry, using the selected volume name (default is CASPER-RW). You will also most likely need to append persistent to your boot menu options- for *buntu and derivatives- at the isolinux boot menu select your language, then press F6, then press ESC and add persistent to the boot string, then press Enter to boot. For other distros please consult with the documentation what kernel parameter and volume name has to be used.
There are many possible reasons, refer to this tutorial for some ideas.
Yes, since version 1.1, for Windows NT6/10 family- Vista x64 SP1 and above. Please note that until Windows 8, only 64 bit versions support boot under EFI, and the partition on the USB disk must be formatted in FAT32 in order to be recognized and booted in EFI mode.This is limitation of (U)EFI, some vendor specific implementations may support other file systems such as NTFS. More details here and here.
32 bit (U)EFI boot, supported in Windows 8 and later, is possible only on 32 bit (U)EFI hardware, such as some tables with recent Intel Atom processors. In other words, UEFI requires the firmware and operating system loader (or kernel) to be size-matched; for example, a 64-bit UEFI implementation can only load a 64-bit UEFI operating system boot loader or kernel.
There is nothing else to be modified, just use FAT32 partition, the program will do the rest. The same USB disk will also work in BIOS mode without modifications.
If your ISO file is over 4GB and can’t fit on FAT32 formatted volume, program will take care and split the large ISO in smaller chunks. Alternatively, please take look at this thread on how to use NTFS UEFI driver.
The same way the first one was added, there is even no need to restart the program, once the first one was transferred to the USB disk, select the new source and press GO again.
The program uses a copy of BOOT.WIM and few other files in WINSETUP folder. If disk space is concern, you may safely modify the original ISO image in the corresponding WINSETUP subfolder and delete BOOT.WIM in it. This way of booting helps in some rare occasions when Setup would not start from USB disk.
Program is free for personal and commercial use and can be freely redistributed as long as the licenses of the tools included are not violated and there is clear link to this page or the home page @ msfn forum if it is hosted elsewhere.
The program may not be sold or included in commercial products without written consent from its author.
This may happen on some machines if the partition on the USB disk where source files are is FAT32 formatted. Use NTFS instead if you do not need to boot Vista and later in (U)EFI mode with the same USB disk, or look at A9 on how to try (U)EFI and NTFS.
Here are some comparison tests for each file system, preparing and running XP Setup on XP and Windows 7 host OS.
Please put WinSetupFromUSB.log file and all .cab files in backup folder in a zip or 7zip archive, and upload it to datafilehost.com for example. These files are in the folder where program was extracted to.
Then leave a comment on the help page, mentioning what the problem exactly is, and a download link to the uploaded log files.
- Windows Vista/7/8/10/Server 2008-2012– delete the corresponding ISO file and directory on the USB disk\WINSETUP\. Then edit Windows bcd menus with the included BootIce or the free VisualBCD- edit \boot\bcd for BIOS boot and \efi\microsoft\boot\bcd for EFI boot
- Windows XP/2000/2003 – delete the corresponding folder in USB disk\WINSETUP\. Then edit winsetup.lst in USB disk root and remove the relevant lines (in bold):
title First part of Windows XP Pro Setup from partition 1
map –unmap=0:0xff && map –rehook
title title Second part of Windows XP Pro Setup/Boot first internal disk
title First part of Windows XP Home Setup from partition 1
- Linux/Other Grub4dos compatible ISO– delete the ISO file from USB disk\ISOs. Then edit menu.lst in USB disk root, preferably with an advanced text editor such as the free Notepad++. Delete the following lines (in bold):
title My Linux Iso
title My Other Linux ISO
- Windows Vista/7/8/10/Server 2008-2012– edit bcd menus with the included BootIce or the free VisualBCD– edit <USB disk>\boot\bcd for BIOS boot and <USB disk>\efi\microsoft\boot\bcd for EFI boot.
- Windows XP/2000/2003 – Edit with a proper text editor such as Notepad++ <USB disk>\winsetup.lst as in the above answer 15
- Linux/Other Grub4dos compatible ISO– edit <USB disk>\menu.lst as in the above answer 15
Please refer to this in-depth explanation from the author of RMPrepUSB and easy2boot
Under UEFI, currently only Windows sources can be booted.
Program uses grub4dos for BIOS and Microsoft bootmgr for UEFI boot. Grub4dos does excellent job booting just about anything, including most Linux ISOs without any modifications. Unfortunately, UEFI is completely different architecture compared to BIOS, and grub4dos can’t and won’t support it. As of now, as far as I am aware, there is no similar boot manager such as grub4dos, which supports same features needed to boot Linux ISOs without modification and also supports UEFI. Grub2, which is the closest candidate and supports UEFI, does not yet support these grub4dos features.
Yes. As long as you use unmodified Microsoft source, it should work just fine.
I usually get this
multiple boot option were detected in thus source only the default one with boot.wim file will be processed
What source are you using, stock, modified…?
Are you also using the latest version of the program?
I would like to create a menu with various versions of windows. Is it possible to split them separately? For example, in menu.lst Win10 open a bcd with only the v. Win10, Win8.1 and open a bcd only with versions 8.1, without leaving together?
It’s bootmgr loading BCD. Will have to patch bootmgr to load bc1, bc2 etc. EFI bootmgr is loaded directly, so no options there unless you introduce another EFI boot manager and load different patched bootmgr efi pointing to different BCD stores.
Will have to use google for details if you want to go this route.
In short- doable, but not an easy task.
What happens if I create a bootable usb with this tool (connected to a hard disk case with usb) and later I install that disk inside a computer, connected to its SATA or NVME port?
Will it boot as a normal Windows operating system?
It’s same contents inside the disk, so should boot same as if it was on USB. If it was Windows Setup ISO added, same will be started on SATA.
I’ve been using this app for the past 2 years and it’s working great. Saved me countless hours with troubleshooting/updating by just using latest builds of Windows. Thank you very much ! I highly appreciate your efforts !
Now, I’ve tried to add an Windows 11 ISO (build 22000.318) using latest 1.10 version but I get the following error :
This doesn’t seem to be valid source !
Either \bootmgr or \BOOT\BCD are missing, or source is not supported.
(indeed, it’s not directly from Microsoft’s servers but I’ve used in the past dozens of Windows 10 AIO’s like this without any issues.
I’ve uploaded 2 pics to see the folder structures. Left is W.11/Right is W.10.
https://pasteboard.co/xoKObdq2QMYo.png (complete ISO structure)
https://pasteboard.co/UCdXfX1VriXF.png (boot folder structure)
Could it be a bad build ?
Isn’t the Windows 11 source ARM, just looking at the file name? ARM sources don’t have some of the boot files program is checking for and using. For example can’t see /boot/bcd which in 32/64 builds is the boot configuration file for BIOS boot.
Yeah. The source included also x86 and x64 but the ISO needed to be build using some tool. Bad ISO. Thanks . My bad.
Can I rename the usb drive name after “burning” the ISO in? Can I add some Linux ISO together with the initial Windows ISO after the fact?
Yes and yes. USN drive name is not uaed anywhere and you can out anything you like.
Can add as many sources as you want, the only limitation is disk space.
thank you very very much!!
Renaming the USB Drive
Open notepad and type
save the file as ‘Autorun.inf” and copy it to the root of the USB drive.
There is no need to use autorun.inf for that, can be simply renamed from Explorer.
Are you going to implement Grub2 as a bootloader in near future?
Not until grub2 implements the unique grub4dos ISO to partition mapping features which allow booting just about any Linux ISO without extracting it or using distro specific kernel boot parameters.
hello. im using your software to format computers. i have two questions
1-) I use uefi and legacy modes both. so i formatted my pen drive with FAT32 file system. with that, program splits the files which are bigger than 4gb. with new ISOs, the sizes are bigger than 4GB. i want to update ISOs easily and manually. how can i split iso myself and put it there direcly? with your program used (for putting new ISOs) many things are getting changed. bcd things menu things etc.
2-) The second question is that are wa able to go to directly the intsall of selected windows on grub4dos screen? i mean in grub4dos screen, if i’ve choosen the windows 7, i want it to boot windows 7 iso. but with grub4dos. i choose windows 7, and after that it boots bcd and i also choose windows 7 there. i want to select it ONLY one time in grub4dos only. is that possible?
1) There is nothing special done when the large ISO is split. Any software splitting files would do it. In tools folder I believe it was you will find the program used internally to do that, but again, any other program would do, as long as there is nothing added to the files.
2) grub4dos can’t boot directly Windows(PE), it chainloads its boot loader- bootmgr, which in turn brings up what’s in the BCD store as menu options, be it Win7/10 or whatever.
There is a way around that, by creating pairs of renamed and hex edited bootmgr/bcd, but that’s something I won’t implement for number of reasons.
Depending in your requirements, you can set default boot entries in grub4dos config file menu.lst or/and simply reduce the timeout when the default entry is started.
If not using any other sources like XP or Linux, you could even replace the MBR and bootsector with Windows 7 and above ones, so that bootmgr is invoked directly, but same behaviour you can achieve by setting the Windows bootloader entry in menu.lst to default one and make timeout 0 or 1.
i want to patch and create multiple bootmgrs for each windows version. an example when i selected win7 in grub4, i want bootmgr to boot win7. when i select win8.1, i want bootmgr to boot win 8.1. im not that experienced that but you are. can you suggest me an app to patch or make multiple bootmgrs for that? it would be awesome, really
I am not aware of a program that can do this for you, but there could be, not something I have been interested in.
In any case you will need good experience going that route.
when i boot from the usb via uefi i where i can select what i want to boot to, the black screen. How do i remove those entries. I can only remove the ones in the grub for dos screen?
Please look at the FAQs above, one of them covers your question.
Hi, If you are referring to 15 and 16 I’ve tried that with Bootice and it doesn’t remove the entry’s when I boot to UEFI usb. the very next black screen the entrys still show up. however if i boot legacy they are gone. maybe im just not doing it right. Anyway I want to thank you for your program and even getting back to the users! you have saved my life with your program many times.
There are 2 BCD stores, one for BIOS and one for UEFI boot. You have edited just the BIOS one and need to edit the other one located in \efi\microsoft\boot\bcd
Have you tried grub4efi?
Aware of it and following its development.
Is it possible to change the screen resolution of the menu that is displayed? When I boot the USB drive created by WinSetupFromUSB on my laptop that has a 4K (3840 x 2160) screen, the menu is a tiny little thing in the center of the screen. I need to get out a set of high magnification glasses to read the tiny menu on the screen 🙂
For BIOS biot you can change resolution in grub4dos config file menu.lst in root of the USB drive:
For UEFI boot through bootmgr I don’t believe you can, but google might prove me wrong.
Thanks, I appreciate the response. I should have clarified that this is for a UEFI based system. Very high resolution, high DPI screens have been a problem for a lot of programs outside of Windows but most have this issue finally resolved. It’s just a bit annoying at times but not totally unexpected 🙂
UEFI boot starts with Microsoft’s Windows boot files and whatever that offers as a resolution. Surprised Microsoft haven’t addressed that.
Is there no BIOS/EFI option that mitigates the issue?
Edit: I stand corrected, there is option in BCD for display resolution:
Just make sure you are editing the EFI BCD store.
bootuxdisabled [ on | off ]
Disables boot graphics.
graphicsmodedisabled [ on | off ]
Indicates whether graphics mode is disabled and boot applications must use text mode display.
Defines the graphics resolution, 1024×768, 800×600,1024×600, etc.
highestmode [ on | off ]
Enables boot applications to use the highest graphical mode exposed by the firmware.
novga [ on | off ]
Disables the use of VGA modes entirely.
vga [ on | off ]
Forces the use of the VGA display driver.
So, the problem comes down to the fact that an EFI allows the screen to be displayed at ONLY the native screen resolution. So booting something very low resolution like 640 x 480 needs to be intelligent and stretch itself to fit the screen. As I noted, many programs such as disk imaging boot disks that are based upon WinPE or WinRE have figured this out and now function properly.
There is a workaround that has worked up until now, but won’t work on some of the very latest systems shipping with Windows 11:
If you enable CSM (the Compatibility Support Module), also often referred to as “legacy mode” in the BIOS, this will the program to display properly by performing a BIOS rather than a UEFI boot.
However, some of the latest systems shipping with Windows 11 have completely eliminated legacy mode / CSM from the BIOS as an option, so with those systems you are stuck with what you’ve got.