D
Dietmar
Hi all,
I try to describe, why until now XP cant boot or been installed and run
via a USB to PCI slotcard.
I think, that this can be overcome, but only with very very hard
work...
I hope this is the only thing, why it not works, but I believe that.
You all remember the picture from dennis123123 in post
http://www.911cd.net/forums//index.php?s=&...ndpost&p=101657
I now know the exact reason of this:
There is simple no arcpath for the USBdrive, like
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional"
I tested this with the recovery console from XP CD and type there map
arc.
No arcpath can be seen at the compi from dennis123123.
Now I tried the following: On another computer with the same USB
harddisk
after typing map arc, I saw a wonderfull arcpath
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional"
for this USB harddisk. Now it is clear for me: If the Bios does not
recognice a harddisk at boottime,
the silly XP(E) is never able to repair this error, because in the
disk.sys driver there is no implementation of IoAssignArcName(), that
translates
\Device\Harddisk0\Partition1
to
multi(0)disk(0)rdisk(0)partition(1)
What a pain for Microsoft:
I can install and boot Win98 via the USB to PCI slotcard to any USB
device using the Iomega driver.
I did another test to be sure. I installed the recovery console to a
normal IDE harddisk.
I changed in its folder (cmdcons) the ntdetect.com against the modified
one.
Then I imported to registry the hive setupreg.hiv of the
recoveryconsole.
I modified there all the USB* entries as for USB boot wished.
I copied this hive as otto back and renamed it again setupreg.hiv .
Then I openend there txtsetup.sif and did all the changes as on XP
Slipstream CD for install on USB.
Then I connected the USB harddisk via USB to PCI slotcard and booted
the modified recoveryconsole from
normal harddisk: Typing map arc there, shows me again only the
arcpathes of the normal harddrive.
And the last test: I run Winobj.exe from normal Windows XP: Voila, no
arcpath can be seen for the connected USB harddisk via USB to PCI
slotcard.
To make it clear:
I always can see the files and folders on the USB harddisk, connected
via the USB to PCI slotcard.
But there is no arcpath for that USB harddisk, I only saw always
\Device\Harddisk0\Partition1
for that USB harddisk.
Puh ...but now I see clear, what has to be done :
There is a file called arcname.c from Reactos.
This driver arcname.sys has to start direct before disk.sys starts.
It simple translates the arcpath, asking ntoskernl.exe and give the
right arcpath to the waiting disk.sys.
This file has to be compiled for XP.
Perhaps it works also compiled for NT4, as Reactos did. Compiling for
XP isnt easy, because for example
it makes use of ntoskrnl.h, that isnt in the XP library. So you also
have to build a new library, that looks like
that from Reactos. But this will work, I am sure.
Another idea, that can be tested easy: There are special disk.sys from
Microsoft ,
called sometimes scsidisk.sys. Perhaps you are able to get one, with an
inbuild IoAssignArcName() routine.
I found one, but that gives blue screen about after 12 Seconds starting
for USB boot.
I think, that here are a lot of people, who understand what I am
writing and so they can help.
Nice to hear from you
Dietmar
I try to describe, why until now XP cant boot or been installed and run
via a USB to PCI slotcard.
I think, that this can be overcome, but only with very very hard
work...
I hope this is the only thing, why it not works, but I believe that.
You all remember the picture from dennis123123 in post
http://www.911cd.net/forums//index.php?s=&...ndpost&p=101657
I now know the exact reason of this:
There is simple no arcpath for the USBdrive, like
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional"
I tested this with the recovery console from XP CD and type there map
arc.
No arcpath can be seen at the compi from dennis123123.
Now I tried the following: On another computer with the same USB
harddisk
after typing map arc, I saw a wonderfull arcpath
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional"
for this USB harddisk. Now it is clear for me: If the Bios does not
recognice a harddisk at boottime,
the silly XP(E) is never able to repair this error, because in the
disk.sys driver there is no implementation of IoAssignArcName(), that
translates
\Device\Harddisk0\Partition1
to
multi(0)disk(0)rdisk(0)partition(1)
What a pain for Microsoft:
I can install and boot Win98 via the USB to PCI slotcard to any USB
device using the Iomega driver.
I did another test to be sure. I installed the recovery console to a
normal IDE harddisk.
I changed in its folder (cmdcons) the ntdetect.com against the modified
one.
Then I imported to registry the hive setupreg.hiv of the
recoveryconsole.
I modified there all the USB* entries as for USB boot wished.
I copied this hive as otto back and renamed it again setupreg.hiv .
Then I openend there txtsetup.sif and did all the changes as on XP
Slipstream CD for install on USB.
Then I connected the USB harddisk via USB to PCI slotcard and booted
the modified recoveryconsole from
normal harddisk: Typing map arc there, shows me again only the
arcpathes of the normal harddrive.
And the last test: I run Winobj.exe from normal Windows XP: Voila, no
arcpath can be seen for the connected USB harddisk via USB to PCI
slotcard.
To make it clear:
I always can see the files and folders on the USB harddisk, connected
via the USB to PCI slotcard.
But there is no arcpath for that USB harddisk, I only saw always
\Device\Harddisk0\Partition1
for that USB harddisk.
Puh ...but now I see clear, what has to be done :
There is a file called arcname.c from Reactos.
This driver arcname.sys has to start direct before disk.sys starts.
It simple translates the arcpath, asking ntoskernl.exe and give the
right arcpath to the waiting disk.sys.
This file has to be compiled for XP.
Perhaps it works also compiled for NT4, as Reactos did. Compiling for
XP isnt easy, because for example
it makes use of ntoskrnl.h, that isnt in the XP library. So you also
have to build a new library, that looks like
that from Reactos. But this will work, I am sure.
Another idea, that can be tested easy: There are special disk.sys from
Microsoft ,
called sometimes scsidisk.sys. Perhaps you are able to get one, with an
inbuild IoAssignArcName() routine.
I found one, but that gives blue screen about after 12 Seconds starting
for USB boot.
I think, that here are a lot of people, who understand what I am
writing and so they can help.
Nice to hear from you
Dietmar