dtamonis Posted August 1, 2011 Posted August 1, 2011 (edited) I have a dual boot system with Win98SE installed in C: drive and WinXP installed in D: drive, and SATA hard disk connected via SATA>IDE adapter. Recently this adapter died and from this moment I could not boot to Win98, even after replacing the adapter.From the OS selection menu, if I select WinXP, it loads without problems, but when I select Win98, it immediately says "Invalid system disk". After pressing a key, another message appears "Select proper boot device", and after pressing a key again, it returns to the OS selection menu.This is puzzling, because all the system files in C:\ are present (command.com, io.sys, msdos.sys and drvspace.bin), and I checked the drive with chkdsk from WinXP, it found no problems. I copied the system files from the backup drive, that didn't help. What could prevent Win98 from booting? Without even "Starting Windows 98" stage appearing, I cannot access even the command line, so that I could go the Win98 installation folder (CD is long gone, installation is only on the hard drive). Running the installation from WinXP, I imagine, would not be a good idea.I would really like to solve this without installing Win98 on top of the old installation, as it would revert all the updated files, including ESDI_506.pdr. But even for that, I would have to burn a bootable CD. Edited August 1, 2011 by dtamonis
Tripredacus Posted August 1, 2011 Posted August 1, 2011 I bet your disk numbers have changed? Sounds like your old boot.ini needs to be updated.
dtamonis Posted August 1, 2011 Author Posted August 1, 2011 I don't know much about that; here's how boot.ini looks:[Boot Loader]timeout=3Default=C:\[Operating Systems]C:\="Win98"multi(0)disk(0)rdisk(0)partition(2)\WINXP="WinXP" /noexecute=optin /fastdetectHow should I update it?
jaclaz Posted August 2, 2011 Posted August 2, 2011 The entry:C:\="Win98"Is strange.Usually it points (to load Windows 98 or DOS) to a bootsector FILE.Yours points directly to the bootsector ON DISK.This should mean that you have "something else" (bootmanager/bootloader) that actually loads XP (or that I completely failed to understand how your setup is ).Anyway, your "C:" drive or however the same drive where BOOT.INI is should be FAT16 or FAT32 and ALSO contain in ROOT files IO.SYS, MSDOS.SYS and COMMAND.COM.Can you confirm this?If yes, all you have to do is get bootpart:http://www.winimage.com/bootpart.htmand use it to recreate BOTH a new bootsector file to boot Win98 AND a new entry in BOOT ini.just run bootpartin a command prompt window and post results.Read the (very short) bootpart.txt documentation, and, if you are sure about it's usage, just run it with the appropriate syntax or wait for instructions (based on the above output you get).jaclaz
dtamonis Posted August 2, 2011 Author Posted August 2, 2011 The entry:C:\="Win98"Is strange.It has always been the same, ever since I installed XP on the second partition. Didn't seem strange to me as I don't know much about bootloaders and bootsectors.Anyway, your "C:" drive or however the same drive where BOOT.INI is should be FAT16 or FAT32 and ALSO contain in ROOT files IO.SYS, MSDOS.SYS and COMMAND.COM.Can you confirm this?Yes, BOOT.INI file is located in C: and the system files are there. Here's the output of bootpart:Physical number of disk 0 : 2bd2c32a 0 : C:* type=c (Win95 Fat32 LBA), size= 102406311 KB, Lba Pos=63 1 : C: type=f (Win95 XInt 13 extended), size= 385977690 KB, Lba Pos=204812685 2 : C: type=b (Win95 Fat32), size= 184659111 KB, Lba Pos=204812748 3 : C: type=5 (Extended), size= 201318547 KB, Lba Pos=574130970 4 : C: type=b (Win95 Fat32), size= 201318516 KB, Lba Pos=574131033In other words, there are three partitions, all FAT32, C: is 100GB and has Win98SE installed, D: is 185GB and has WinXP installed, and E: is 200GB.I'd be grateful if you could provide step by step procedure of rebuilding the bootsector.
jaclaz Posted August 2, 2011 Posted August 2, 2011 (edited) I'd be grateful if you could provide step by step procedure of rebuilding the bootsector.Well, let's first try booting WIndows 98 with an "external" bootsector.Run bootpart as follows:BOOTPART WIN98 C:\BOOTSECT.W98 "Windows 98 added"Parameters explained:WIN98 <- use the bootsector for Windows 98C:\BOOTSECT.W98 <- create a file named BOOTSECT.W98 on C:\ drive, containing the Windows 98 bootsector CODE and current partition bootsector DATA"Windows 98 added" <- create an entry in BOOT.INI with label "Windows 98 added" pointing to C:\BOOTSECT.W98In other words, after you have run bootpart as per above, you will have an added entry in BOOT.INI like:C:\BOOTSECT.W98="Windows 98 added"Try rebooting and choosing it.Post what happens. jaclaz Edited August 2, 2011 by jaclaz
dtamonis Posted August 2, 2011 Author Posted August 2, 2011 I'm now posting from Win98 So thank you, because I was about to install it on top of itself. No big deal, but then I'd have to roll back some files, and I don't like reinstalls in general.The following line was added to BOOT.INI:C:\BOOTSECT.W98="Windows 98 added" /win95What does /win95 switch mean? Is it necessary? As I understand, now I can replace Default=C:\ with Default=C:\BOOTSECT.W98 and remove the line C:\="Win98".
jaclaz Posted August 3, 2011 Posted August 3, 2011 I'm now posting from Win98 So thank you, because I was about to install it on top of itself. No big deal, but then I'd have to roll back some files, and I don't like reinstalls in general.The following line was added to BOOT.INI:C:\BOOTSECT.W98="Windows 98 added" /win95What does /win95 switch mean? Is it necessary? As I understand, now I can replace Default=C:\ with Default=C:\BOOTSECT.W98 and remove the line C:\="Win98".Yes, you can add it as the default allright.The /win95 (though it does NOT make any harm) can be removed allright. It is a provision for the original mind-boggingly complex way the good MS guys allowed triple boting among NT, MS DOS <=6.22 and Windows 95 (renaming io.sys to winboot.sys, etc.)The /win95 means "actually boot from WIN9x files and NOT from DOS ones" whilst the /win95DOS "actually boot form DOS files and NOT from the win9x ones", BOTH settings "ask NTLDR to cleverly rename a set of files, if the condition is verified", see here:http://home.earthlink.net/~jdbryan/directboot.htmlAnd of course you can change the description inside double quotes to anything you prefer.Glad I can count you among the happy bunnies .jaclaz
Dave-H Posted October 28, 2024 Posted October 28, 2024 @jaclaz Hi Jaclaz. Sorry for resurrecting this ancient thread, but I found myself with virtually the same problem as the OP. This involves a multi-boot machine with three operating systems, but it is mainly about Windows 98! It was caused by trying to repair a fairly minor (and irrelevant here) problem on the XP side of my machine. As part of the attempt, I foolishly ran the system file checker routine. It seemed to complete OK, although rather in fits and starts with constant use of the 'retry' button. I suspect it was having trouble reading the Windows XP install CD. The log said it had replaced a few files, and failed to replace quite a few more! None of the files logged seemed to be anything particularly important. After it completed, I rebooted and found that the system would no longer start in XP. It just went to a black frozen screen on normal start, and safe mode just rebooted! Rather than try to fix this, I decided to just restore an image backup, done with DiskGenius, which was less than a week old. I did this using DiskGenius in Windows 10. After restoring the disk, which contains the Windows XP partition and the Windows 98 partition, Windows XP would start fine, but selecting Windows 98 from the boot menu just produced an 'Invalid System Disk' message. As with the OP, all the necessary files seemed to be on the C: drive, and my boot.ini was exactly as before. [boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(2)\WIN-NT [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WIN-NT="Windows XP Professional SP3" /fastdetect /NoExecute=OptIn C:\CMDCONS\BOOTSECT.DAT="Windows XP Recovery Console" /cmdcons C:\="Windows 10 and Windows 98SE" As you can see, it's pretty much the same as the OP's, and always has been. The "Windows 10 and Windows 98SE" option actually runs a custom autoexec.bat file which allows me to select Windows 10 or Windows 98 from a new boot menu. The XP Recovery Console option also didn't work, just saying that NTLDR was missing. I tried your suggestion with BOOTPART and generated the new option in the first boot menu, which worked, so I will stick with that, I think. I'll probably have to reinstall the Recovery Console to fix that. Windows 98 is using the Drive Letter Assigner program, and when I booted into 98 it told me that two drives were not present, and this was because the drive numbers had changed, as you said right at the beginning! Reconfiguring it and re-saving its settings has fixed that. So, all's well that ends well, but I'm still puzzled as to why the DiscGenius ISO restore gave the drives a different number. The restore was supposed to be just a basic file copy restore, that was the only option that DiscGenius offered, and surely that shouldn't have changed the drive numbers?
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now