To: Zeuspaul who wrote (5886 ) 2/5/1999 3:24:00 AM From: Spots Read Replies (1) | Respond to of 14778
>>Two primary unhidden partitions may be an issue. You may have to hide and unhide partitions The master boot record, or MBR (the first physical disk sector) contains the partition table, which has room for 4 entries. The bios looks in the table and boots the first one marked active. Booting consists of loading the partition boot sector (first physical sector in each partition) and jumping to the code there. This process is not OS dependent, though the contents of the partition boot sector is OS dependent. A boot manager is a small, special-purpos OS and boots like any other OS, incidentally. There are no hidden partitions to the bios; only to an operating system. A byte of the partition table specifies the type of partition. OS file systems only recognize partitions they know how to deal with (except disk utilities that look at the MBR, such as FDISK or NT's Disk Manager). Partition managers like PM can hide a partition by giving it a partition type that standard OSs don't recognize (preferably one that encodes the file system so PM can put it back to unhide it <g>). If you look at FDISK, you should be able to see these partitions, as well as NTFS partitions, which are also invisible to DOS. It is my strong impression that DOS will see only the active primary partition and act as though the others were hidden, even if they have a FAT16 file system that DOS can recognize. I haven't tried it myself, though. I have a somewhat less strong impression that Win95/98 also only recognize the active primary partition. It may also be that DOS 7.0 and 7.1 (the Win 95 and 98 versions of DOS) will see more than one primary partition. Anyhow, NT will see all four of them, provided they are fat or NTFS. And provided they're there of course <g>. Note: None of this post applies to extended partitions. That's another topic. BTW, there's no rule that says there must be an active primary partition on a disk, though the bios won't boot the disk if there isn't one. DOS can see a primary partition that's not active. I suppose the first one if there's more than one, but I haven't tried it. You're not supposed to have more than one partition marked active, though it's physically possible in the partition table. Just for grins (well, more like ROFLMAO), I've copied the layout, etc, of the partition table below for your edification and amazement: The information about primary partitions and an extended partition is contained in the Partition Table, a 64-byte data structure located in the same sector as the Master Boot Record (cylinder 0, head 0, sector 1). The Partition Table conforms to a standard layout that is independent of the operating system. Each Partition Table entry is 16 bytes long, making a maximum of four entries available. Each entry starts at a predetermined offset from the beginning of the sector, as follows: · Partition 1 0x01BE (446) · Partition 2 0x01CE (462) · Partition 3 0x01DE (478) · Partition 4 0x01EE (494) The last two bytes in the sector are a signature word for the sector and are always 0x55AA. The next figure is a printout of the Partition Table for the disk shown in Figure 17.4, presented earlier in this chapter. When there are fewer than four partitions, the remaining fields are all zeros. 80 01 .. 000001C0: 01 00 06 0F 7F 96 3F 00 - 00 00 51 42 06 00 00 00 .....?...QB.... 000001D0: 41 97 07 0F FF 2C 90 42 - 06 00 A0 3E 06 00 00 00 A....,.B...>.... 000001E0: C1 2D 05 0F FF 92 30 81 - 0C 00 A0 91 01 00 00 00 .-....0......... 000001F0: C1 93 01 0F FF A6 D0 12 - 0E 00 C0 4E 00 00 55 AA ...........N..U. Figure 17.11 Partition Table from an x86-based computer The following table describes each entry in the Partition Table. The sample values correspond to the information for partition 1 in Figure 17.11. Table 17.3 Partition Table Fields Byte Offset Field Length Sample Value Meaning 00 BYTE 0x80 Boot Indicator. Indicates whether the partition is the system partition. Legal values are: 00 = Do not use for booting. 80 = System partition. 01 BYTE 0x01 Starting Head. 02 6 bits 0x01 Starting Sector. Only bits 0-5 are used. Bits 6-7 are the upper two bits for the Starting Cylinder field. 03 10 bits 0x00 Starting Cylinder. This field contains the lower 8 bits of the cylinder value. Starting cylinder is thus a 10-bit number, with a maximum value of 1023. 04 BYTE 0x06 System ID. This byte defines the volume type. In Windows NT, it also indicates that a partition is part of a volume that requires the use of the HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry subkey. 05 BYTE 0x0F Ending Head. 06 6 bits 0x3F Ending Sector. Only bits 0-5 are used. Bits 6-7 are the upper two bits for the Ending Cylinder field. 07 10 bits 0x196 Ending Cylinder. This field contains the lower 8 bits of the cylinder value. Ending cylinder is thus a 10-bit number, with a maximum value of 1023. 08 DWORD 3F 00 00 00 Relative Sector. 12 DWORD 51 42 06 00 Total Sectors.