joncampbell123 / dosbox-x

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

Windows NT, 2000, XP - how to install them as guest? #3538

Open Torinde opened 2 years ago

Torinde commented 2 years ago

Question

Version 0.84.0 among other things "fixes problems with the IDE driver in Windows NT 4.0, Windows 2000, and Windows XP and allows them to boot properly"

At NOTES there are mentioned:

My attempts with 0.84.0 are unsuccessful so far. Following the NOTES files, after first installing MS-DOS 6.22 I ran "WINNT.EXE /b" from an NT4 ISO and setup finished properly - but on first boot I got a crash: image

From what I see floppy emulation is still missing (#3436), correct? So, it's either via MSDOS and WINNT.EXE /b - or via CD.ISO boot, correct?

I get "El Torito bootable floppy not found" when trying "imgmount a -bootcd d" - for ISOs of NT4, 2000, ReactOS, Vista. Strangely OS/2 4.52 ISO was accepted as bootable, but crashes: image

Haven't tried NT3.1, NT3.5 and XP yet.

After mounting some of the CDs and looking inside DOSbox finds only a README.TXT file stating 'your OS needs to support UDF', 'your OS needs to support Joliet' - not sure if I do something wrong? would be nice if DOSbox-X can read those directly.

Will there be guide(s) added to the wiki about those? @rderooy

Have you checked that no similar question(s) exist?

Code of Conduct & Contributing Guidelines

joncampbell123 commented 2 years ago

Make sure when installing Windows NT that the hard disk and CD-ROM drive are both imgmounted as IDE devices. -ide 1m for the hard drive, -ide 2m for the CD-ROM drive.

Make sure there is enough memory. Windows NT 4.0 should have 16MB, Windows 2000 should have 32MB-64MB, Windows XP should have 128MB.

I tested these OSes with a hard disk image that is 900MB, except Windows XP, which needed a hard disk image that was larger than 1GB. The disk was formatted FAT16. Windows XP was tested from a FAT32 partition on a 4GB hard disk image.

All but Windows XP worked properly. Windows XP could never get OOBE to work and could never log in even as Administrator.

joncampbell123 commented 2 years ago

As for OS/2 none of the versions I tried (from 1.0 through 4.0) were able to boot in DOSBox-X. Getting OS/2 to run is going to take more work. OS/2 1.0 to 2.x use their own protected mode drivers that talk directly to the floppy controller, however floppy controller emulation does not seem to work with whatever way OS/2 expects, which prevents OS/2 1.x and 2.x from even booting at all.

Torinde commented 2 years ago

Thanks, will try like that. Tests above I made with the default IDEs (e.g. just imgmount c: HDD.IMG, imgmound d: CD.ISO). So, if I use "-ide 1m", "-ide 2m", then CD will be bootable? Because that was my problem for most attempts. Or should I still try to go via MS-DOS and WINNT.EXE /b?

ReactOS - CD isn't recognized as bootable and also from DOS6.22: dir show files, but no other commands can work with them: image

Same CD.ISO boots and installs OK in VirtualBox. Windows ISO CDs I mentioned above also boot and install OK in VirtualBox.

BridgeHeadland commented 2 years ago

I did not know that Windows XP is an operating system that could theoretically run in DOSBox. Now it happens that some of us, especially me, have no idea how to install a single Windows operating system, even if we do research, and if we are lucky, we will find pre-installed OSes, even if they are not higher than 2GB (intended for regular DOSBox and DOSBox SVN Daum), and there is little for us who want to play big games for 9x, NT, ME, 2000 and XP, and if I am not mistaken, one can install all these Windows, maybe except XP, in 8GB image files or higher, in DOSBox-X. Even though we are all fond of nostalgic PC experiences, and maybe even PC nerds (not meant to offend anyone), there will still always be some of us here who do not know the computer language like that 100% . Wikipedia articles on PC-related stuff are formulated in a very advanced way, which is difficult to interpret for us who are very simple, and who prefer nostalgic games and entertainment than other things. Therefore, I hope that someone could upload pre-installed Windows operating systems in 8GB image files or higher, and add download links around here, so that we simple people do not have to struggle to get the operating systems installed without success.

rderooy commented 2 years ago

@BridgeHeadland there are step-by-step instructions on the wiki for installing Windows from 1.0 up to ME, and you can create them with a HDD size of your liking (within limits of the OS in question).

Providing pre-installed versions is out of the question for me. Apart from the legality, there is also way to many possible variations. Apart from the Windows version, there is the language (English, French, German, Japanese, etc) and OS updates. And then people will want their favourite tools/utils pre-installed, etc. Or a different model video or sound card, which implies different drivers. Hopeless.

BridgeHeadland commented 2 years ago

@rderooy I tried to install Windows 98SE once while following the instructions, but still got some errors during the installation. I have always thought that I have misinterpreted the instruction, and I misinterpret things very often. I have never managed to install old Windows in DOSBox anyway, nor do I know any computer experts who are available to me 24/7 and who can help me.

kero990 commented 1 year ago

Make sure when installing Windows NT that the hard disk and CD-ROM drive are both imgmounted as IDE devices. -ide 1m for the hard drive, -ide 2m for the CD-ROM drive.

Make sure there is enough memory. Windows NT 4.0 should have 16MB, Windows 2000 should have 32MB-64MB, Windows XP should have 128MB.

I tested these OSes with a hard disk image that is 900MB, except Windows XP, which needed a hard disk image that was larger than 1GB. The disk was formatted FAT16. Windows XP was tested from a FAT32 partition on a 4GB hard disk image.

All but Windows XP worked properly. Windows XP could never get OOBE to work and could never log in even as Administrator.

Can you give a configuration file that can start win2000 or xp? I use the default configuration file, start directly re-simulating dosbox If you use the configuration file written in the win98 guide, win2000 can run a part of the installation process, and after a certain restart, it gets stuck on the black screen cursor. I think it must be configured incorrectly.

BridgeHeadland commented 1 year ago

I know some XP compatible games support Dolby Digital 7.1 (and maybe higher too), but do Windows XP and DOSBox-X support Dolby Digital 7.1?

rderooy commented 1 year ago

Windows NT versoins, such as XP are not supported at this point. You are on you're own if you want to try it.

And no, DOSBox-X does not support any kind of surround-sound. Only regular Stereo.

BridgeHeadland commented 1 year ago

@rderooy Will it ever be fixed? I just did some research, XP supports Dolby Digital and so do the games that are compatible with XP. Even Windows 9x supports Dolby Surround. https://en.freedownloadmanager.org/Windows-PC/SSP7-1-FREE.html

rderooy commented 1 year ago

I left my crystal ball in my other pocket.

This is a community project, not a commercial software product. It could be added, if there is a developer who wants to develop such a feature for DOSBox-X.

BridgeHeadland commented 1 year ago

I have yet to install or own Windows XP for DOSBox-X, and besides, I know that the Windows 32-bit versions of DOSBox-X can run in Windows XP. Does that mean that one can run a Windows 32-bit version of DOSBox-X in XP, which in turn runs in DOSBox-X (any version, or some of them)? Not that I absolutely have to, I'm curious, plus I'd think it would be fun to try.

Torinde commented 1 year ago

I tried using imgmount with -ide 1m for the hard drive, -ide 2m for the CD-ROM drive. Using DOSbox-X SDL1 MinGW64 2022-11-20 "artifact". Also, for the HDD image - I used "imgmount 2" instead of "imgmount c". Is that OK? For the CD image - not sure if CD.ISO can be used with “imgmount 3” – gives message such as ‘geometry not recognized’? So for it I used imgmount d:

Those got me to:

What should I do differently?

Now a few more oddities and questions:

Torinde commented 1 year ago

Win 2003 R2 SP2 - outcome similar to WinXP:

When mounting as drive number:

Z:\>imgmount 4 "Windows 2003 Server R2 SP2 Enterprise Edition (x86).iso" -t iso -ide 2m
Could not extract drive geometry from image.
Use parameter -size bps,spc,hpc,cyl to specify the geometry.
Drive number 4 mounted as ...\Windows 2003 Server R2 SP2 Enterprise Edition (x86).iso

But then I don't see how to boot from it.

When mounting as driver letter - CD-ROM contents are accessible from the drive letter, but then:

Z:\>imgmount a -bootcd d
El Torito bootable floppy not found

Can DOSbox be made to recognize the bootable part of WinXP/2003 CDs?

Also why "Could not extract drive geometry from image." appears only when mounting as number? D drive when mounted as letter works, files are accessible.

Next attempt - IMGMOUNT as A/C/D a Win98 floppy (MS-DOS 7.10, MSCDEX, etc.), VHD image, the Win 2003 ISO - boot a: DOS boots, CD contents are visible, WINNT.EXE runs (mentions that lack of SmartDrive will make installation slow), copies some files, and reaches a screen when for a lot of time nothing happens: image Host Task managers shows 10% CPU utilization from DOSbox Console has one line: LOG: ATAPI CD-ROM: spinning down

"Reboot guest system" - same thing happens. LOG shows some errors while booting DOS:

LOG: ISA Plug & Play BIOS enabled
LOG: VGA ROM BIOS init callback
LOG: BUG: DOS kernel is disabled (booting a guest OS), and yet somebody is still asking for DOS's current PSP segment
LOG: BUG: DOS kernel is disabled (booting a guest OS), and yet somebody is still asking for DOS's current PSP segment
LOG: Booting guest OS stack_seg=0x7000 load_seg=0x07c0
LOG: Alright: DOS kernel shutdown, booting a guest OS
LOG:   CS:IP=0000:7c00 SS:SP=7000:0100 AX=0000 BX=7c00 CX=0001 DX=0000
LOG:  966950013 ERROR BIOS:Disk 1 not active
LOG:  966950069 ERROR BIOS:Disk 1 not active
LOG:  966963431 ERROR BIOS:INT15:Unknown call ax=4101
LOG: 1199601696 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601710 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601724 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601738 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601752 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601766 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601780 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601794 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601808 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601822 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601836 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601850 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601864 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601878 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601892 ERROR BIOS:INT15:Unknown call ax=D800
LOG: 1199601906 ERROR BIOS:INT15:Unknown call ax=D800
LOG: ATAPI CD-ROM: triggered to spin up from idle
LOG: ATAPI CD-ROM: spinup complete
LOG: 1760989752 ERROR BIOS:INT1A:Undefined call AF
LOG: ATAPI CD-ROM: spinning down
LOG: Limit check 110000+4-1 = 110003 > ffff ES:DI
LOG: Segment limit violation
LOG: ATAPI CD-ROM: triggered to spin up from idle
LOG: ATAPI CD-ROM: spinup complete
LOG: CDROM: GetAudioTracks, stTrack=1, end=1, leadOut.min=84, leadOut.sec=39, leadOut.fr=9
LOG: Track 1 attr=0x40 00:02:00
LOG: ATAPI CD-ROM: spinning down
LOG: ATAPI CD-ROM: triggered to spin up from idle
LOG: ATAPI CD-ROM: spinup complete
LOG: ATAPI CD-ROM: spinning down
LOG: ATAPI CD-ROM: triggered to spin up from idle
LOG: ATAPI CD-ROM: spinup complete
LOG: ATAPI CD-ROM: spinning down

Next - started DOSbox with:

imgmount a WIN98DOS.img
imgmount 2 W2003.vhd -t hdd -ide 1m
imgmount 4 Windows 2003 Server R2 SP2 Enterprise Edition (x86).iso" -t iso -ide 2m

Used menu Drive \ D \ Boot from drive -> drive not bootable Used menu Drive \ C \ Boot from drive -> booted into Windows setup (which was placed on the drive by WINNT.EXE in the previous attempt) Copied some files, got stuck again. Changed CPU cycles to 407000. Otherwise I was using core=normal, Pentium3, 512MB RAM LOG got CMPXCHG8B message:

LOG: Warning: PAGING_NewPageFault() more than one level, now using level 2
LOG: Warning: PAGING_NewPageFault() more than one level, now using level 3
LOG: Pentium CMPXCHG8B emulation is enabled

Why is that dependent on the CPU cycles?

"Reboot guest system" - stuck at: image

LOG: ISA Plug & Play BIOS enabled
LOG: VGA ROM BIOS init callback
LOG: BUG: DOS kernel is disabled (booting a guest OS), and yet somebody is still asking for DOS's current PSP segment
LOG: BUG: DOS kernel is disabled (booting a guest OS), and yet somebody is still asking for DOS's current PSP segment
LOG: Booting guest OS stack_seg=0x7000 load_seg=0x07c0
LOG: Alright: DOS kernel shutdown, booting a guest OS
LOG:   CS:IP=0000:7c00 SS:SP=7000:0100 AX=0000 BX=7c00 CX=0001 DX=0080
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: 2707684368 ERROR INT10:Function 12:Call  1 not handled
LOG: 2707684478 ERROR INT10:Function 2000 not supported
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: 2979072848 ERROR BIOS:Disk 3 not active
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: 2979131233 ERROR INT10:Function 12:Call  1 not handled
LOG: 2979131343 ERROR INT10:Function 2000 not supported
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: APM BIOS: OS attempted to connect to real-mode interface when already connected
LOG: 3003447234 ERROR BIOS:Disk 3 not active
LOG: 3003674868 ERROR BIOS:Disk 1 not active
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: INT13: Check Extensions Present for drive: 0x80
LOG: Warning: PAGING_NewPageFault() more than one level, now using level 4
LOG: Warning: PAGING_NewPageFault() more than one level, now using level 5
LOG: Warning: PAGING_NewPageFault() more than one level, now using level 6
LOG: Warning: PAGING_NewPageFault() more than one level, now using level 7
LOG: Warning: PAGING_NewPageFault() more than one level, now using level 8

Those "using level" message increase the number every time I click outside DOSbox and then back onto its window.

Next attempt - IMGMOUNT as A/C/D a Win98 floppy (MS-DOS 7.10, MSCDEX, etc.), VHD image, the Win 2003 ISO WINNT.EXE started from DOSbox shell. Complains about SmartDrive, but copying is much faster than when run from guest MS-DOS. Stuck at: image

LOG: 1158831229 ERROR IOCTL:DOS:IOCTL Call 0D:4A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158831273 ERROR IOCTL:DOS:IOCTL Call 0D:6A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158835624 ERROR IOCTL:DOS:IOCTL Call 0D:4A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158835669 ERROR IOCTL:DOS:IOCTL Call 0D:6A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158835732 ERROR IOCTL:DOS:IOCTL Call 0D:4A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158835777 ERROR IOCTL:DOS:IOCTL Call 0D:6A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158907238 ERROR IOCTL:DOS:IOCTL Call 0D:4A Drive  2 volume/drive locking IOCTL, faking it
LOG: 1158907282 ERROR IOCTL:DOS:IOCTL Call 0D:6A Drive  2 volume/drive locking IOCTL, faking it

Wow... and now while I was copying that from the LOG - setup proceeded by itself! The yellow bar and percentage and file copying. Reached the following (without new LOG entries): image Retry didn't help. Skip proceeds. Complains about other files, but also copies some. Could it be that reading a 700+ MB ISO image is a problem? The same ISO boots and installs OK in VirtualBox.

Now I'm at about 23% yellow bar, but too many "skip file" to press... I doubt Windows will boot with so many missing files.

Maybe I should try instead:

Torinde commented 1 year ago

Also interesting - blue background color looks different:

RGB values taken via Sniping tool and then Paint.

image

Torinde commented 1 year ago

When trying to "boot c:" from VHD where Win 2003 is installed via VirtualBox: image

IMGMOUNT -ide 1m (both as letter and as number - same result)

BridgeHeadland commented 1 year ago

Thanks, will try like that. Tests above I made with the default IDEs (e.g. just imgmount c: HDD.IMG, imgmound d: CD.ISO). So, if I use "-ide 1m", "-ide 2m", then CD will be bootable? Because that was my problem for most attempts. Or should I still try to go via MS-DOS and WINNT.EXE /b?

ReactOS - CD isn't recognized as bootable and also from DOS6.22: dir show files, but no other commands can work with them: image

Same CD.ISO boots and installs OK in VirtualBox. Windows ISO CDs I mentioned above also boot and install OK in VirtualBox.

Sorry if I'm asking a silly question, but how do I use "-ide 1m" and "-ide 2m"? I've done some research but can't find any tutorials or anything, and I was thinking of trying my hand at installing Windows XP in DOSBox-X.

Torinde commented 1 year ago
imgmount 2 "HDD.vhd" -t hdd -ide 1m
imgmount d "Windows 2003 Server R2 SP2 Enterprise Edition (x86).iso" -t iso -ide 2m
imgmount /?

https://dosbox-x.com/wiki/Guide%3AManaging-image-files-in-DOSBox%E2%80%90X#_mounting_harddisk_images

In my attempts so far CD images for me are bootable in VirtualBox, but not in DOSbox-X. So I run WINNT or setup from DOSbox shell or guest MS-DOS floppy. As you can see above - no success, so I'm interested what you'll get.

rderooy commented 1 year ago

There are multiple ways to create bootable CD images, not all are supported in every environment. This was even true of real PCs back in the day, as the PCs BIOS may not support every CD boot option. In particular DOSBox-X only supports bootable CD images that use the "virtual floppy" method, as used by select OEM versions of Windows 9x/ME.

SuperPat45 commented 1 year ago

I found this article explaining the journey to install XP as guest: https://fabulous.systems/posts/2023/07/installing-windows-xp-in-dosbox-x/

Torinde commented 1 year ago

Fantastic! I'll try as well (install Win98SE, upgrade it to Win2000 Update Rollup, upgrade that to WinXP).

I think WinXP emulation will become relevant, because hypervisors will lose support for 32-bit operating systems and 16-bit applications when x86-S CPUs become a reality. To preserve software not running on Win9x and not running on 64-bit Windows (e.g. XP games using a 16-bit installer or something else missing in Vista+)

Intel recently announced also APX (adding 16 extra general purpose registers).

Also, the x87, MMX, and 3DNow! instruction sets are already deprecated in 64-bit modes - thus it's likely CPUs will lose support of those if AVX gets quad-precision floating point support (to cater for the software that needs 80-bit x87).

x86-S, APX and a hypothetical AVX-FP128 together would make a sensible cut-off point for CPUs/Windows to move forward.

Does somebody know a place listing the software potentially affected?

BridgeHeadland commented 1 year ago

@Torinde I want to confirm that I tried to upgrade to Windows 2000 from Windows ME, because WME is better than W98SE, but that's my opinion. It looked like it didn't work. In a couple of hours or so, I'll install Windows 98SE onto a VHD file, to see if I have better luck upgrading to W2K then, W2K actually came between W98SE and WME after all. On the other hand, there is probably something I have misunderstood during the tutorial that SuperPat45 has linked to, the thing about upgrading from 9x to NT is actually very new to me.

BridgeHeadland commented 1 year ago

After a long time it has succeeded for me to install Windows 2000, from Windows ME, it obviously takes a long time to start up this NT-Windows for the first time. The memory size is 128, the core is at normal, and the CPU type is Pentium MMX. Could the reason why Windows 2000 takes a long time to start up be because of the values ​​I mentioned, or could it be because the VHD file is 16GB? Is there anyone who knows?

joncampbell123 commented 1 year ago

I test installation using the MS-DOS based initial install program in I386/, you don't have to install from Windows.

Make sure you have a formatted hard disk image mounted as drive C: for it to install to. You may use FAT32 only if installing Windows 2000 or higher, older Windows NT systems cannot handle FAT32.

BridgeHeadland commented 1 year ago

@joncampbell123 Wow! Can you describe the configurations during the installation? There is nothing in the wiki about how to install Windows 2000 in DOSBox-X.

nathanpbutler commented 1 year ago

Here's my config, based on the Windows ME config from the wiki but with a few tweaks:

[sdl]
autolock=true
output=openglpp

[dosbox]
title=Windows 2000
memsize=128

[video]
vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.10
lfn=auto
hard drive data rate limit=0
floppy drive data rate limit=0

[vsync]
vsyncmode = on
vsyncrate = 60

[voodoo]
voodoo_card   = software
voodoo_maxmem = true
glide         = true
lfb           = full_noaux
splash        = true

[cpu]
cputype=ppro_slow
core=dynamic_rec
cycles=max

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=false

[ide, primary]
int13fakeio=true
int13fakev86io=false

[ide, secondary]
int13fakeio=true
int13fakev86io=false
cd-rom insertion delay=4000

[render]
scaler=none

[autoexec]
imgmount c hdd.img -t hdd -ide 1m
imgmount d "win2000.iso" -t iso -ide 2m

Copy the contents of D:\I386 to C:\I386, run the following commands in dosbox-x:

c:
cd I386
WINNT.EXE /s:c:\i386

I can't report on its success as I'm currently in the process of installing, but so far so good...

image

(ignore the Windows XP title, that was set before I decided to try Windows 2000 instead)

joncampbell123 commented 1 year ago

Here's my config, based on the Windows ME config from the wiki but with a few tweaks:

[sdl]
autolock=true
output=openglpp

[dosbox]
title=Windows 2000
memsize=128

[video]
vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.10
lfn=auto
hard drive data rate limit=0
floppy drive data rate limit=0

[vsync]
vsyncmode = on
vsyncrate = 60

[voodoo]
voodoo_card   = software
voodoo_maxmem = true
glide         = true
lfb           = full_noaux
splash        = true

[cpu]
cputype=ppro_slow
core=dynamic_rec
cycles=max

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=false

[ide, primary]
int13fakeio=true
int13fakev86io=false

[ide, secondary]
int13fakeio=true
int13fakev86io=false
cd-rom insertion delay=4000

[render]
scaler=none

[autoexec]
imgmount c hdd.img -t hdd -ide 1m
imgmount d "win2000.iso" -t iso -ide 2m

Copy the contents of D:\I386 to C:\I386, run the following commands in dosbox-x:

c:
cd I386
WINNT.EXE /s:c:\i386

I can't report on its success as I'm currently in the process of installing, but so far so good... image (ignore the Windows XP title, that was set before I decided to try Windows 2000 instead)

Having replied before I got up this morning... yes, that's basically how I do it too. :)

BridgeHeadland commented 1 year ago

@nathanpbutler What do I do after the DOSBox-X restarts?

nathanpbutler commented 1 year ago

@BridgeHeadland Just keep doing "boot c:" until the install process completes. I excluded it from the [autoexec] section just so I can properly diagnose if anything went wrong.

After the install process is complete, you'll need to install a few updates to restore the taskbar, use Task Manager to find and run the files as Explorer doesn't work too:

  1. Windows 2000 AIO Update - mount the image and follow the instructions on the website (excluding the first if you're installing from a Windows 2000 SP4 image)
  2. Source a copy of "Windows2000-KB891861-v2-x86-ENU.EXE" and install it.

After that is all done you should have a working copy of Windows 2000.

win2000postinstall win2000postinstall2 win2000postinstall3
BridgeHeadland commented 1 year ago

@nathanpbutler I'm doing it now at this very moment. Now I have reached the blue point where the setup starts Windows 2000, and the start has been going on for around fifteen minutes now. Is there normal? I often find that PCs behave differently than they normally do when other people use them, for some strange reason that I don't understand. How long did you have to wait for setup to start Windows 2000? Did it take days, around over a week? I will mention that I am trying to install Windows 2000 (probably in vain) in a VHD file in FAT32 format, as I have the impression that VHD is better than IMG.

joncampbell123 commented 1 year ago

@BridgeHeadland Just keep doing "boot c:" until the install process completes. I excluded it from the [autoexec] section just so I can properly diagnose if anything went wrong.

After the install process is complete, you'll need to install a few updates to restore the taskbar, use Task Manager to find and run the files as Explorer doesn't work too:

Restore the task bar??? Maybe you're using a different ISO of Windows 2000 but I've never seen a build where the taskbar fails to appear.

BridgeHeadland commented 1 year ago

@joncampbell123 Which ISO file are you using? Do you have a link?

BridgeHeadland commented 1 year ago

@nathanpbutler Sorry, but I'm not familiar with mounting 7Z files, so I don't know how to mount the 7Z file, or whatever I'm supposed to do. I haven't done that before. Even though it says how to do it, I still don't understand anything. Very confusing for moi. I have to have a very extreme over-explanation of how to do this whatever-I'm-going-to-do thing. You are using the ISO file from https://archive.org/details/win2kproiso right?

nathanpbutler commented 1 year ago

Restore the task bar??? Maybe you're using a different ISO of Windows 2000 but I've never seen a build where the taskbar fails to appear.

@joncampbell123 Which ISO file are you using? Do you have a link?

@joncampbell123 & @BridgeHeadland, the iso I tested with was from this link: Windows 2000 SP4 Retail Full Install Bootable ISO and the taskbar issue was similar to what this person documented here: Breaking the limits: Installing Windows 2000 in DOSBox-X.

Build I'm using is 2023.08.15 installed via Homebrew on macOS using:

brew install dosbox-x --HEAD

@nathanpbutler Sorry, but I'm not familiar with mounting 7Z files, so I don't know how to mount the 7Z file, or whatever I'm supposed to do. I haven't done that before. Even though it says how to do it, I still don't understand anything. Very confusing for moi. I have to have a very extreme over-explanation of how to do this whatever-I'm-going-to-do thing. You are using the ISO file from https://archive.org/details/win2kproiso right?

@BridgeHeadland 7z is a compression format just like Zip. I'm not sure how dosbox-x treats archives but if there is an ISO within that, you'll need to extract it first and then mount the ISO directly.

joncampbell123 commented 1 year ago

@joncampbell123 Which ISO file are you using? Do you have a link?

I am using a copy i obtained from an old MSDN CD collection, no download link. Meaning, physical CD-ROM converted to an ISO image.

BridgeHeadland commented 1 year ago

Are there any ISO files anyone would recommend downloading?

BridgeHeadland commented 1 year ago

Now I have installed Windows 2000 Professional, installed Windows 2000 Service Pack 4 and Windows 2000 kb891861 x86, and transferred the OnePiece Windows 2000 Post-SP4 UpdatePack to C:\Winnt>. Everything seems perfect. I have set Machine to svga_s3trio64v+, and added the corresponding display, and set W2K to 1280x1024 in resolution and 16,777,216 colors. What happens is when I reboot, or restart Windows 2000, the setting goes back to 640x480 resolution with 16 colors and I have to add the S3 Trio64V+ all over again, is this common?

P.S. I will mention that I followed nathanpbutler's config, except the output was set to openglnb and the version was set to 8.0. And then I must mention that the machine should ideally be set to svga_s3trio64v+ (period). :)

BridgeHeadland commented 1 year ago

I have finally succeeded to installing Windows XP in DOSBox-X. I used nathanpbutler's config, plus I set the version value to 8.0, the machine value to svga_s3trio64v+, all the serial and parallel values ​​to disabled, and the dongle value to false. The ISO file I used is https://archive.org/details/windows.-xp.-pro.u-sp-5.x-86.-all-in-one.-oem.-iso, and the Windows I installed is very troubled, as if it has a life of its own, following its own strange patterns. I don't know if it is DOSBox or Windows that is the problem, but if it is DOSBox that is the problem, there is still hope that sooner or later we can run Windows XP flawlessly in DOSBox. 99% of the time, when I start Windows XP, I find that explorer.exe have a problem, which means I can't get started. The way I see it, all the serial and parallel values ​​must be set to disabled while running Windows XP, but I don't know why. image

BridgeHeadland commented 1 year ago

One of the drawbacks is that, for some reason, I can't run DOSBox-X for Windows XP (MinGW-lowend builds), which I again run in DOSBox-X for newer Windows (64-bit MinGW builds). image

Torinde commented 1 year ago

DOSBox-X in WinXP in DOSBox-X :)

And for OS versions, if you want to proceed further:

BridgeHeadland commented 1 year ago

@Torinde I've done some research, and from what I can see, it doesn't seem like you can install Windows Vista (or later) in DOSBox. I'm not sure about Windows Server 2008 and Windows Server 2012.

BridgeHeadland commented 1 year ago

Recently I tried to run Return to Castle Wolfenstein in Windows XP, which I again run in DOSBox-X (latest 64-bit MinGW developer build for 7+), but unfortunately it caused the DOSBox to reboot, even though I have installed the latest drivers (at least among the latest). Could I have downloaded the wrong drivers, what drivers do you think are recommended to download for Windows XP, to run Windows games that cannot be run in 9x or DOS based Windows? Can it not be done as long as Windows XP is in the FAT32 file system, or is the issue in the current DOSBox-X itself - as of today, I mean?

Torinde commented 1 year ago

Please start a separate discussion for such specific topics (a game not working). This issue is for installing Windows NT bases operating systems.

You are one of the first to even boot WinXP in DOSBox, so don't expect a lot of advices on such questions. I don't think the filesystem matters for your problem. Drivers or something else may be a reason, or general instability of the whole setup. You mentioned above that most of the time even Explorer crashes... if that's the case, then definitely not ready to play games, especially DX8 ones like in this case (to my knowledge DOSBox doesn't emulate any GPU supporting that).

BridgeHeadland commented 1 year ago

@Torinde https://github.com/joncampbell123/dosbox-x/issues/4447 That's OK! I didn't know if I should make an issue about running Return to Castle Wolfenstein in Windows XP, or talk about it here and now, but here is the NT software issue!

herrnst commented 1 year ago

Now I have installed Windows 2000 Professional, installed Windows 2000 Service Pack 4 and Windows 2000 kb891861 x86, and transferred the OnePiece Windows 2000 Post-SP4 UpdatePack to C:\Winnt>. Everything seems perfect. I have set Machine to svga_s3trio64v+, and added the corresponding display, and set W2K to 1280x1024 in resolution and 16,777,216 colors. What happens is when I reboot, or restart Windows 2000, the setting goes back to 640x480 resolution with 16 colors and I have to add the S3 Trio64V+ all over again, is this common?

@BridgeHeadland Were you able to find out what's wrong in this regard? I'm currently seeing similar behaviour with Windows NT4 aswell as Windows 2000. To be more specific, both OSes appear to just forget whatever changes were made inside or around device manager. Though, on NT4, I found out that stopping NTLDR to the hardware profile selection, then press "S" to load the standard configuration, then boot, all changes made are there and kept on all successive boots. But letting NT4 autoboot will yield a message that "an old configuration was loaded" upon logging in.

This is on DOSBox-X 2023.09.01 SDL2 on macOS, M1 build installed via brew.

BridgeHeadland commented 1 year ago

@herrnst It seems that I have to set all the serial and parallel values ​​to disabled in order for the Windows NTs to remember the last changes. That's what I did, and Windows 2000 remembered that I set the display to the S3 Trio 64V+, something it does to this day. I'm not sure if the dongle needs to be disabled or not, I haven't tested that yet.

BridgeHeadland commented 1 year ago

I will mention that installing Windows XP directly from the DOS shell is troublesome, you have to start the installation directly from Windows 2000.

Torinde commented 1 year ago

it doesn't seem like you can install Windows Vista (or later) in DOSBox.

What are the problems?

It's worth to try:

Or actually, turn on ACPI before installing Win98SE, then install 98SE, upgrade it to 2000, upgrade that to XP, upgrade that to Vista.

BridgeHeadland commented 1 year ago

@Torinde I didn't say that I haven't been able to install Windows Vista, I didn't think it was possible from what I've read, but I haven't tried to install it yet. I need to repair current Windows XP first, but from an ISO file with a newer Windows XP, which is not corrupt, has any bug or things like that. Right now I'm away for a few days. Do you think https://archive.org/details/WindowsXPSP4 can repair Windows XP, which was installed from https://archive.org/details/windows.-xp.-pro.u-sp-5.x-86.-all-in-one.-oem.-iso ? :)

joncampbell123 commented 1 year ago

Official DOSBox-X policy is that if Vista happens to work... fine, but it's not a goal of this project and no effort will be made to support it.