joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.78k stars 381 forks source link

Windows NT4: Installation of Service Pack 6 breaks logon #4463

Open herrnst opened 1 year ago

herrnst commented 1 year ago

Describe the bug

After installation of Service Pack 6a in a freshly installed Windows NT4 guest, logon isn't possible anymore. After bootup, one can send CTRL-ALT-DEL to enter credentials to log on, but after entering the credentials, a dialog pops up saying "Logging on" ("Anmeldung erfolgt..." in german), and after a while an error is shown saying that the logon service isn't running and the user cannot be logged on at this time.

The same NT CD image plus sp6i386.exe was tested with a non-kvm QEMU VM (configured to resemble the environment DOSBox-X provides to the guest), after installation of the service pack, logon is perfectly possible. Booting the (working in QEMU) harddisk image with DOSBox-X then shows the same failure (i.e "logon service not running").

Steps to reproduce the behaviour

  1. Create a NT4 guest install (boot DOS, format virtual disk, run winnt.exe /b, proceed with the installation)
  2. Provide the guest with the sp6i386.exe installation file via an ISO file or any other means
  3. Install SP6a by running sp6i386.exe
  4. Reboot
  5. Logon isn't possible anymore

Expected behavior

Logon is possible after the service pack installation.

What operating system(s) this bug have occurred on?

Linux (Arch x86_64, SDL2), macOS (ARM/M1, SDL2 via brew)

What version(s) of DOSBox-X have this bug?

2023.09.01

Used configuration

# relevant items:
[dosbox]
memsize=512
machine=svga_s3trio64v+

[cpu]
cputype=ppro_slow
core=dynamic_rec # tried "normal" aswell
cycles=max

[video]
vmemsize=8 # tried 4 w/o change

[ide, {primary,secondary}]
int13fakeio=true
int13fakev86io=false
enable pio32=true

[serial] -> All ports disabled
[parallel] -> All ports incl. dongle disabled
[printer] -> false

[autoexec]
IMGMOUNT 2 hdd.img -t hdd -fs none -ide 1m -reservecyl 1
# IMGMOUNT D sp6.iso -t iso -ide 2m
BOOT C:

Output log

Nothing printed to the log when trying to log on.

Additional information

No response

Have you checked that no similar bug report(s) exist?

Code of Conduct & Contributing Guidelines

maxpat78 commented 6 months ago

After SP6a, I can't even see the login: a BSOD with "inaccessible boot device" pops up in the very early stage.

herrnst commented 6 months ago

Well, I managed to get this installed properly once by copying the SP6a installation package/exe from the ISO to the NT user's desktop, then shutdown the emulated system, remove the IMGMOUNT from the .conf, start the machine again (without a virtual CD drive then ofc) and install from here - doing like this gave a working NT4+SP6a install, where then all kinds of other stuff like IE4+shell update, IE6 and so on could be installed without issues.

This didn't help wrt https://github.com/joncampbell123/dosbox-x/issues/4725 though.

maxpat78 commented 6 months ago

@herrnst It didn't work for me.

Also, I have not used CPU/Turbo mode, and installed to an IMG (not VHD) file, just to be sure: but, after the reboot, I've had again the BSOD with "inaccessible boot device". The config problem (#4725) could be the cause: I suspect it is related to the way data are committed to disk by DOSBox-X in a MT environment like NT (tough the use of Start/Shutdown should prevent any problem and ensure all disk activity has been stopped), and/or the DOSBox-X shutdown procedure itself.

herrnst commented 6 months ago

Of course it might have been pure luck that it worked one time, though I didn't bother to play around with this further as the "old config used" issue is annoying enough to just not want to play with old NT OSes right now...

maxpat78 commented 6 months ago

Yes, perhaps DBX isn't mature enough to play NT without issues...