Hi cdob,
can you please tell me step by step,
how you make steps more easy in "Kansas City Shuffle"?
Which points you change? Here at reboot I only find 1 page, where you tell about.
I will try this also for nvme boot, because I noticed that ALL the other tutorials in web
about nvme boot are only for UEFI nvme.
This Tutorial will be valid also for any legacy boot from nvme on nearly every compi. And may be,
the fake "CD" can also been put on the same nvme disk, because I noticed, that the MBR from the nvme can be read with UEFI nvme.
Windows XP boots from USB and nvme
Author: Dietmar Stölting, 16 March 2008 updated 29 July 2018
dietmar.stoelting@t-online.de
Germany
Thanks to s4e, who told us his idea.
This tutorial works on any device with a mbr and a driver. No need for Bios support.
Tutorial (Version 7)
1.) Connect an USB or nvme harddisk to your working XP or install first a fresh XP
on your normal harddisk.
This XP has to stay on the first partition of the first harddisk.
If you have no USB, nvme, or all USB is disabled in Bios or only USB1.1,
insert an USBtoPCI slotcard or nvme disk via slotcard.
The USB hardisk has to be connected to your XP, because the drivers for
the USBtoPCI slotcard and for the USB harddisk must be installed there.
Only one, and that must be the first partition, is allowed on the USB
harddisk.
Disable the pagefile.
Copy this XP to that USB, nvme harddisk, may be on an other comuter. I use AOMEI.
It can be Fat, Fat32, NTFS, doesnt matter.
Dont change the filesystem.
It works on XP, XP SP1, SP2, SP3, nvme works only for XP SP3.
2.) For USB, make the XP on the USB harddisk USB bootfriendly, use Tutorial 3, 4 or 6,
for nvme add storport.sys 5.2.3790.4173 from Winserver 2003 and nvme.sys ver. 1.3 from Kai.
3.) Get the files mkimg.zip, vdk32-050406.zip, dsfok.zip,
gsar121.zip, mksparse.zip, mbrbatch002.zip, DumpHex-1.0.1.zip,
grub4dos-0.4.3-2008-03-14.zip, SetupImgBurn_2.4.0.0.exe, mkisofs.exe from
pebuilder3110a, contig.exe from Microsoft (Sysinternals)
Unzip them all to the root folder C:\ of your working XP.
You can use other programs also.
4.) Generating a virtual harddisk with a size of 100 MB.
Type at the commandline of your working XP C:\mkimg , name it otto, chose
100M size, 128/63 geometry, 07 for NTFS, and then /fsz for building a 100 MB
virtual harddisk, format it with j. Format it with XP to Fat32 or to NTFS.
IF XP dont like to do that, format an 100MB empty file from Qemu.
If this does not work, shrink a real partition with working XP via AOMEI.
5.) Copy now from your external USB bootfriendly harddisk (or nvme disk) the following
files to the 100MB virtual harddisk:
BOOT.INI with a content of
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="USB Windows"
NTDETECT.COM (best (?) is modified one, when you get)
NTLDR
WINDOWS\AppPatch\drvmain.sdb
WINDOWS\FONTS\vga850.fon
WINDOWS\FONTS\vgaoem.fon
WINDOWS\INF\biosinfo.inf
WINDOWS\system32\bootvid.dll
WINDOWS\system32\c_1250.nls (in germany instead c_1252.nls)
WINDOWS\system32\c_850.nls
WINDOWS\system32\hal.dll
WINDOWS\system32\kdcom.dll
WINDOWS\system32\l_intl.nls
WINDOWS\system32\ntkrnlpa.exe
WINDOWS\system32\ntoskrnl.exe
WINDOWS\system32\config\system
WINDOWS\system32\drivers\ (all, means also nvme.sys and storport.sys for NVME)
6.) Make a Bit to Bit copy of your virtual 100 MB harddisk, with MBR and
partitionstable. I use therefor Winhex.
Name it XP.IMG (Case sensitive)
7.) Open in Winhex XP.IMG and the USB (nvme) harddisk. Have a look at both of
their first 512 Byte (MBR).
Save those 512 bytes (MBR) each on your working XP as XPIMGMBR.dat and
USBHDMBR.dat.
Now comes the most critical procedure to fake the SIGNATURE and give both
MBR the same checksum.
Compare the first 512 Bytes of both MBR:
The only differences that are allowed at the moment, stay in 1B8, 1B9,
1BA, 1BB , this is the place of the SIGNATURE and 1C0, 1C1...to 1CF, the
size of each Harddisk.
Write the SIGNATURE of the external harddisk to the SIGNATURE of the
XP.IMG.
This means, to write the values in 1B8, 1B9, 1BA, 1BB of the harddisk to
the same place into MBR of XP.IMG.
Then write 1C0...1CF of the external harddisk to 1A0...1AF of the XP.IMG.
Then write 1C0...1CF of XP.IMG to 1A0...1AF to the external harddisk.
Compare once more the MBRs of XP.IMG and the USB harddisk.
There must now be correspondending differences in 1A0...1AF and
1C0...1CF.
8.) Open the commandline of the working XP and type there at C:\
mkdir iso_root
copy grldr iso_root
copy menu.lst iso_root
copy XP.IMG iso_root
9.)
Run from commandline
contig.exe C:\iso_root\XP.IMG
that the file is continues for mapping in grub4dos.
Go to C:\iso_root. There are now XP.IMG, menu.lst, and grldr.
Open menu.lst with the editor and delete all its content.
Put into menu.lst:
title Image chainloading USB (or nvme)
map --read-only /XP.IMG (hd0)
map --hook
chainloader (hd0,0)/ntldr
10.) Go to commandline and type at C:\
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grldr.iso iso_root
This gives you in C:\ the file grldr.iso.
11.) Burn grldr.iso with SetupImgBurn or Nero to a CD.
12.) Shut your compi down and restart with that CD and the connected USB or nvme
harddisk to USB XP.
13.) First test, if your CD gives you the XP-bootscreen after grub4dos window.
Dietmar