Jump to content

Install XP from USB without extra tools


Recommended Posts

@Legorol

You might find these topics interesting, basically covering most of what you have pointed out, if haven't read them yet:

There is another glitch you have not encountered yet, described in those topics- USB hard disks and perhaps some card readers not detected, read no valid source during GUI mode of some Windows versions.

Added:

As for boot.ini- it's generated/amended at the very end of text mode. You may try to add another one via txtsetup.sif. Timeout will be reset to 0, or 1, can't recall exactly. User would need to start tapping F8 quickly when booting for GUI mode in order to get to the boot menu and select the custom entry, not the one added by Setup.

Binifix.cmd is always an option too.

As for the drive letter D- this is limitation, user might have another internal disk, or it could be already partitioned, or not partitioned, another reboot is required in the latter case. Fixed letter via migrate.inf works, but there are cases (USB sticks without serial number for example), when it does not, or machines wirh ParentIDPrefix starting with 6, or 8, not the usual 7.

Not criticizing or something, just pointing out the issues we have already been through. Good work of yours so far :thumbup

Link to comment
Share on other sites


@jaclaz: I can hopefully get around to testing some of your ideas, they are interesting.

@ilko_t: Thanks for the links! I have seen the first one already, I used it to my advantage. I realise that what I was doing is not new, and in fact all the issues in it have been fixed long ago :-) There are nice tools out there. I was trying to make sure I have a good understanding of what I read, and to have a go at doing things manually, as simply as possible.

I agree that the drive letter D is a big limitation. It's not too bad if you can predict it beforehand, since Setup assigns drive letters in a documented way, but it can definitely get tricky. I liked the idea of using a drive letter because once you are done partitioning, that doesn't change, whereas ARC path does if you change what you boot from.

Link to comment
Share on other sites

Based on jaclaz's ideas, I tried a few experiments out to get BOOT.INI to have the correct entry, without any success. I concluded that Setup inspects BOOT.INI when it starts (or at least no later than the start of the file copy part), adds an entry to it and then writes an entire BOOT.INI out after the file copy part. Therefore, the contents of BOOT.INI can't be affected by actions during the file copy part.

That was the last remaining avenue I was going to investigate in this topic, so as far as I am concerned I'm finished with this "mission". :-)

Edited by Legorol
Link to comment
Share on other sites

You can try to add $OEM$\$1 folder structure to your Setup Source and put your boot.ini in the $1 folder

http://unattended.msfn.org/unattended.xp/view/web/18/

As you can see on the left, the $OEM$ folder stays parallel to the i386 folder, not inside it. Anything in $1 will be copied to the root of the patition where Windows is installed to (C:\ for example). See the examples below on how it all works:

In preparation, the layout is:

C:\XPCD\$OEM$\$1\Install\

When burned to CD (X:\ being the CD-ROM Drive letter), the layout is:

X:\$OEM$\$1\Install\

When the \$OEM$\$1\Install is copied over to the hard drive during Setup, the layout is:

C:\Install\

I observed that the content of $OEM$ is copied to your Install partition at the very end of TXT-mode of XP Setup.

It means that your boot.ini will be copied AFTER the normal FileCopy and just before the reboot.

I don't know if it works for you, but it is certainly the best and last chance to manipulate XP Setup before the reboot for GUI mode.

Edited by wimb
Link to comment
Share on other sites

I created bootable as shown by using source folder Unattended XPCD3 created by nLite integrating drivers, updated and using tweaks and user data. I copied all the content of folder XPCD3 to USB including i386\WINNT.sif.

While installing windows on target computer, after completion of copying setup files, I got the following error :

“Setup cannot find the temporary installation files.

The hard drive on which setup placed Temporary files is not currently available to Windows XP. You may need a manufacturer-supplied device driver or you may need to run setup again and select a device that is compatible with Windows XP for the temporary installation files. See your Windows XP documentation for more information.

On x86 based computers floppy disk generated by setup for use with non-CD installation are not suitable for installing from CD

Setup cannot continue, to quiet press F3”

Please guide me.

Thanks

Link to comment
Share on other sites

Did you follow instructions in this thread? Are you willing to experiment or need tested and working solutions?

What are contents of winnt.sif? Hide the sensitive information in it and post it.

Where did you place it?

What did you change in txtsetup.sif?

Where did you place it?

Do you get this message at start of GUI mode or after initialization of Text mode, before displaying available disks?

Did Text mode part complete without errors?

Link to comment
Share on other sites

WINNT.SIF

Did you follow instructions in this thread? Are you willing to experiment or need tested and working solutions?

What are contents of winnt.sif? Hide the sensitive information in it and post it.

Where did you place it?

What did you change in txtsetup.sif?

Where did you place it?

Do you get this message at start of GUI mode or after initialization of Text mode, before displaying available disks?

Did Text mode part complete without errors?

(1) I need solution because installing Windows by CD, I frequently experiencing problem due to improper writting of CD.

I attached here my WINNT.sif file.

I put the following two lines FIRST under SETUPDATA head in the TXTSETUP.sif file.

BootPath = "\i386\"

SetupSourceDevice = "\Device\Harddisk0\Partition1"

I placed both the files WINNT.sif and TXTSETUP.sif in the 'i386' folder of USB.

I got the Error after initialization of Text mode and copying of temporary installation files but before displaying available disks.

Text mode part completed without errors.

(2) Second thing if I put the MsDosInitiated = "0" in the DATA head in WINNT.sif I get the folowing error

"Setup cannot find a previous version of Windows installed on your Computer. To continue Setup needto verify that you qualify to use this upgrade product.

Please insert one of the following products CD into the CD-Rom Drive : Windows XP Home Edition (Full Version), Windows XP Professional (Full Version)...etc.

When the CD is in the drive Press ENTER

To quit setup press F3"

Link to comment
Share on other sites

You do need to set msdosinitiated to 0, or Setup will be looking for the default ~BT and ~LS folders.

As for the new error- if you do have the proper licensing and agree with EULA put in [data] section the following lines:

As a side note- there are number of tested and proven to work applications and methods for the purpose, pick one from the pinned topics. There is no need to reinvent the wheel unless you want to study the matter. This is just one of the many issues you might hit. Next question would be what do I do with boot.ini, next is why my unattended settings do not work and so on.

If you want to go further this path- please search in this subforum, you most likely will find answers of all the questions and issues you'd come across. All those have already been answered and taken care of in the referenced methods.

Link to comment
Share on other sites

@nimb: That is very interesting, I will try your suggestion out with $OEM$.

@nilkanth: It sounds to me like you are mixing two entirely different sets of procedures up. If you have a winnt.sif file, that means that you have used winnt.exe or winnt32.exe to start preparing the installation, but you are trying to follow my procedure for installing from USB, which is a different procedure.

Some explanation:

When you use winnt.exe or winnt32.exe, a set of temporary folders are created, which setup will look for later on. However, you didn't copy those to your USB drive (you only copied the i386 folder), and so you are running into problems. The instructions I posted in the first post are NOT using winnt.exe or winnt32.exe to start the installation. There is no winnt.sif involved with my procedure, nor any temporary folders.

Also, you seem to have a misunderstanding about what "text mode setup" means. "Text mode setup" is all the steps that take place on the text screen with blue background and white letters. The text mode setup includes: computer boots, blue screen with white text is displayed, setup loads a set of drivers, setup examines your disks, you are prompted to accept the EULA, you are offered a choice of disk to install Windows on, and finally a yellow progress bar shows a large number of files getting copied over. The text mode setup ends when a 15-second countdown with a red progress bar appears saying that your computer will reboot.

EDIT: couple of other points:

Looks like you are trying to perform a fully unattended setup. My procedure was not developed for that.

Are you by any chance trying to use a product key and/or CD for an *upgrade* version of Windows XP, and not a full retail or OEM version?

My procedure requires that you place the modified copy of txtsetup.sif in the *root* directory of your USB drive (for example, D:\), not in the I386 folder. Otherwise it won't get read by setup.

Edited by Legorol
Link to comment
Share on other sites

@nilkanth

It seems to me like your post is completely void of any relevance to the actual topic.

As soon as you will acknowledge this post, I will split posts related to your issue to a new topic, where it will be easier to help you without "polluting" the present one, that is intended as an "experimental" one, nothing that you should (for the moment) try at home, as ilko_t pointed out there are several tested and working methods, it is pointless to use a harder way to get the job done, unless it is for "fun" or for the sake of experimenting.

jaclaz

Link to comment
Share on other sites

I could get the $OEM$\$1 working and got it to copy files during text mode (although it wouldn't work without a winnt.sif with at least some entries). Unfortunately it has the same problem as any attempt before: Setup overwrites boot.ini right at the end, just before reboot. :no:

Link to comment
Share on other sites

I could get the $OEM$\$1 working and got it to copy files during text mode (although it wouldn't work without a winnt.sif with at least some entries). Unfortunately it has the same problem as any attempt before: Setup overwrites boot.ini right at the end, just before reboot. :no:

Well it was worth to try it, but it will be difficult then to find a solution to get the desired boot.ini .......

Link to comment
Share on other sites

In txtsetup.sif, SetupData section, there is OsLoadOptions, maybe that could be used to add an extra line, using something like \r\n or any other value which would make Setup write a new line, or it's just for the Text mode and ignored later on :unsure:

Link to comment
Share on other sites

@wimb: Yes, it looks impossible to affect the contents of boot.ini during text-mode setup, so I have given up on it. Booting to Recovery Console once isn't a horrible solution.

In txtsetup.sif, SetupData section, there is OsLoadOptions, maybe that could be used to add an extra line, using something like \r\n or any other value which would make Setup write a new line, or it's just for the Text mode and ignored later on :unsure:

I don't think this would work. For starters, these are just the options that come at the end of a line in boot.ini, I don't see how this could affect the ARC path. Also, the options in txtsetup.inf are for setupldr.bin, and are a bit different from what ntldr accepts.

Edited by Legorol
Link to comment
Share on other sites

  • 1 month later...

Step 1) Partition and format the USB stick in Windows 7, which makes it bootable:

Start Command Prompt, start diskpart.

Enter commands: select disk 2, clean, create partition primary, active

Exit diskpart, unplug and replug the stick.

Format the stick via Windows Explorer (I chose FAT32).

when did you assign a drive letter for the usb stick? i really wanted to try something like this but I'm using windows xp for my work machine.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...