OK so if I understand properly, the important thing is to actually make the target disk first, but not so much to make the USB (boot) disk last. All the other disks can pretty much be in any order, right ?
It's about properly generating boot.ini by Setup at the end of Text mode.
The idea is to shift disk order making the internal disks first, and USB and virtual ones in your case last, just as if Setup was started from CD and in BIOS boot order internal disks are next.
E.g. if I wanted to install to a virtual disk, a mechanism would have to be introduced to make sure that target disk is first. Right ?
This is really useful indeed ! Be design this will make sure that the virtual (source) drive is NOT first, so there is no need to shift it to a different position.
You may trymap /WinSetup.img (hd) map --hookIf you have 2 disks- hd0 and hd1, (hd) will be hd2:
Therefore when I install from a virtual disk, the procedure I described above should be adapted slightly: shifthd.bat and usbdrive.tag should also be moved from the virtual disk to the physical USB boot disk because the latter is still first in BIOS boot order, so it should be moved somewhere else.
As a result, something needs to be sorted, because when shifthd.bat is executed, it sets RDSK to point to the physical USB boot disk instead of the virtual disk (where the setup source files are).
So here is what I've done: just add a tag file in the virtual disk, .e.g imgdrive.tag. Then in winmenu.lst, just after shifthd.bat is called, add the following:
find --set-root --devices=h /imgdrive.tag # get current root drive set /a RDSK=*0x82A0 & 0x7F
Now the initial boot sequence works fine for me... Except I still get this BSOD 7E at the end of TXT=mode setup... Any ideas ?