> 1) The partition table is moved from sector 0 to sector 1
> 2) Some code is written to sector 0. This code asks for a password and if
> you fail, you can't boot.

So far so good.

> I found the problem to be in initdisk.c, function ScanForPrimaryPartitions.
> What happens is that when the tool has moved the partition table to sector
> 1, startSector here is 1... and this line:
>    partitionStart = startSector + pEntry->RelSect;
> makes partitionStart be 64 in my case (because RelSect is 63 on this
> drive)... and the real start of the partition IS at sector 63!

You cannot "fix" that, because as far as I understand the purpose
of the tool, the partition table will LOOK as is if it is at the
NORMAL location while DOS is starting up. Otherwise, DOS would not
even find the partition table, as the tool would have hidden it.

If the tool somehow manages to make DOS aware of the moved
partition table, then still it would be the wrong fix to let
DOS shift all partitions by one sector: Actually it is a
bug in the tool then, and the tool should have subtracted
1 from RelSect at that point. In that case, the result of
the analysis would be that your tool is totally incompatible
with operating systems which support LBA (as opposed to only
CHS) disk geometry.


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
Freedos-user mailing list

Reply via email to