VOGONS


First post, by Lazer42

User metadata
Rank Newbie
Rank
Newbie

This is likely a relatively simple question but I'm needful of a somewhat quick answer so I decided to ask.

I have a system which dual boots between DOS 6.22 and Windows 98. The disk is a 32 GB SD card with an SD to IDE adapter.

The dual boot is set up with Master Booter. There is a FAT16 partition for DOS and a second FAT32 partition for Windows 98. I had left a gigabyte remaining for a third, shared partition to make it easy to transfer files between the two and to keep a few shared items on. It is supposed to be FAT16 so DOS can read it.

The Windows 98 system detects the shared partition fine. The DOS system does not. If I run fdisk from DOS, it recognizes a 3rd FAT16 partition of a gigabyte which it labels as drive D:, BUT if I try to access the drive from DOS it says Invalid drive specification. I am unsure if the problem may be that fdisk reports the 3rd partition is a primary DOS partition along with the boot drive also being a primary partition and it can only recognize one at a time, or if it's something else.

I can delete the shared partition from DOS, but if I do so it doesn't recognize there is any space left to create another partition. I'm assuming it doesn't know how to work with the SD card. Master Booter includes a utility called efdisk, but this will only create primary partitions.

If the problem is that I just need to allocate this extra gigabyte into an extended partition, what is a good tool which will allow me to do so and to get around the problems with fdisk and efdisk? If the problem is something else, what is it?

Reply 1 of 15, by Warlord

User metadata
Rank l33t
Rank
l33t

does the motherboard bios support disk that big? scratch that I don't think that IO.sys from dos 6.22 supports disks that big. If it was dos 7.10 instead of dos 6.22 I think it would work.

You might be able to get around this by making your shared partition the 2nd partition instead of the third.

Reply 2 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie
Warlord wrote on 2023-01-04, 04:43:

does the motherboard bios support disk that big? scratch that I don't think that IO.sys from dos 6.22 supports disks that big. If it was dos 7.10 instead of dos 6.22 I think it would work.

You might be able to get around this by making your shared partition the 2nd partition instead of the third.

I'm not sure that I understand why this would matter because DOS 6.22 is already recognizing the disk with the 1st partition. All of the partitions are on the same SD card and the primary DOS partition for 6.22 is 2 GB.

Reply 3 of 15, by Warlord

User metadata
Rank l33t
Rank
l33t

Dos 6.22 only supports 1 primary partition. You can have 1 primary partition 1 extended partition and 3 non primary partition in the extended partition. In addition Dos 6.22 will only recognize 8gb. So you can have a 2gb primary and 6gbs for extended.

I would try partitioning the drive differently. Or figure somthing else out. I can see how having dos 6.22 has nostagic value and even might give the experience, but how your trying to set up the share partition and everything might not be easy.

Reply 4 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie

I rearranged the partitions by splitting my second partition into two with unallocated space immediately after the DOS partition. Fdisk now recognizes the second partition as a valid extended DOS partition and tells me that it contains logical DOS drive D:, but when I try to access the drive DOS says that it does not exist.

Reply 5 of 15, by Warlord

User metadata
Rank l33t
Rank
l33t

Well you need another bootmanager for this to work probably, One that has partition hiding like
https://www.bttr-software.de/products/bootmgr/

If the bios will work with hard drives that big, than what you could do is. Create a 2gb primary active 1st partition, a 2 gb extended 2nd partition, and a 2gb logical partition in the extended partition for the share. Use another program to create a 2nd primary partition and format to fat32 the rest of the drive. Like windows XP. install the bootmgr. Install dos 6.22 on the 1st primary. Install 98se on the 2nd primary and halfway through install on the reboot patch in Rloews TB plus package because his pathed Io.sys allows 98se to work on disks with more than 1 primary partition.

Make sure you make backup of bootmgr boot loader settings after they are made becasue installing 98se will try to re write the bootsector.

Basically what you are trying to do is do things that are not the right way of doing things and thats why it doesn't work for you, but in 2023 we can hack things to work.

Reply 6 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie
Warlord wrote on 2023-01-04, 16:32:
Well you need another bootmanager for this to work probably, One that has partition hiding like https://www.bttr-software.de/pro […]
Show full quote

Well you need another bootmanager for this to work probably, One that has partition hiding like
https://www.bttr-software.de/products/bootmgr/

If the bios will work with hard drives that big, than what you could do is. Create a 2gb primary active 1st partition, a 2 gb extended 2nd partition, and a 2gb logical partition in the extended partition for the share. Use another program to create a 2nd primary partition and format to fat32 the rest of the drive. Like windows XP. install the bootmgr. Install dos 6.22 on the 1st primary. Install 98se on the 2nd primary and halfway through install on the reboot patch in Rloews TB plus package because his pathed Io.sys allows 98se to work on disks with more than 1 primary partition.

Make sure you make backup of bootmgr boot loader settings after they are made becasue installing 98se will try to re write the bootsector.

Basically what you are trying to do is do things that are not the right way of doing things and thats why it doesn't work for you, but in 2023 we can hack things to work.

To be clear, this is a setup which was already working as you are suggesting with a boot manager which hides partitions.

I had it set up with three partitions:

1) DOS
2) Win98se
3) storage

Master Booter uses its own bootloader and hides whichever of the OS partitions is not being used. For instance if you choose option one on boot, it hides partition 2 and boots from partition 1. If you choose option two, it hides partition 1 and boots to 2. This worked perfectly except that Windows 98 could see the 3rd partition while DOS couldn't. Actually, fdisk for DOS could see the second partition as a non-DOS partition and could see the third as a primary DOS partition but wouldn't work with it.

I took a gig and a half from the 2nd partition and put it after the 1st so it's now:

1) DOS
2) empty FAT16
3) WIN98se

The bootloader is still working and can still choose between DOS and Win98, though Win98 won't boot anymore because I altered its partition so I need to get that fixed.

Fdisk for DOS now sees that 2nd partition as a valid extended DOS partition and will let me put a logical DOS drive there. If I tell fdisk to show partition information it will list a logical drive D: on partition 2, but from DOS itself trying to access D: results in a drive does not exist error.

Reply 7 of 15, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

You don't need to hide any partition, as long as the Win9x partition is not FAT16 too.
Just ensure that all DOS readable partitions are within the first 8 GB, ending cylinder maximum 1021.
The Windows 98 partition should not start behind cylinder 1022.
I usually have a 5 gig 2000/XP partition too, just before the Win9x partition. Builtin NTLDR from 2000/XP is fine as boot manager.

If you face problems with invalid command.com, you need to change the logical (not physical!) order of the DOS and Win9x partition in the partition table.

Reply 8 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie
Disruptor wrote on 2023-01-04, 19:24:
You don't need to hide any partition, as long as the Win9x partition is not FAT16 too. Just ensure that all DOS readable partiti […]
Show full quote

You don't need to hide any partition, as long as the Win9x partition is not FAT16 too.
Just ensure that all DOS readable partitions are within the first 8 GB, ending cylinder maximum 1021.
The Windows 98 partition should not start behind cylinder 1022.
I usually have a 5 gig 2000/XP partition too, just before the Win9x partition. Builtin NTLDR from 2000/XP is fine as boot manager.

If you face problems with invalid command.com, you need to change the logical (not physical!) order of the DOS and Win9x partition in the partition table.

I'm not having any problem with booting. The boot manager it's set up with has it working fine for that. The problem is with DOS working with a non-boot partition. Right now the command line (and Windows 3.1 File Manager, for what it's worth) sees only the 1st partition, which is C:. Fdisk says there is a 2nd partition which is FAT16 and if I try to create a logical drive on that partition it tells me it already exists as drive D:, but outside fdisk's partition information screen still says it has no drive letter and outside of fdisk DOS acts like it doesn't exist.

Reply 10 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie
Disruptor wrote on 2023-01-04, 20:36:

Did you use DOS' fdisk or Win9x' fdisk to create the extended partition?

It was created with Windows 10's disk manager, which is the same thing I used to create the primary partition that DOS is happily booting from.

Reply 11 of 15, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Lazer42 wrote on 2023-01-04, 20:52:
Disruptor wrote on 2023-01-04, 20:36:

Did you use DOS' fdisk or Win9x' fdisk to create the extended partition?

It was created with Windows 10's disk manager, which is the same thing I used to create the primary partition that DOS is happily booting from.

Oh my god.
Please never make CHS partitions like to be used with DOS with Windows Vista, 7, 8, 8.1, 10 or 11 disk manager.
It does not care about old style CHS alignment which is absolutely needed for DOS.

Reply 12 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie
Disruptor wrote on 2023-01-04, 21:46:
Oh my god. Please never make CHS partitions like to be used with DOS with Windows Vista, 7, 8, 8.1, 10 or 11 disk manager. It do […]
Show full quote
Lazer42 wrote on 2023-01-04, 20:52:
Disruptor wrote on 2023-01-04, 20:36:

Did you use DOS' fdisk or Win9x' fdisk to create the extended partition?

It was created with Windows 10's disk manager, which is the same thing I used to create the primary partition that DOS is happily booting from.

Oh my god.
Please never make CHS partitions like to be used with DOS with Windows Vista, 7, 8, 8.1, 10 or 11 disk manager.
It does not care about old style CHS alignment which is absolutely needed for DOS.

I admit to being at least a little surprised that this seems to have been a problem because as I said it was working just fine with partitions created this way until I decided to get the shared drive working.

In any event, I have gotten it fully working now after by using DOS' fdisk to delete the 2nd partition and recreate it.

Reply 14 of 15, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Sometimes I wonder myself how fast I ask the aiming question.

Information for experts:
When I need to optimize partitions for cluster alignment, I don't let the first partition start at CHS 0/1/1 but at 0/8/1, because there is no longer a 63 sector gap, but leads to a 4k alignment. I try to care about this on the other partitions too.
This seems to be important with 4k-native disks that emulate 512 byte sectors, and also with SSDs.

Reply 15 of 15, by Lazer42

User metadata
Rank Newbie
Rank
Newbie
Warlord wrote on 2023-01-04, 23:32:

glad to hear you fixed it. I had no idea you were nuking your drive with win 10, its no wonder.

I suppose. Like I said, it had worked fine for over a year using partitions created and formatted by Windows 10. I actually used that tool based on recommendations from old posts here on Vogons about setting up retro dual boot systems.