XP/10.3 three disc dual boot problem

My “microsoft” disc has MSDOS-6.22 and XP-Pro installed and operating on a single 160Gb disc. The openSuSE 10.3 install is successfully installed and working on two other discs. My problem: the Linux boot will NOT recognize and mount the XP partition. When I run parted on the system this is the result for the “microsoft” disc:

jbb@pinball:~/src
(72):% parted -l
Warning: Unable to open /dev/sda read-write (Permission denied). /dev/sda has
been opened read-only.
Model: ATA ST3160023A (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 543MB 543MB primary fat16 boot, , , , , , , , , type=06, ,
2 543MB 160GB 159GB extended , , , , , , lba, , , type=0f, ,
5 543MB 160GB 159GB logical ntfs , , , , , , , , , type=07, ,

All three discs list as (scsi) and Partition table: msdos. What I see is the dual use of the same disc space for partitions 2 and 5. In any event, neither GRUB booting at startup nor any manual boot from Linux will mount the XP partition. Grub properly lists the "“microsoft” disc and allows a proper start of XP or MSDOS after the XP boot code runs. My problem arises because the mount program complains the XP partition, /dev/sda2, is not ntfs nor anything else it can recognize.

How do I alter that XP partition on /dev/sda so it will both be recognized by mount and be mounted along with the MSDOS partition? (ignore the read-write crap on the parted listing; jbb ain’t root)

I just mounted the XP partition as /dev/sda5. Is this the proper solution for fstab?

This is a pretty standard MS type allocation. There is a primary FAT 16 partition marked as active that is your MS-DOS partition. MS-DOS will only allow 1 primary partition on a drive so the rest of the space is allocated as an extended partition, this is partition 2 in the output you printed. You can’t actually use this without allocating “Logical Drives” within this space. In this case, a logical drive has been allocated to fill up the entire extended partition, This is partition 5, “logical ntfs”. If you mount sda5, you should be OK.

Booting XP from grub depends on how XP was installed, but you will probably have to boot sda1 and then use the XP boot menu to select XP or DOS. If your DOS partition existed when you installed XP, XP Setup will install NTLDR, the XP boot loader in partition 1. (Don’t ask, I never understood why)

Because the microsoft bootloader is tiny. It’s only job is to say “go find the active partition and read the first bytes of that”. Of course it you have a fat partition with dos on it – it is the active partition. So when you install XP it is aware of these politics and puts its booloader in the active partition, sda1, thinking, rightly, that it will be seen when the code in the Master Boot Record says once again “go find the active partition and read the first bytes of that”.
Neat really, very simple, very effective.