
For the sake of completeness in the archives, I have found the problem. To
recap, I have a CF card that comes with NTFS on it. After using the XP format
(right click on the disk) while booted from an XP hard drive to convert the
CFD disk to FAT32 and then copying the image files created by TD to the CF,
FBA would not run when the system was booted from the CF. However, if the
same image files were put on a "regular" hard drive, FBA run successfully,
the drive ghosted and then that ghost copy put on the CF card, then the CF
card would boot successfully into XPe. Running mbrfix, bootprep, fdisk didn't
help the situation. For details on all the contortions gone through to
attempt to make it boot FBA, read the other posts in the thread.
The problem was the use of the format command. I used a disk editor to
examine the boot record of the FAT32 partition, comparing the booting XPe CF
and the failing FBA CF boot. It turns out that the format command was
changing the value at offset 0x40. To quote Technet:
offset: 0x40
size: BYTE
value: 0x80
desc: Physical Drive Number . Related to the BIOS physical drive number.
Floppy drives are identified as 0x00 and physical hard disks are identified
as 0x80, regardless of the number of physical disk drives. Typically, this
value is set prior to issuing an INT 13h BIOS call to specify the device to
access. It is only relevant if the device is a boot device.
The XP format changed this value from 80 to 00, hence FBA wouldn't boot from
a "floppy." I guess format considers anything removable to be a "floppy."
Unfortunately, I don't have a USB drive to try and see what it does with a
USB drive. Using the disk editor to change this back to 80 allowed FBA to
run. Apparently, none of the tools I tried in the course of trying to fix
this issue change this value. Removing and re-adding the partition also
didn't change the value.
FYI
Judy