VOGONS


First post, by relo999

User metadata
Rank Newbie
Rank
Newbie

Got a new socket 7 machine and not so keen on going through fdisk and all that. So is there a way of doing that on Windows 11 and make it so I can just plug it into the new machine and have it work?

I have data backed up from a different system.
Is there a way to prepare a HDD for DOS and Windows 98se on Windows 11? Just DOS would be fine to.

I have a USB IDE HDD reader.

Reply 1 of 12, by jakethompson1

User metadata
Rank l33t
Rank
l33t

It's best to fdisk and format /s the drive in the vintage machine. Then, temporarily move the drive to the modern machine, and copy \WIN98 directory from the Win98 installation CD-ROM, to the drive. Then, move it back to the vintage machine, boot, and run setup from the WIN98 directory.

Trying to partition and format in the modern machine can be an exercise in frustration if your old machine has limitations. The FAT32 type in the partition table changes depending on whether the BIOS has Int13h Extensions or not, for example.

The Win98 setup wizard also tailors itself to your hardware during install, based on probing for ISA devices, enumerating ISAPNP devices, consulting the BIOS/ESCD table, looking at PCI vendor/device IDs, and so on, so it really needs to run on the machine. Moving Win98 drives between machines causes a flurry of "New Hardware Found" prompts as the system rediscovers all the hardware, and can result in a randomly broken system.

Reply 2 of 12, by chinny22

User metadata
Rank l33t++
Rank
l33t++

Fully agree with the above.
Fdisk the hard drive in the system you want to use it in. then you know it's set up in a way the old PC understands.

As you seem to not enjoy running up the system, I'd suggest 2 partitions. That way you can permanently have the win98 install files on the drive should you ever need to reinstall. I'm just not sure if the USB reader will allow this

Reply 3 of 12, by Retroplayer

User metadata
Rank Newbie
Rank
Newbie

Another method is to use Rufus, change the image to MS-DOS and it will create the boot sector and copy DOS 6.22 files to the drive. Then just replace everything on the drive with your copy.

The requirements are:
Partition marked active
Boot sector (newer operating systems don't create the correct boot sector or partition ID)
And the system files: io.sys, msdos.sys, command.com

What FDISK does is install that boot sector and mark the partition active. Rufus can do that for you.

I have done this several times when replacing the old hard drives on our test systems (DOS, 95,98, NT) with compactflash at work.

If you are doing it this way because your floppy drive is not working or you do not have the ability to make floppies anyway, toss in a gotek drive.

Having said that:

If you have the possibility (meaning you have a way of doing it directly on the system - floppy, CDROM, etc..), that is the best approach.
If you are installing the OS on a completely different system (in my case, it is the same system) then it is better to just install from the target machine.

However, if there is special installed software you need from the original installation and you do not have the installation media and/or don't have the specific configuration details of that software, dealing with resolving the driver issues is a smaller problem.

Be mindful of your partition size limits. Use one of free partition manager tools to resize and align the drive after rufus is done.

I agree with the above responses that very best way is to do it all on the target system, but wanted to give you a direct answer to your question in case the above scenario is your reason for doing it the way you intend. That is why I have had to do it that way. This is NOT the best or even easiest way. It is just sometimes a necessary method.

If you do have at least the means to boot and use fidsk and sys the disk on the target machine, at least do that and then copy over your backed up drive. No rufus or partition manager involved.

Reply 4 of 12, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Please do NOT use integrated partition tools in Windows Vista, 7, 8, 8.1, 10 and 11 to prepare partitions for a disk being used in a DOS based system, including Windows 95, 98 and Me.
First make megabyte-aligned partitions and do not care about the requirement for CHS-aligned partitions on the older systems.

Reply 5 of 12, by Matth79

User metadata
Rank Oldbie
Rank
Oldbie
Disruptor wrote on 2025-09-04, 14:36:

Please do NOT use integrated partition tools in Windows Vista, 7, 8, 8.1, 10 and 11 to prepare partitions for a disk being used in a DOS based system, including Windows 95, 98 and Me.
First make megabyte-aligned partitions and do not care about the requirement for CHS-aligned partitions on the older systems.

Yes, 7 and up are better for making a SSD aligned partition for XP, mitigating one of the issues of it not being SSD aware.
For 4k sector 512e "advanced format" HDD, there will often be a jumper which will shift so that pre-7 partitioning will be aligned

Reply 6 of 12, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Yep, partition and format using DOS tools in the actual DOS machine. If this is too much trouble for you, maybe you shouldn't be using DOS.

World's foremost 486 enjoyer.

Reply 8 of 12, by megatron-uk

User metadata
Rank l33t
Rank
l33t

You can of course prepare a disk on another machine, and sometimes this is the only option; e.g. in the case of a laptop with no floppy or optical drives.

My process in the above case is to use QEMU under Linux.

I attach the hard drive via USB, which gives it a device name, then boot QEMU against the raw device using a floppy image.

If this is for a machine with lba support I'll boot direct from a win98se floppy, format and then sys the hard drive.

If it is for a machine without lba or with some other artificial drive capacity limit then I'll boot QEMU from on ontrack DDO floppy first, install the overlay then reboot QEMU with the win98se floppy.

Something like:

qemu-system-i386 -drive file=/dev/sde,format=raw -fda win98se.img -boot menu=on

Where /dev/sde is the device name of the drive I've connected via usb, and the win98se.img is the raw sector copy of the Win 98 boot floppy.

Then just transfer the drive to the target machine.

My collection database and technical wiki:
https://www.target-earth.net

Reply 9 of 12, by jakethompson1

User metadata
Rank l33t
Rank
l33t

That makes sense, only place where it could go wrong is preparing for a machine that has LBA but has the 8.4GB limit, as that determines partition type 0C vs. 0B.

Of course, if you understand this, and looking at the MBR in a hex-editor or Linux fdisk if needed to check the CHS situation and so forth, you don't need the admonishment to only partition in the destination machine

Reply 10 of 12, by relo999

User metadata
Rank Newbie
Rank
Newbie

Just did it the classic way with a CD, nothing special. Was hoping for some standard disk image or easy installer program on Win11.
Went with 7.1 for DOS, tried 6.22 but the lack of big drive support was annoying (with a 120GB drive in the system). And I've set up a custom boot menu with BootGUI=0.
Worst thing as of yet was installing AWE32 for DOS only and forgetting that I had turned off my cache's before starting the install and noticing 2~3 hours in.

And don't worry, I'm aware I can't just use Win11's default formatter. Spinning rust and remembering rocks have different way of getting memory.

The only issue I still have is that the memory mappers don't play nice as I get "There is an error in Config.Sys at line..."

With it pointing to these lines (even if these are the only lines in config):

Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH

Maybe some Win98 thing I'm missing or some BIOS setting? No clue how to fix that.

Reply 11 of 12, by jakethompson1

User metadata
Rank l33t
Rank
l33t
relo999 wrote on 2025-09-08, 01:36:
The only issue I still have is that the memory mappers don't play nice as I get "There is an error in Config.Sys at line..." […]
Show full quote

The only issue I still have is that the memory mappers don't play nice as I get "There is an error in Config.Sys at line..."

With it pointing to these lines (even if these are the only lines in config):

Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH

That looks valid, what editor did you use? It's probably not these but they would be hard to chase down if you aren't thinking of them: Unicode BOM at the beginning of the file or Unix-style (LF) line endings, both of which could happen if you used a GUI text editor and copied the file over.

Reply 12 of 12, by relo999

User metadata
Rank Newbie
Rank
Newbie

Using notepad and notepad++

Maybe useful information:
running the commands manually gives me for a "bad command or filename error" for himem.sys and for emm386.exe it gives me a "invalid parameters -ram" error

Full Config:

[menu]
SUBMENU=DOS,Start DOS.
SUBMENU=WIN,Start Windows.
MENUDEFAULT=WIN,10

[WIN]
MENUITEM=W0,With nothing loaded.
MENUITEM=W1,With all DOS Drivers.
SUBMENU=DOS,Start DOS instead.
MENUDEFAULT=W0,3


[DOS]
SUBMENU=D0,K6
SUBMENU=D1,Pentium
SUBMENU=D2,486
SUBMENU=D3,386
SUBMENU=WIN,Load Windows instead.

[D0]
SUBMENU=K0,DOS Only. (Conventional memory Only)
SUBMENU=K1,DOS and HIMEM. (Extended memory)
SUBMENU=K2,DOS, HIMEM and EMM386 (Expanded memory)
SUBMENU=K3,DOS, HIMEM, EMM386 and MOUSE.
SUBMENU=WIN,Load Windows instead.

[D1]
SUBMENU=P0,DOS Only. (Conventional memory Only)
SUBMENU=P1,DOS and HIMEM. (Extended memory)
SUBMENU=P2,DOS, HIMEM and EMM386 (Expanded memory)
SUBMENU=P3,DOS, HIMEM, EMM386 and MOUSE.
SUBMENU=WIN,Load Windows instead.

[D2]
SUBMENU=40,DOS Only. (Conventional memory Only)
SUBMENU=41,DOS and HIMEM. (Extended memory)
SUBMENU=42,DOS, HIMEM and EMM386 (Expanded memory)
SUBMENU=43,DOS, HIMEM, EMM386 and MOUSE.
SUBMENU=WIN,Load Windows instead.

[D3]
SUBMENU=30,DOS Only. (Conventional memory Only)
SUBMENU=31,DOS and HIMEM. (Extended memory)
SUBMENU=32,DOS, HIMEM and EMM386 (Expanded memory)
SUBMENU=33,DOS, HIMEM, EMM386 and MOUSE.
SUBMENU=WIN,Load Windows instead.


[K0]
;empty

[K1]
Device=c:\windows\himem.sys /testmem:off
DOS=HIGH

[K2]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH
Show last 89 lines

[K3]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
;mouse
DOS=UMB
DOS=HIGH


[P0]
;empty

[P1]
Device=c:\windows\himem.sys /testmem:off
DOS=HIGH

[P2]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH

[P3]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
;mouse
DOS=UMB
DOS=HIGH


[40]
;empty

[41]
Device=c:\windows\himem.sys /testmem:off
DOS=HIGH

[42]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH

[43]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
;mouse
DOS=UMB
DOS=HIGH


[30]
;empty

[31]
Device=c:\windows\himem.sys /testmem:off
DOS=HIGH

[32]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH

[33]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
;mouse
DOS=UMB
DOS=HIGH


[W0]
;JUST LOAD WINDOWS

[W1]
Device=c:\windows\himem.sys /testmem:off
Device=c:\windows\emm386.exe ram d=64 min=0
DOS=UMB
DOS=HIGH
; ON NOEMS W=OFF


[COMMON]
FILES=30
DEVICE=C:\DRIVERS\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:220 I:5 D:1 H:5 /WIN95
DEVICE=C:\DRIVERS\SB16\DRV\CTMMSYS.SYS
BUFFERS=30
LASTDRIVE=H

Full AutoExec

LH C:\WINDOWS\AU30DOS.COM
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS
SET WINBOOTDIR=
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
SET CTCM=C:\DRIVERS\SBAWE\CTCM
SET SOUND=C:\DRIVERS\SBAWE
C:\DRIVERS\SBAWE\CTCM\CTCM.EXE
C:\DRIVERS\SBAWE\DIAGNOSE /S
C:\DRIVERS\SBAWE\AWEUTIL /S
C:\DRIVERS\SBAWE\MIXERSET /P /Q



GoTo %config%
:W0
C:\WINDOWS\WIN.COM
GOTO End

:W1
C:\WINDOWS\WIN.COM
GOTO End

:K0
GOTO End

:K1
GOTO End

:K2
GOTO End

:K3
C:\DRIVERS\MOUSE\CTMOUSE.EXE
GOTO End


:P0
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2E
GOTO End

:P1
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2E
GOTO End

:P2
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2E
GOTO End

:P3
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2E
C:\DRIVERS\MOUSE\CTMOUSE.EXE
GOTO End


:40
Show last 38 lines
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
GOTO End

:41
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
GOTO End

:42
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
GOTO End

:43
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
C:\DRIVERS\MOUSE\CTMOUSE.EXE
GOTO End


:30
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
GOTO End

:31
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
GOTO End

:32
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
GOTO End

:33
IF EXISTS C:\K6\SETMUL\SETMUL.EXE CALL C:\K6\SETMUL\SETMUL.EXE /2 L1D L2D
C:\DRIVERS\MOUSE\CTMOUSE.EXE
GOTO End

:End