Here is a non exhaustive list of tested sources with download links where possible.
In short:
- 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
set ISOPATH=/WINSETUP/XPpSP3
…
map –unmap=0:0xff && map –rehooktitle title Second part of Windows XP Pro Setup/Boot first internal disk
savedefault
…
chainloader (hd0)+1
rootnoverify (hd0)title \n
roottitle 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
map –unmap=0:0xff
…
…
root (0xff)
chainloader (0xff)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.
WinSetupFromUSB is an amazing utility. I love it. I have a question, I prepare a master USB installer using this which worked fine for several weeks. Later on something unknown happened and on booting PC from this USB, there was no “OS to install” selection page. Instead it had a prompt on back screen with grey text. I thought USB flash drive was “perhaps” corrupted so I formatted it and once again created “universal installer for PC” having WinXP, Win7, WIn8, Win10, WinServer2008 etc. etc. once again it worked fine for couple of time but once again it ended up with only a prompt on black screen and no page appeared for selection of desired OS to install.
What’s the prompt on that black screen? Does it say anything? Are you booting every time in same mode, be it BIOS/compatible or UEFI? Is the USB disk reliable?
On booting from USB, first screen appears with a menu asking to choose F1 to continue boot to Grub4dos (default) and F2 for launching PLoP boot manager. Screen waits just for 1 or 2 seconds and select the default which instead of going to OS selection page (when working fine…the page with cyan background and entries for available OS installer) next screen appears with stating GRUB4DOS version on the top and following text thereafter:
[ Minimal Bash-like line editing is supported. For the first word, TAB list possible command completion. Anywhere else TAB lists the possible combinations of device/filename. Esc at any time exists. ]
grub> _
Pressing escape takes to another mane with following enteries:
find /menu.lst. /boot/grub/menu.lst. /grub/menu.lst
commandline
reboot
halt
On booting from USB, first screen appears with a menu asking to choose F1 to continue boot to Grub4dos (default) and F2 for launching PLoP boot manager. Screen waits just for 1 or 2 seconds and select the default which instead of going to OS selection page (when working fine…the page with cyan background and entries for available OS installer) next screen appears with stating GRUB4DOS version on the top and following text thereafter:
[ Minimal Bash-like line editing is supported. For the first word, TAB list possible command completion. Anywhere else TAB lists the possible combinations of device/filename. Esc at any time exists. ]
grub> _
Pressing escape takes to another mane with following enteries:
find /menu.lst. /boot/grub/menu.lst. /grub/menu.lst
commandline
reboot
halt
========
UDB disk is reliable, using BIOS in Legacy mode, installer was made using FAT32 FS
Grldr, which is grub4dos boot loader, can’t find its config file menu.lst and drops to shell.
I would run chkdsk to see if the file system is corrupted. Might happen easily with FAT32, especially if disk is unplugged without using safely remove hardware button for example. Check also if menu.lst is present in root directory.
Can you help me once more…I went and added one more program while free space on my usb was about 1,5 GB and iso of that program is 648 MB. Winsetupfromusb says: Couldn’t defragment because of free space and something…I chose Cancel and it said Job Done. Now Usb drive still has 744Mb free space. Will that program not work correctly? is there a way to remove it?
It’s extremely unlikely that disk had enough contiguous free space so that the file can be defragmented, given how little free space left.
It’s WinContig used internally for defragmenting files, but I highly doubt other program would have succeeded.
As a rule of thumb, such sources have to be added first to freshly formatted drive, when there is plenty of contiguous free space.
There is a FAQ above how to remove source.
That program gave fatal error when loaded and says couldn’t load file because its fragmented…I checked fragmentation on Usb and it is 29%. The program I was trying to add is ESET SysRescue Live disk and I also want to add Kaspersky Rescue disc. Both of them weight about 1.2 GB, free space before I added ESET SysRescue Live disk was 1.5Gb. What should I do now?
That was answered already.
Wikipedia is also a good start to learn about fragmentation:
https://en.m.wikipedia.org/wiki/Defragmentation
I want to make My USB Flash Drive bootable as following:
File System: NTFS (to Store large File more then 10GB)
Bootable: UEFI & Legacy both
OS: Windows 10 Pro 64bit (UEFI)
Software: Acronics 2016 (Legacy & UEFI both)
Hiren Boot: HBCD_PE_x64 (Legacy & UEFI both)
There are several limitations, please read the FAQ above
The usb won’t boot, I’m not sure every machine has Grub4Dos and I don’t know what to do, I didn’t find any information on how to effeciently debug this. Even in the QEMU test it doesn’t boot right away, but loads Grub4Dos first. How can I make the QEMU test find the usb directly.
Grub4dos is a boot managers on the USB disk, it’s not on the machines.
Can you describe with details what “won’t boot” means?
The QEMU test presents the USB disk as local disk and it does have to load grub4dos first.
I would like to have a working windows install on top of winsetupfromusb. Be it on the same partition or on a second partition, how can I do about it?
I am trying to add a 1.94 GB Linux ISO to a WinSetupFromUSB USB that was formatted with FBInst, and has 11.6 GB free space before adding this ISO, and 9.75 GB free space after adding it.
WSFU complained that there was insufficient space to defragment the iso, and gave me a choice of “retry” or “cancel”. Selecting “retry” just resulted in the same message.
I deleted the fragmented (?) iso, and the corresponding menu.lst entry. I also deleted another 1.9 GB ISO, so there would be more room, although it seems that 9.75 GB *should* be sufficient.
This time, and every subsequent attempt, the program hung while displaying “defragmenting…”, and had to be cancelled with Task Manager (which showed Aut2Exe and Windefrag using most of the CPU and large chunks of memory).
It’s about how much _contiguous_ space is available. Even 1 chunk of another file somewhere in the middle is enough to make the next file placed fragmented and Windows does not provide controls where the next file is to be put and whether to fragment it or not.
Judging by the TOTAL free space is wrong, this does not represent _contiguous_ free space.
You might try other defragmenting programs preferably with ability to consolidate the free space, there are a few afaik. I opted for using WinContig because it’s free and can be scripted and that time there was no similar alternative.
Best advice I can give, is to always start with sources which need defragmented files, after fresh format, then add the windows sources.
Defragmenting a USB drive? Isn’t that like defragmenting an SSD? Also, I tried just copying the ISO to the drive, since the menu.lst already pointed to it. It boots from the ISO, and then hangs.
Not sure what you mean by like SSD.
The requirement comes from grub4dos which needs contiguous file to be able to map and boot it in a way which is compatible with nearly all linux distros.
What ISO hangs at what stage displaying what error?
What I mean by “like SSD”, is that USB flash drives, like SSD’s don’t benefit from defragmentation, and the additional write operations involved in defragging shorten the life of the drive, so we are told not to defrag them.
-WinSetupfromUSB hangs while “defragmented” linuxmint-19_3-cinnamon-64bit.iso
-Since it was added to menu.lst, I tried copying it to the ..\ISO folder. Then I tried booting from it. When I selected it from the menu.lst, it started to boot, bringing up its own menu. I selected “run linumint”. It then flashed some error message too quickly to read, and hung.
-I then tried the same thing with linuxmint-19_2-cinnamon-64bit.iso, and I got a black screen with a white block cursor in the middle — which is strange, because I think I’ve booted that one successfully before.
Tried it again.
When I booted from linuxmint-19_1-cinnamon-64bit.iso, I got:
Booting linuxmint-19_2-cinnamon-64bit.iso from partition 0
128 (Hex: 0x80)
File system type is Fat, Partition Type 0x0C
Fatal error map rs ISO …
Please check if present and deframented.
When I booted from llinuxmint-19_2-cinnamon-64bit.iso, I got
Auto boot in 10 seconds
flashed some message too quickly to read
black screen.
Reset resulted in black screen with white cursor block in middle.
Had to power down, and wait in order to reboot.
Rebooted (from internal SDD) into Windoze 10, and ran Windoze 10 defrag. It says:
Invoking defragmentation on WXP-LINUX-0 (H:)…
Pre-Optimization Report:
Volume Information:
Volume size = 29.50 GB
Free space = 7.91 GB
Total fragmented space = 0%
Largest free space size = 1.76 GB
So that seems to confirm what you said. If the largest free space is 1.76GB, there isn’t room for a contiguous 1.94 GB file. And the 19.1 and 19.2 that booted previously were deleted and then re-added, so they probably aren’t contiguous either.
The Windoze defrag, like WinContig, appears to hang, so I’m going to try copying the disk, file by file, to a new disk, which (hopefully) will create contiguous sectors for each file. Any other suggestions?
Can try “Defraggler”, it can defrag the free space first, then move files around.
WinSetupFromUSB uses a trick when formatting in NTFS to reduce the chance of Windows putting the NTFS meta files right in the middle of a newly formatted volume as it typically does, thus cutting the contiguous free space in half, so if going to try copying files, you better fresh format the second drive using WSFUSB, then just add the same way these Linux Mint sources, but do them first.
Just copying files to another drive again gives you no guarantee they will end up contiguous. As said- Windows does not provide any controls or API whatsoever to achieve that.
Thank you very much for this wonderful program!
Hi itaushanov,
I’ve recently obtained a machine (Asus X102BA) which only supports UEFI boot. I undeestand that WinSetUpFromUSB does not support booting Linux distros under UEFI (because Grub4Dos – which can’t support UEFI – is integral to its operation), but I have been able to boot from a Linux Live CD on a USB stick using Rufus 2.18.1213, so would it be possible for you to create a separate UEFI-only version of WinSetUpFromUSB (which doesn’t use Grub4Dos) to offer multi-USB-boot under UEFI – using an extraction process similar to that of Rufus (and I guess Unetbootin)? I don’t want to have to keep trashing my USB stick every time I want to install/run another Linux distro on it 😎
Still loving this little utility BTW 😎
Cheers,
Alex
Hi Alex, grub4dos has an unique feature which allow to boot just about any Linux ISO by mapping it to a fake partition, which later on kernel finds and mounts, just as if booted from the ISO. Grub4dos doesn’t and won’t support UEFI and no other bootloader supports similar feature, yet.
Single source would be easy to add, but I am not interested in such option for UEFI.
In short- until some bootloader, likely grub2, has something similar, we are stuck 🙂
OK, fair enough. I just thought you might be to adapt something like Rufus so that one USB memory stick could be used to house multiple UEFI ISOs (or extracted forms of them) so that one could be chosen to be booted from a menu at boot time. Just something simple like that. Saves trashing the memory stick every time you want to boot a different ISO on a UEFI-only machine. Cheers – Alex
Hi again itaushanov,
I’ve been looking into this problem (booting ISOs from a flash drive on UEFI-only firmware) and I’ve just come across the following:
http://murga-linux.com/puppy/viewtopic.php?t=117536
This seems to suggest that it’s possible to create a flash drive that will boot ISOs (using Grub2) which will work for both legacy BIOS/MBR and modern UEFI firmwares. Perhaps you could create a tool (like the most excellent WinSetUpFromUSB) which automates the process for people? That would be VERY cool 😎
Alex
I am afraid that’s not universal solution, been there seen that, long ago…
That relies on passing a kernel parameter which tells the init script which iso file to search for and mount. Unfortunately, there is large variety of linux distros, each using its own parameter, and some don’t even have such. On top of that, behaviour might change across the versions. Debian based distros for example, did not search for ISO file on USB hard drives of fixed type if I recall correctly, not sure if and when that was fixed.
Maintaining a huge list of distros, veraions and their specifics in order to pass the correct kernel parameter is not feasible.
Sorry, just a quick observation after reading that post I linked to: I believe under XP it is only possible to see the first partition on a USB flash drive (without some jiggery pokery), so I guess it would be better to create the ESP as the 2nd partition on the flash drive and the main partition (holding the ISOs) on the 1st partition.
(But I guess you will have thought of that already.)
Not only XP does that, later Windows versions also do the same. It’s to do whether the USB disk is of fixed or removable type. If fixed- proceed with mounting all partitions. If removable- only the first one is usable without special drivers.
Olá, gostaria de saber se você possui uma lista com os comandos que podem ser utilizados no menu.lst. Por exemplo, vi que posso pular linhas no menu utilizando comandos. Gostaria de entender a estrutura do menu.lst. Obrigado.
https://www.rmprepusb.com/tutorials/grub4dos#TOC-Introduction-to-grub4dos
https://sites.google.com/site/rmprepusb/documents/rmprepusb-beta-versions/README_GRUB4DOS.txt?attredirects=0