VOGONS


First post, by xtreger

User metadata
Rank Member
Rank
Member

Hi, I've set up my hard disk as follows (all LBA):

2 Gb FAT16 PRIMARY (DOS 7.1 via REMOVED) +
196 Gb FAT32 PRIMARY (Win98SE) +
EXTENDED
(196 Gb FAT32 +
198 Gb NTFS (WinXP) +
196 Gb FAT32 +
164 Gb FAT32).

I installed DOS 7.1 first, then Win98SE, then WinXP. All partitions are visible, and the Win98SE partition is active. As of now the NTLDR boot menu shows Win98 and XP only. I want it to also show DOS from the 1st partition. I have tried adding the drive letter H:\ (which corresponds to the FAT16 partition in WinXP explorer) as an option in boot.ini, but that doesn't work (just restarts the system if I select that option in the boot menu).

I also tried winimage boorpart, but that also does not work. So I wanted to ask: is there a procedure I can follow to successfully add DOS 7.1 as a bootable option in the NTLDR menu?

Last edited by DosFreak on 2024-07-07, 17:32. Edited 1 time in total.

Reply 1 of 10, by quwy

User metadata
Rank Newbie
Rank
Newbie

You need to grab DOS partition boot sector (first 512 bytes of the raw partition space) into file "DOS.BR", put it to the root of XP partition, and add to BOOT.INI line such this:

C:\DOS.BR="DOS 7.1"

(the win98 also must to have own line like above)

VMT/VMTCE & ChkFlsh author.

Reply 2 of 10, by xtreger

User metadata
Rank Member
Rank
Member
quwy wrote on 2024-06-18, 15:59:
You need to grab DOS partition boot sector (first 512 bytes of the raw partition space) into file "DOS.BR", put it to the root o […]
Show full quote

You need to grab DOS partition boot sector (first 512 bytes of the raw partition space) into file "DOS.BR", put it to the root of XP partition, and add to BOOT.INI line such this:

C:\DOS.BR="DOS 7.1"

(the win98 also must to have own line like above)

Thanks! A few questions: I only see BOOT.INI in the C:\ drive (where Win98SE is installed). Is there any other BOOT.INI in XP as well? I ask because you mentioned "win98 almost must have own line", so I'm guessing in both OS there is some ini file that I have to edit.

Secondly, how do I grab DOS partition boot sector? Is there some tool I can use for that? I have googled and found only 1 tool - dd. But it seems specific to linux and disks partitioned using gparted..

Reply 3 of 10, by quwy

User metadata
Rank Newbie
Rank
Newbie
xtreger wrote on 2024-06-18, 16:32:

I only see BOOT.INI in the C:\ drive (where Win98SE is installed).

This means you have XP boot manager on the win98 root (install XP after 98 was already bootable).
It is working solution but people don't usually do that. Better will firstly install XP, then make another FAT[32] partition active, install here 98, and finally add 98 boot sector to XP loader in the BOOT.INI as I wrote above.

Secondly, how do I grab DOS partition boot sector? Is there some tool I can use for that? I have googled and found only 1 tool - dd. But it seems specific to linux and disks partitioned using gparted..

dd will enough, just run:

dd if=/dev/dos_partition_device of=/path/to/DOS.BR bs=512 count=1

But you free to use and specialized tool, like bootpart, which will do all automatically.

VMT/VMTCE & ChkFlsh author.

Reply 4 of 10, by xtreger

User metadata
Rank Member
Rank
Member
quwy wrote on 2024-06-18, 17:43:
This means you have XP boot manager on the win98 root (install XP after 98 was already bootable). It is working solution but peo […]
Show full quote
xtreger wrote on 2024-06-18, 16:32:

I only see BOOT.INI in the C:\ drive (where Win98SE is installed).

This means you have XP boot manager on the win98 root (install XP after 98 was already bootable).
It is working solution but people don't usually do that. Better will firstly install XP, then make another FAT[32] partition active, install here 98, and finally add 98 boot sector to XP loader in the BOOT.INI as I wrote above.

Secondly, how do I grab DOS partition boot sector? Is there some tool I can use for that? I have googled and found only 1 tool - dd. But it seems specific to linux and disks partitioned using gparted..

dd will enough, just run:

dd if=/dev/dos_partition_device of=/path/to/DOS.BR bs=512 count=1

But you free to use and specialized tool, like bootpart, which will do all automatically.

I tried bootpart. Ref below screenshot to get an idea about the disk structure and the command I used to save boot sector to a file.

The attachment IMG_1555.jpg is no longer available

Then I added C:\BOOTDOS.BIN="MS-DOS" as a line to boot.ini. The problem is that even on selecting "MS-DOS" from the boot menu, Windows 98 starts instead of DOS.

Reply 5 of 10, by quwy

User metadata
Rank Newbie
Rank
Newbie

Can you explain what OS is installed on each partition? I see "1" is active and guess it is win98 host. "0" -- is a your DOS partition?

In any case remove your new line from BOOT.INI and try this:

bootpart 0 C:\bootdos.bin "MS-DOS"

Program will grab boot sector and append line to the BOOT.INI by himself.

VMT/VMTCE & ChkFlsh author.

Reply 6 of 10, by xtreger

User metadata
Rank Member
Rank
Member
quwy wrote on 2024-06-18, 18:36:
Can you explain what OS is installed on each partition? I see "1" is active and guess it is win98 host. "0" -- is a your DOS pa […]
Show full quote

Can you explain what OS is installed on each partition? I see "1" is active and guess it is win98 host. "0" -- is a your DOS partition?

In any case remove your new line from BOOT.INI and try this:

bootpart 0 C:\bootdos.bin "MS-DOS"

Program will grab boot sector and append line to the BOOT.INI by himself.

Yes, "0" is the DOS partition. "1" is the Win98 host. And I also tried the command you gave. Same result - selecting MS-DOS just starts Win98

Reply 7 of 10, by quwy

User metadata
Rank Newbie
Rank
Newbie

What if temporary make DOS partition (0) active?

VMT/VMTCE & ChkFlsh author.

Reply 8 of 10, by xtreger

User metadata
Rank Member
Rank
Member
quwy wrote on 2024-06-18, 19:53:

What if temporary make DOS partition (0) active?

If I make partition (0) active, then Win98 doesn't boot at all - that starts DOS 7.1 instead. So basically, whichever primary partition is active, only the OS residing in that partition boots. Regardless of whether I select DOS or Win98 from the NTLDR menu

Reply 9 of 10, by quwy

User metadata
Rank Newbie
Rank
Newbie

Is is very strange. I do that hundred times and has no problem. But I always was use another tool...

Do you have old DOS version of Norton Disk Editor (de.exe)?

Find it and run, if dialog "Select the disk you wish edit" does not appear at start, select menu Object->Drive (or press Alt+D).
In the disk selection dialog set Type: "Physical disks", and select "Hard Disk 1".
You will see a HEX field, now press F6 and you see your partition table. Select by arrows key needed partition (first) and press Enter.
You will see details about partition (OEM ID, geometry etc), now press Alt+W to open "object save dialog". Due to option "to a file" already selected, just press Enter.
File save dialog will appear, now browse to win98 root folder, and save file with any name.
Quit disk editor (Alt+X), check for your file really exists (it will 1.5 KB size, is is normal), and add it to the BOOT.INI by usually way.

This must to work at 100% cases.

VMT/VMTCE & ChkFlsh author.

Reply 10 of 10, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
xtreger wrote on 2024-06-18, 14:42:
Hi, I've set up my hard disk as follows (all LBA): […]
Show full quote

Hi, I've set up my hard disk as follows (all LBA):

2 Gb FAT16 PRIMARY (DOS 7.1 via REMOVED) +
196 Gb FAT32 PRIMARY (Win98SE) +
EXTENDED
(196 Gb FAT32 +
198 Gb NTFS (WinXP) +
196 Gb FAT32 +
164 Gb FAT32).

I installed DOS 7.1 first, then Win98SE, then WinXP. All partitions are visible, and the Win98SE partition is active. As of now the NTLDR boot menu shows Win98 and XP only. I want it to also show DOS from the 1st partition. I have tried adding the drive letter H:\ (which corresponds to the FAT16 partition in WinXP explorer) as an option in boot.ini, but that doesn't work (just restarts the system if I select that option in the boot menu).

I also tried winimage boorpart, but that also does not work. So I wanted to ask: is there a procedure I can follow to successfully add DOS 7.1 as a bootable option in the NTLDR menu?

Sorry but I find this partitioning a bit odd...

I think Windows 9x setup would certainly install its system files (IO.SYS and such) to the currently active partition (C:), so if your DOS 7.1 (FAT16) partition was active at that time the system files will certainly get replaced.

Did you set Win98SE's partition active prior to running Windows setup? Should point out that whichever partition you set active becomes C: regardless of the disk's physical order, and in this way you could probably avoid Windows setup from touching your DOS 7.1 install assuming it's well-behaved...

On the other hand, when I used DOS 7.10 (REMOVED) a long time ago, it's entirely possible for me to just install Win98SE first then install DOS 7.10 (REMOVED) on top of it and both will happily coexist -- DOS 7.10 (REMOVED) IO.SYS can run Win98SE (WIN.COM) just fine. It's optional to dedicate a partition for DOS 7.10.

If you insist on putting DOS 7.10 on a separate FAT16 partition, with your current layout (Win98SE being active C:), and assuming your DOS 7.10 partition was neither touched by Win98SE setup nor WinXP, you could probably chain a recent version of GRUB4DOS (GRLDR) from NTLDR and use it to boot DOS7.10's IO.SYS directly, without relying on a boot sector file.

However, under this circumstance, you probably need to somehow temporarily "swap" your active partitions so that your DOS7.10 partition would become C: when you boot into it, if DOS7.10's CONFIG/AUTOEXEC explicitly specified C:, or you may run into problems.