ruthan Posted May 29 Posted May 29 Hi, im trying to install Windows 98 on machine without PS/2 ports, only with serial mouse working, im stuck on computer name screen, where is empty computer name and i have to put some name in it. There is not any USB legacy setting in the bios. I have tried Windows 98 quick install, but disk controller is not found, but stock install is see disk fine. I already reported Quick install bug. https://github.com/oerg866/win98-quickinstall bug - https://github.com/oerg866/win98-quickinstall/issues/41#issuecomment-2912779878 I also now there is unattended install options, but im afraid that it will mess with disk partitioning. Have USB keyboard working in DOS - have tried USBDDOS driver: https://github.com/crazii/USBDDOS , but its not working for second part of the install, only mouse does. So question is can somehow edit some install setup files or half installed registry add insert needed strings like Computer name and later Windows serial Key. Maybe i can just one only part of unattended install script.. Tried to google this problem, im not first one with it, but i had to found right keywords..
deomsh Posted May 29 Posted May 29 Search for MSBATCH.INF + use https://learn.microsoft.com/en-us/previous-versions//cc768165(v=technet.10)
ruthan Posted May 30 Author Posted May 30 Well question is i can use it in the middle already started installation, or i need to start whole installation again? I have found some unattended script here, it seems that it could be possible to replicate the steps manually.. Im only not know if every small step would be saved by installation progress or not.. because it would make it much more complicated. I also struggle to find some GUI regedit compatible with Windows 98 to use it from Live Windows CD, registry they have different structure and and the most of Registry editors are for NT4 or Win2000+. I tired to find some GUI WIndows registry editor for Linux, but it does seems to exist, there is only CMD line one chntpw use like this: sudo chntpw -e /media/mint/WinNT4-System/WINNT/system32/config/system // You need different patch based where you Windows install is located and how that partition is mounted inside Linux and its annoyingly CaseSenSitiVe It works fine for WIndows NT, but not for Win9x, not recognize is structure when i point it into system.dat , or user.dat There are Registry reditors, which are running fine on the live Windows 9x settion like Registry Workshop 2.x, but load registry hive from the other partition seems to be problem. Windows XP inbuild registry editor is not compatible with Win9x hive, or im doing something wrong.
deomsh Posted May 30 Posted May 30 1 hour ago, ruthan said: Well question is i can use it in the middle already started installation, or i need to start whole installation again? I have no idea, try Setup without the switch /nr - Setup should ask if you want to process existing Registry (if I remember well). Better backup first, if possible.
ruthan Posted May 30 Author Posted May 30 Ok i have created whole new script, with all parameters, now its running, im will let you know and upload the script, in link above are parameters without description i found and added a bit more explanations to the script. I run it this way: setup RUnatend.INF /ie /im /is /iv /nr ; name of batch has to be before parameters, also it took quite a lot of time to start, after initial progress bar reach 100% There was only problem with warning messages about first NTFS partition, its SU0012 abd SU0015.. Im lucky enough to have mouse and keyboard running at the start of install, but someone could not have such options. Im not sure if it could be fooled, but hiding this partition and of course, you can make backup,delete it and recover it after Win98 install.. Or maybe its enough to make FAT32 partition first.. I made NTFS partition first, because Windows NT bootloader at least on some machines has i problem to start far from disk start, im not sure if problem is 2GB or 8GB and it could change if service pack integration to WinNT installer. Other i copied win98 directory on the started partition and and started it. Other issue is that setup has to be started from FAT32 primary active partition on the first disk, otherwise it need FAT32 or maybe FAT16 on the first disk.. So i removed SCSI controller with Disc Array which was reported as first disk. I btw found some project using BootIT manager and FAT16+ partition hiding for all systems from Dos+Win3, to Windows 2003, all except Win NT4 which maybe really require NTFS or FAT32(less likely).
ruthan Posted May 30 Author Posted May 30 (edited) Ok i finished installation, with attached script + batch file to start it, just change your Windows 98 product key, you can edit other things like hostname or Windows folder name etc, but like 99% of these except product key could be edited later. I was not entirely smooth, after second its there was freeze on HW detection, problem could be loaded USBDDos.Exe /Hid driver, i loaded it by mistake. It also seems that script is not deleting (or because of some bug at least not my machine) Autoexec.bat or Config.sys - stayed and in config was already HimemX.exe line to fix 512+ MB problem. DEVICE=C:\DRIVERS\HIMEMX.EXE /MAX=1148576 /NUMHANDLES=64 /METHOD:FAST /VERBOSE Normally is in this phase, my machine crash with io.sys and himem.sys error and i have to install io.sys 512+ MB patch and copy himemX.exe instead Himem.SYS to Windows directory... and had line above in config.sys and change vcache parameters in WIndows\System.ini for these: MaxFileCache=261120 MinFileCache=32768 ChunkSize=4096 I already replaced WIN98_54.CAB with Rloew patch, but other patches are probably needed to bypass manual io.sys patching. After one more restart, i installation finished, i saw how it progress fine after Computer name screen, all seemed ok, and i got stuck on shutdown screen, machine not should down (which i my machine specific), so i restarted and next boot freeze, which i sort of expected.. I tried to boot in safe mode, but got IO.SYS crash as expected - so i patched it as above and copied again himem.exe into win directory (before i loaded it from other directory) and edited system.ini - after it, i was finally boot into safe mode and i desktop loaded = installation finished.. if not you will get info, that installation not finished and safe mode is not available.. So all fine, i now will make partition image.. and fiddle with right RLoew driver get SATA controller in ATA mode working with DMA, which is probably reason of non safe mode working. Its Dell PowerEdge 1950 modded for retro gaming so i not expected easy job.. its using wild storage IRQ like 23 and 78. At the end make own unattended script mod wasn't hard and it does not took too much time. Thx for help. After i plan to mess with NT4, which seems to be even more "fun", so far its rebooting during setup loading... !Unattended-AutomaticInstall-ToQuickInstall-AndBy-No-Working-KeyboardAndMouse.zip Edited May 30 by ruthan
deomsh Posted May 31 Posted May 31 Good However: your Setup-description not sound like a FULLY unattended setup. Better add following lines to your MSBATCH.INF: [Install] UpdateInis=Edit.Sysini,Edit.Syscb [Edit.Sysini] %10%\system.ini,386Enh,,"MaxPhysPage=40000" %10%\system.ini,386Enh,,"DMABufferSize=64" ; optional %10%\system.ini,vcache,,"MinFileCache=51200" ; Q108079 %10%\system.ini,vcache,,"MaxFileCache=56320" ; Q108079 %10%\system.ini,386Enh,,"MinSPs=8" ; optional %10%\system.ini,386Enh,,"MinTimeSlice=40" ; optional, multitasking slower but more stability ;;%10%\system.ini,386Enh,,"SystemROMBreakPoint=0" ;;%10%\system.ini,386Enh,,"EMMExclude=A000-FFFF" ;;%10%\system.ini,386Enh,,"MaxDMAPGAddress=1000" [Edit.Syscb] %10%\system.cb,Boot,,"*DisplayFallback=0" %10%\system.cb,386Enh,,"MaxPhysPage=20000" ; Usher's-method ;;Inf,Reg and BAT files need always a carriage Return on the end! BTW some WIN.COM-switches included for troubleshooting ('activate' one or more sysini-lines with semi-colons). With these lines in your MSBATCH.INF you should be able to use HIMEM.SYS during Setup (with switch /NUMHANDLES=64 OR /NUMHANDLES=128). If you want to use HIMEMX.EXE, change after Setup.
ruthan Posted June 1 Author Posted June 1 Well, i used file form link above - its named oem.inf made it matters, i expected that there is some default file, but there is not, you have to generated through batch.exe setup located on Win98SE cd in \tools\reskit\batch\ (optimal.ini file seems to be needed to run it) - yes you can save it empty / default, without really using the setup. I have tried to fill all the data in setup wizard, it still working fine on Windows 10, but there are not data which you posted above, question where exactly put these, it script, but its sequential so location matters. I have found: [Install] section, with contains this values: AddReg=RunOnce.BatchDelay,Run.Installed.Components,Skip.PCMCIA.Wizard,User.Profiles.Reg,User.Box.One,User.Box.Two,Registry.WinUpdate its between [Printer] and [RunOnce.BatchDelay] Its the right section where to put these files, or it more [Install] section are possible and i have to put it elsewhere? My new file, where through wizard is attached, its very similar to file which i used form the link above. BTW its normal, that autoexec.bat and config.sys contains only setver in autoexec.bat and they are completely empty? Im not sure, but i had some system attrib tags on old files, so maybe they could not be removed by the setup, or if they already exists, setup is not modify them.. I have bad memory so i dont really remember, i was used in not english install there where always somethin to set code pages etc. Win.com switches - it would be great, if you understand them, to add some description there.. I dont understand is for example this - "EMMExclude=A000-FFFF" is still related to Windows not MS-DOS fallback or MS-DOS mode run from Windows Desktop.. Usher's-method sounds interesting too. Quote With these lines in your MSBATCH.INF you should be able to use HIMEM.SYS during Setup (with switch /NUMHANDLES=64 OR /NUMHANDLES=128). If you want to use HIMEMX.EXE, change after Setup. Well i had to already edit settings - i mean manually add /Numhandles=64 (BTW what is better 64 or 128 for me there are just magic values) parameter, its nice to know that this exist for machine, where is not himemX.exe yet copied. Otherwise in not big difference add HimemX edits or Himem.sys switch parameters. Unless its possible add Himem.sys parameter right into install script. Other option how to bypass is run Rloew patchmem /m ; or even intergrated Rloew Mem patch right into install *.iso, so far not looked in how to do it. Otherwise i was able to reach normal mode, after Rloew patches install by running: patchmem // i forgot /m parameter maybe it matters // but with io.sys and himemX.exe and vcache is probably not needed anyway ptchsata - and copy Sata.inf into Windows\INF folder, INF folder is hidden - it may to be visible by Filemanager in default settings. Front USB are working with default USB and nUSB drivers, card machine USBs, whare are using different USB 2.0 controllers, not working yet with default or nUSB drivers - i have tried 3.5 there are supposed to be "better".. and all other drivers hell.. msbatch-RuThaNgeneratedBeforeManualModification.zip
awkduck Posted June 1 Posted June 1 Just putting this out there, maybe it will help someone. I've also had a machine, that only had serial and USB ports. It isn't a "pure" install, but you can use a another machine or VM, with a similar hardware configuration. For me, I used an older version of VirtualBox (v4 series) since in still included a older Intel motherboard type. If your target media can be removed you can partition/format/etc from another machine, or potentially the VM itself (using target drive as the VMs ). Or, you could boot DOS from USB and format/SYS.COM the target partition. Then with DOS, or any other bootable USB OS, you can copy the contents of the foreign install (without overwriting the contents of the partitions root (or else you need to SYS.COM again [save your msdos.sys]) while preserving the files/folders types). Once booted, on the target machine, you can use the serial mouse to accept installation of the USB keyboard etc. Probably not an option for every machine out there; but it worked great for me. You could also remove the hardware profile of the VM/Temp Machine, via REGEDIT. Then on reboot, have an cleanly built device installation.
deomsh Posted June 1 Posted June 1 18 hours ago, ruthan said: Well, i used file form link above - its named oem.inf made it matters, i expected that there is some default file, but there is not, you have to generated through batch.exe setup located on Win98SE cd in \tools\reskit\batch\ (optimal.ini file seems to be needed to run it) - yes you can save it empty / default, without really using the setup. I have tried to fill all the data in setup wizard, it still working fine on Windows 10, but there are not data which you posted above, question where exactly put these, it script, but its sequential so location matters. I never used batch.exe, I write my own msbatch.inf (with much help of all sources I can get). The updateinis-lines should be placed under the install-section (before [STRINGS] I guess). See https://leeos.epizy.com/infdoc.html?i=1#UpdateInisSections 18 hours ago, ruthan said: Win.com switches - it would be great, if you understand them, to add some description there.. I dont understand is for example this - "EMMExclude=A000-FFFF" is still related to Windows not MS-DOS fallback or MS-DOS mode run from Windows Desktop.. Usher's-method sounds interesting too. You can find it on the net, for instance mdgx.com is a reliable source. Simply start your search with site:www.mdgx.com and then what you want to know. EMMExclude will block Windows to use UMB's in the specified region. For instance the NVIDIA Geforce-drivers will block a (smaller) area. Most of the time I do not use UMB's. Usher's method is needed for Safe mode on computers with more than 1.xx GB of memory, just like in 'Normal mode'. However must be written to SYSTEM.CB. My section [Edit.Syscb] is FULLY undocumented, I wrote it by trial and error. 18 hours ago, ruthan said: Well i had to already edit settings - i mean manually add /Numhandles=64 (BTW what is better 64 or 128 for me there are just magic values) parameter, its nice to know that this exist for machine, where is not himemX.exe yet copied. Otherwise in not big difference add HimemX edits or Himem.sys switch parameters. Unless its possible add Himem.sys parameter right into install script. You can't say this, unless you prove you can start Windows' Setup WITHOUT first loading HIMEM.SYS. However you can use MSBATCH.INF to write your own CONFIG.SYS and AUTOEXEC.BAT. About /NUMHANDLES=64: RLOEW mentioned them in his PATCHMEM-manual (above 2.75 GB memory).
deomsh Posted June 1 Posted June 1 (edited) 20 hours ago, ruthan said: BTW its normal, that autoexec.bat and config.sys contains only setver in autoexec.bat and they are completely empty? Im not sure, but i had some system attrib tags on old files, so maybe they could not be removed by the setup, or if they already exists, setup is not modify them.. I have bad memory so i dont really remember, i was used in not english install there where always somethin to set code pages etc. On localized version of Windows, the Setup of Windows 98 will add lines for DISPLAY.SYS and COUNTRY to CONFIG.SYS, and lines for MODE and KEYB to AUTOEXEC.BAT (I have Dutch Windows 98FE and Windows 98SE CD-ROMS). Edited June 1 by deomsh
ruthan Posted Saturday at 04:13 PM Author Posted Saturday at 04:13 PM (edited) On 6/1/2025 at 8:28 AM, awkduck said: I've also had a machine, that only had serial and USB ports. It isn't a "pure" install, but you can use a another machine or VM, with a similar hardware configuration. For me, I used an older version of VirtualBox (v4 series) since in still included a older Intel motherboard type. Yeah im used to do it too, but its sort of the last resort it has some problem: - I usually migrating too old Oses to too modern machines, but hardware is not really similar because - but i never tried VirtualBox 4 - but it would need to install Virtual machine probably from the old machine too - What is newest OS supported by Virtualbox 4 - WinXP? - Qemu has i im not wrong much broader emulating HW options, but i never was friends its command line hell settings - GUI frontends for Windows where allways outdated and not great.. and even on Linux its problematic, especially KVM GPu passthrough with Qemu was allways hell.. Lastime when i tried it, i run into some App rights admin level issues.. because some new Linux xserver changes - its always moving target, when you are not using Linux on the daily basis.. - better options seems to be 86box -PCem successor emulation - could be can set up anything from 8086 to Pentium III (it could be too old) - partition is never issue, because there are is always some compatible tool from modern OS, or from BootCD - i have quite big collection of these on the Ventoy USB - ISO loader tool - For modern OS - Win2000+ - im using P2P HW Adjust tools - mostly from Paragon. So far i did not found such tool Windows 98 and NT4, it became a thing probably too late for these to support On 6/1/2025 at 8:28 AM, awkduck said: You could also remove the hardware profile of the VM/Temp Machine, via REGEDIT. Then on reboot, have an cleanly built device installation. Im used to use it in the XP era.. Microsoft even had some tool called Sysprep for it, P2P tools above are probably based on it, but i never found some good and easy to implement tutorial for it, it always seemed a awkward.. BTW what is exactly Registry key to delete for Windows 98 or NT4? i have in some notes this: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum but its probably for WinXP.. There is also problem, you have to remove reg keys before making image, or do it through loading hive and i wrote.. so far i did not found tool to load Win9x offline.. NT4 have some different registry structure, but seems loading hive is possible. I read that is maybe possible to edit Win98 registry through some MS-DOS 7 tool command line tool, but i never tried it, it would be handy. I found System.ini recommended parameters on this link: https://www.mdgx.com/lastweek.htm Edited 9 hours ago by ruthan
awkduck Posted Sunday at 07:52 AM Posted Sunday at 07:52 AM 14 hours ago, ruthan said: What is newest OS supported by Virtualbox 4 - WinXP? You could probably go somewhat modern, if you can handle no acceleration (might not be supported). On a fast machine it might not matter, you just need the initial Windows setup and boot to finish. But to be frank, I never really used anything past XP. I keep a handful of custom Linux Pen drives around; that's how I always have an older version handy. v4.X (VirtualBox) might no be the last version to support older chipsets, its just one I know does. If you are going to newer machines, that probably isn't needed anyway. 14 hours ago, ruthan said: Qemu has i im not wrong much broader emulating HW options, but i never was friends its command line hell settings - GUI frontends for Windows where allways outdated and not great.. and even on Linux its problematic, especially KVM GPu passthrough with Qemu was allways hell.. Lastime when i tried it, i run into some App rights admin level issues.. because some new Linux xserver changes - its always moving target, when you are not using Linux on the daily basis.. Yes, QEMU can be a pain. I keep the last version of 10 around, only for times when I'm on an older machine (no CPU Virtualization support [have to use Kqemu]). Version 11 supports Kqemu, but the partial migration to KVM slows Kqemu down. The last version of QemuManager works supports Kqemu (for windows); but I'm not sure if it works on anything past XP (I would guess it would run on win7/8). 14 hours ago, ruthan said: So far i did not found such tool Windows 98 and NT4, it became a thing probably too late for these to support For Win9x, the are probably some Dos tools that would do the trick. But, it sounds like you have a good collection of options. Expanding the virtual partition, to the full size of your real drive, does need some good tools. I just cheat, with Win9x, and mount the virtual machine image and target drive from a LiveOS (of some kind). Once the target drive is partitioned/formatted how I want, then I can just copy the files over (preserving type, etc). On Linux (I know, Command Line stuff) I'd convert the VirtualBox image to an *.img file (raw) and mount it with a command like: mount -o loop,offset=32256 -t vfat temp-image.img /mnt But something similar could probably mount the image, without converting it to the *.img format. I just never looked into it. I use fdisk (Linux) to get the value for "offset". I type: fdisk temp-image.img (as root or with sudo); then I multiply the sectors size by the sector/tracks amount ("p" + "enter" lists the partition information, "q" + "enter" exits fdisk). In my case 512 x 63. "-t vfat" just means that its a fat partition. On Linux (for me anyway) it seems like the file-manager MC (Midnight Commander) preserves the file types, on copy (again as root or using sudo). 15 hours ago, ruthan said: BTW what is exactly Registry key to delete for Windows 98 or NT4? i have in some notes this: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum but its probably for WinXP.. Actually, I believe that is right. 15 hours ago, ruthan said: There is also problem, you have to remove reg keys before making image, or do it through loading hive and i wrote.. so far i did not found tool to load Win9x offline.. You could do it "before" shutting down Windows, on the VM. The setting are already active on the booted VM; so you will be able to shutdown normally, after deleting the key(s). 15 hours ago, ruthan said: I read that is maybe possible to edit Win98 registry through some MS-DOS 7 tool command line tool, but i never tried it, it would be handy. Yes, in Dos mode "I believe" you still use regedit.exe. It just works differently, in Dos. I'm sure "regedit /? or -h" should give some hints. Basically you need to provide the key location to delete or location and key to add. But, I've lost the exact syntax, to time. Note: For Win9x, I just use the SYS command (maybe from a MsDos USB drive) moving or renaming msdos.sys first, then replacing it proper afterwards ). But my WinNT skills don't exist "at that level". I wouldn't know what was required to make a "lazy" copied WinNT's partition bootable. Jaclaz, and many other would. You probably already know all of this, already. Looking forward to hearing that your machine is 100% configured, how you like it. That's always a good feeling, except for that the fun is over and then its time to tweak with something else. :)
ruthan Posted 7 hours ago Author Posted 7 hours ago On 5/31/2025 at 12:05 PM, deomsh said: [Edit.Sysini] %10%\system.ini,386Enh,,"MaxPhysPage=40000" %10%\system.ini,386Enh,,"DMABufferSize=64" ; optional %10%\system.ini,vcache,,"MinFileCache=51200" ; Q108079 %10%\system.ini,vcache,,"MaxFileCache=56320" ; Q108079 %10%\system.ini,386Enh,,"MinSPs=8" ; optional %10%\system.ini,386Enh,,"MinTimeSlice=40" ; optional, multitasking slower but more stability ;;%10%\system.ini,386Enh,,"SystemROMBreakPoint=0" ;;%10%\system.ini,386Enh,,"EMMExclude=A000-FFFF" ;;%10%\system.ini,386Enh,,"MaxDMAPGAddress=1000" [Edit.Syscb] %10%\system.cb,Boot,,"*DisplayFallback=0" %10%\system.cb,386Enh,,"MaxPhysPage=20000" ; Usher's-method ;;Inf,Reg and BAT files need always a carriage Return on the end! Thx i tried all of these, system is still booting, so i hope that it would be more stable. Otherwise its is for unattended install, here 512 / 1024 MB limits have sense, to already installed system have sense to change/remove memory limits.. - Of couse, you have to remove "" + ; + the start of string (I.E - %10%\system.ini,386Enh,, ) - just to point you to right section of system.ini where you can place them, i placed the all for [386Enh] at the start of this section. I found description of most of them here: https://www.mdgx.com/lastweek.htm // Yeah links generated by this sites are strange On 6/8/2025 at 9:52 AM, awkduck said: You could do it "before" shutting down Windows, on the VM. The setting are already active on the booted VM; so you will be able to shutdown normally, after deleting the key(s). Yeah that i was suggesting still you can forget and you should make some snapshot / backup (another catch) if you want to use Virtual machine after. On 6/8/2025 at 9:52 AM, awkduck said: es, in Dos mode "I believe" you still use regedit.exe. It just works differently, in Dos. I'm sure "regedit /? or -h" should give some hints. Basically you need to provide the key location to delete or location and key to add. But, I've lost the exact syntax, to time. Yeah i already looked into it, i would still prefer some GUI tool to do it, its faster and less error prone.. for example i dont remember right *.reg header from top of my head, so would have google it on other machine / phone.. or create file together. What seems strange i have tried to regedit with the same parameters on the live Windows 98 to make some automatic Erunt like registry backup *.bat, but it seems that all parameters, include /? are ignored.. so is not possible to use regedit in command line mode, or syntax is diferrent than it the Dos. On 6/8/2025 at 9:52 AM, awkduck said: Looking forward to hearing that your machine is 100% configured, how you like it. That's always a good feeling, except for that the fun is over and then its time to tweak with something else. We, i have still 2 major problems, others are details and i have tried everything what i was able. 1) Windows 98 - no working DMA on Pata and Sata controllers, because of exclamation marks on the Primary and Secondary channels components, controller itself has not errors. Server RAID Dell Perf 5/i also have only Windows 2000+ drivers. Windows 9x is only major older OS unsupported by nice Universal PATA /Sata driver - https://alter.org.ua/en/soft/win/uni_ata/ 2) Windows NT4 - not working driver for Network card - Broadcom NetXtreme II 5708, i dont have enough skills to modify oemsetup.inf for NetXtreme I cards, to at least to try a luck.. Windows NT4 inf for NetXtreme I card is quite huge and syntax is complicated - i tried, but im getting Card is not present error, because added Hardware ID is not working. I have tried Windows 2000 driver, but im getting Oemsetup is found in its direct and there is one, so its probably problem with dirent *.inf header / structure. Problem is that NT4 USB stack will probably not robust enough to use even USB Lan adapter. These details are in other my threads, so im almost there.. I learned this quite a lot of things, out of necessity, but its not enough
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now