I did some tests with a 19,5 GB Harddisk partitioned in Windows 7 as
9000 MB Primary | 3000 MB Primary | 3000 MB Primary | Extended about 4500 MB
Then I made 3 Logical drives in Extended - 2000 MB | 1000 MB | 1500 MB
Note that in Windows 7 the Extended Partition is created automatically
and ONLY after 3 Primary Partitions have been defined.
After reboot with XP I made some Screenshots before and after setting Active the second partition.
All of a sudden the second and third Logical drive of the Extended Partition disappeared.
It turned out that the daisychain of EPBR's was broken,
because Set Active of XP disk Management wiped in EPBR1 the entry indicating the location of EPBR2
Note that all partitions end nicely at cylinder boundary (H=254 S=63)
The problem only occurs for second and higher Logical Drives created with Vista or Windows 7,
which disappear when XP Disk Management is used to Change the Active Setting of the Primary partitions.
MBR and all EPBR's and all partition Ends are well aligned at Cylinder boundary,
but it seems that XP has a bug in computing which Logical drives are valid for the EPBR daisychain.
The number of hidden sectors (2048 for Window 7 and 63 for XP) is may be not taken properly into account.
Simply using TinyHexer to restore EPBR1 from Backup created previously with MBR_Backup.cmd
did solve the problem. On Reboot the missing Logical drives reappeared.
To create a valid daisychain which is insensitive to using Set Active,
it is needed to remove the first Logical Drive with XP Disk Management and
then to recreate new Logical drives having 63 hidden sectors.
EDIT:
P.S. Changing in EPBR1-3 the partition start from C/H/S = 1023/254/63 into 255/32/33 or in 1023/32/33
did NOT solve the problem.
It must be concluded that the value of 2048 for hidden sectors is not taken properly into account by XP
in the check for a valid daisychain of EPBR's.
The problem of loosing Logical drives on using Set Active in XP disk Management can be avoided by
making with Vista or Windows 7 Disk Management NOT more than 4 partitions.
=
=
AFTER Set Active
=
=
=
After Set Active
=
This all confirms observations done earlier by
edborg