Archived from groups: microsoft.public.windowsxp.device_driver.dev (More info?)
Hi all,
I am developing the ce boot loader. One function is to transfer the boot
sector to target storage(CF) in Windows XP.
It works fine when CF size is under 512MB, but does not work for 1G CF.
I find the error comes from the CHS value.
In the boot phase, the boot sector needs the correct CHS value for BIOS
Int13.
When I format the 1G CF with FAT32 format, then use DFP_RECEIVE_DRIVE_DATA
and IOCTL_DISK_GET_DRIVE_GEOMETRY_EX of DeviceIoControl to get the CHS
value.
Then I got the h = 16, s = 63. In fact, the h = 32, s =63. When I convert
the LBA number to CHS number, I read the bad or wrong sector with BIOS
Int13.
I use the SPFDisk(DOS program) and it can get the correct CHS number.
Do you know any IO control can get the correct CHS value of CF?
You are about to answer a thread that has been inactive for more than 6 months. If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.