MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically.

The project started as alternative method of installing Windows from USB. The known ones are winnt from DOS and winnt32 or it's variants as PE plugins, started from PE environment. As such alternative, it was rather interesting from experimenting and inventing point of view, rather than a practical sollution.

It turned out to be practical since Asus EeePC appeared and the interest boomed. Why- most of these users had no idea what BartPE or winnt32.exe is, neither what unattended install or winnt.sif is. Not to mention building BartPE, integrating mass storage drivers etc. They just needed one-off installation of their Windows source, whatever it is (slimmed down, unattended, with extra programs/addons...), from USB, with a few mouse clicks or a few answers, in the way they are used to- as if it was started from CD.

As this alternative method got polished/sophisticated and popularity increased, more and more experienced users became interested. And you have done A LOT for this to happen.

Following these thoughts I assume there are 2 types of 'potential users':

1) Who know what unattended (and slimming down or adding drivers/programs) Windows source is, and presumably know at least one of the popular methods to perform that:

2) Ones who have no clue what the above is, and want install from USB with a few mouse clicks, without being bothered with extra information or questions.

In case of 1)- Is there a point providing this functionality, overlapping famous and well documented/supported tools?

In case of 2)- Is it the time to go into that curve? Is he interested at all in these options or simply wants to install his Windows the way he knows?

Even if he is interested, I'd prefer to include the information in a ReadMe file and point to the right direction(above), rather than implementing this functionality in the program itself, overloading the main interface with checkboxes or messages.

Simple displaying winnt.sif entries I find useless for novices, as those entries also have to be explained what they mean with their alternative values.

Once he knows how many things could be done to his source, the problematic 8 entries will not be the only ones wanted. Same applies for LANG folder or CMPNENTS for MCE or Tablet, which absence could lead to fatal errors during or after installation, if one had already enough new information and on the next message chooses randomly yes/no, without reading a word. Believe me, this is what happens most of the time.

If the point to display winnt.sif is to use as reminder to the experienced user what is going to be used, I may add a button or message box "Do you want to display winnt.sif" and launch "notepad.exe winnt.sif". Contrary- we have there important entries, curious people according to practice and Murphy's law tend to mess exactly where they are not supposed to. Keeping out of focus winnt.sif, which performs the most important steps to be USB setup successful, is preferred.

As time goes by, a tab "advanced settings" could be added. For now I don't have the willingness and the spare time to do that, my mind simply refuses to think about concentrating on this subject. I'd rather spend more time on simplifying and automating install from PE environment, finding a way to protect files during Text mode in 2000/2003 versions, or making x64 version of rdummy.sys, than implement features, which are already well covered by other means. Don't forget that XP/2003 days are going to an end as well. Within a few years all this will be buried.

In addition- the program is run from normal Windows environment, and your toolbox(Internet, Notepad, Help files, NLite...) is full. If it was in PE environment, where tools are limited, then yes, it could be good option.

Another point, which is rather personal- I am an old schooler, prefer simplicity, small sizes and information thrown at user limited to the bare minimum. Hence my opinion what is a key factor a program to be successful and easily accepted.

Share this post

Link to post

Share on other sites

The thing is once Text mode is selected in menu.lst, on next launch of grub4dos the second part(GUI) to be default, and eventually fully unattended installation performed.

Menu.lst is created dynamically and entries are added to an existing one, which if not present is created. On first run of the program one may not choose to add Windows source. Thus the entries number 0-3 for example will be occupied by Bart PE, Vista setup etc.

Next run- add windows source. This will add the pair as entry #4 and 5:

title First part (Text mode) of $version setupchainloader /$win_nt$.~bt/setupldr.binsavedefault fallback

title Second part (GUI mode) of $version setuproot...chainloader /ntldr

In order to set fallback entry AND set it default I need to know that last entry, for the GUI mode what number in menu.lst is. Why.

What came in my head so far is to separate the entries by seeking for 'title', so everything between two 'title' is an entry. Then look in this entry if string 'ntldr' is present, ignoring the commented lines, and count what number it is. Then set this number as a fallback.

The problem is when a new Windows source is added to the USB disk. This will add another pair of entries.

The first entry will deffer as setupldr.bin will be in another folder, but the second entry will differ against the similar one only in it's title, where $version is used.

Creation of second entry (GUI mode) could be omitted, using one for all Windows sources, not adding for which version of Windows it is as that's only for guidance. But in this case menu.lst may end up like:

First part(Text Mode) of Windows XP professional

Second part(GUI Mode) of Windows Setup + Start it for a first time

First part(Text Mode) of Windows 2003 server

First part(Text Mode) of Windows 2000 standard

Start UBCD4Win from partition 3

I wanted to avoid that, as if one wants to install say Windows 2000, he'd expect second part to be below the first part, which is why I add them in pairs:

First part(Text Mode) of Windows XP professional

Second part(GUI Mode) of Windows XP professional Setup + Start it for a first time

First part(Text Mode) of Windows 2003 server

Second part(GUI Mode) of Windows 2003 server Setup + Start it for a first time

First part(Text Mode) of Windows 2000 standard

Second part(GUI Mode) of Windows 2000 standard Setup + Start it for a first time

Start UBCD4Win from partition 3

Now if first variant is better- with only one entry for the GUI mode, then will have to seek in menu.lst if 'Second part(GUI Mode) of Windows Setup + Start it for a first time' is present, and if not- add a new one.

If the second variant, with pairs, is better, then it's tricky, which entry should be set as fallback entry?

Another variant as I am thinking more on this- no need to use 'savedefault fallback', but rather 'savedefault X' and still use pairs. When adding new entries the program will count what number(Y) in menu.lst

All the variants assume that entries above those lines are not deleted, or everything will get messed up. Thinking of that, wouldn't be easier and safer just to include in the ReadMe brief information how to be set up manually? So one will be aware what to change if wants GUI mode to be selected automatically, and if decides to delete entries.

I am puzzled

What do you guys think?

Share this post

Link to post

Share on other sites

This is awesome! This is always something that I wanted to do, especially since I assume that installation from USB is not only more convenient, but faster than installing from DVD, or am I wrong? In any case, an nLite collaboration would be cool as well, to be able to nLite XP and then install it from USB!

Hope you like it

It is considerably faster, especially when using fast USB stick or hard disk and your BIOS supports USB boot in full 2.0 speed. In some cases NTFS is reported to perform times faster than FAT16/32, I guess this happens when Text mode setup tries to delete files from the write-protected USB disk and have no further explanation why exactly.

Keep in mind that not all BIOSes support boot from NTFS formatted USB disks, and NTFS on USB stick may 'wear it' sooner, depending on it's quality and usage.

Share this post

Link to post

Share on other sites

Using tag file could be tricky- I can't think of any file in root, which gets renamed or deleted after install is completed. If it's in a folder, then may be yes, but what about people changing their windows or program files folders...

May this is a solution, even though we are getting into too many submenus:

menu.lst:

title Windows Installconfigfile /windows.lstsavedefault

windows.lst:

default /windefault

title Text mode Windows XPchainloader ....savedafault 1

title GUI mode Windows XPchainloader /ntldrsavedefault

title Text mode Windows 2003chainloader ....savedafault 1

title GUI mode Windows 2003chainloader /ntldrsavedefault

All Text mode entries will make default the second entry, even though it's name is for XP, but it loads the same NTLDR/BOOT.INI.

Then the second entry will open BOOT.INI entries, which makes one more menu. I will try to put all that and see how it feels when using it.

Share this post

Link to post

Share on other sites

All I want to do is able to install my nlited + driverpacks Windows XP from a USB Stick exactly as I would from a CD/DVD drive with no changes or as little changes as possible. No extra options or such..

Nice work ilko_t and everyone who contributed to and inspired this project.. Keep up the good work.

Share this post

Link to post

Share on other sites

- detailed log file is created in the folder, where program is executed from. Use it for troubleshooting. Upon next execution if log file is found, it's compressed in MS cab format, removed to BACKUPS folder and renamed with current DATE/TIME stamp.

as well as screenshot of contents or result of dir X: of USB stick root directory, and contents of menu.lst again in USB root.

Did you run the program multiple times or everything was done in one go?

Share this post

Link to post

Share on other sites

Ok I manually copied & extracted all files that failed to copy using WinSetupFromUSB. And the TXT setup starts but I run into another problem now.. while loading drivers/controllers when it reaches Silicon image SATA something... SI3132B4.sys

It says roughly translated:

Not enough memory for SI3132B4.sys.Press any key to continue.

And when I do that it says

Installation Failed. Press any key to reboot.

I don't think the whole 1 gb of ram would be full with drivers.. :S

And somehow it worked with USB MultiBoot 10.

The question is, is it the memory or something else?

Did I do something wrong while i copied the missing files?

The $WIN_NT$.~BT is 24mb so I don't really think that the drivers takes 1 gb of ram....