joncampbell123 / dosbox-x

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

Cannot load Win 10 directory mounted in DosBox-X as Virtual Drive #2919

Open leandrocaplan opened 3 years ago

leandrocaplan commented 3 years ago

Code of Conduct & Contributing Guidelines

Have you checked that no other similar question(s) already exists?

Question

Hi everyone! Greetings from Argentina. My trouble is this one: I've achieved to boot Windows 98 from DosBox-X, according to the tutorial page (https://dosbox-x.com/wiki/Guide:Installing-Windows-98) I've also achieved to load a CD-ROM drive from a virtual ISO image file. However, what I still couldn't achieve is Windows 98 to recognize me, either like a hard disk drive or like a floppy drive, a directory from the native OS (Windows 10), virtually mounted through the "mount" command. That is to say, I've found no way of Windows 98 to achieve to "communicate", with the rest of the files from my PC (something that, however, I actually achieved with the DOS Command Line Interface and even with Windows 3.1). I've even achieved to establish an Internet conecction into W98, but saying that it's too slow it would be un understatement: when trying to make a "ping" to "www.google.com", it recognizes me the domain name, but every packet sent results in "request timed out". From Internet Explorer, I can load a very basic HTML view of Google, but I'm trying to access the FTP server of Mozilla, to download a compatible version of Firefox, and no case. I share to you then, the contents of my "win98.conf" file, and some screenshots from the emulated operating systems. I hope somebody can help me. Thanks a lot. Leandro.

win98.conf:

[sdl] autolock=true

[dosbox] title=Windows 98 memsize=512

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

[dos] ver=7.1

ver=8

hard drive data rate limit=0

[cpu] cputype=pentium_mmx core=normal

[sblaster] sbtype=sb16vibra

[fdc, primary] int13fakev86io=true

[ide, primary] int13fakeio=true int13fakev86io=true

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

[render] scaler=none

[ne2000] ne2000=true nicirq=10 backend=slirp

[autoexec]

-t iso -fs iso -ide 2m

mount d c:\dosbox -t floppy -fs fat32 -ide 2m -size 512,63,255,1023 IMGMOUNT e gooch.iso -t iso -fs iso -ide 2m IMGMOUNT C hdd.img pause

BOOT -L C:

Result of running DosBox-X with the correspondent configuration file. I've put a "pause" before the "boot" command, so it can be properly visualized the response of the command line interface, just before the emulated operating system is booted (note: I've tried both the command "mount" with "-size" options and without it, Neither of both worked): win98_boot

View of "My PC" (in spanish) in the emulated operating system. Notice that the "C:" drive represents the virtual disk image loaded with "IMGMOUNT C hdd.img" command, and the "D:" drive, represents the CD-ROM drive loaded with the "IMGMOUNT e gooch.iso (...)" command, that actually should be assigned to letter "E:" It doesn't appear, however, the hard disk drive loaded with the command "mount d c:\dosbox -fs fat32 -ide 2m". I've also tried running it with the "-t floppy" parameter, to look if it could be visualized like a floppy drive, but neither worked: mi_pc_98

joncampbell123 commented 3 years ago

You're mounting TWO disk images attached to IDE secondary master (-ide 2m). IDE cannot do that. You need to make one IDE secondary slave (-ide 2s) or primary slave (-ide 1s).

You may want to make sure the disk image attached to C: is IDE primary master (-ide 1m).

EDIT: In case anyone is offended by IDE terminology here, I am using the traditional terms to refer to non-sentient "spinning rust" storage devices known as hard drives, and to nothing else.

leandrocaplan commented 3 years ago

@joncampbell123 Thank you very much for the reply. I'm now trying this:

[autoexec]

-t iso -fs iso -ide 2m

-size 512,63,255,1023

IMGMOUNT C hdd.img -ide 1m mount d c:\dosbox -fs fat32 -ide 2m IMGMOUNT e gooch.iso -t iso -fs iso -ide 1s

IMGMOUNT C hdd.img -ide 1m

pause

BOOT -L C:

I've previously tried this:

[autoexec]

-t iso -fs iso -ide 2m

IMGMOUNT C hdd.img -ide 1m mount d c:\dosbox -fs fat32 -ide 1s -size 512,63,255,1023 IMGMOUNT e gooch.iso -t iso -fs iso -ide 2m

IMGMOUNT C hdd.img -ide 1m

pause

BOOT -L C:

Then, I've tried to add new hardware in Control Panel It's still not working :'(

rderooy commented 3 years ago

As @joncampbell123 explained, you cannot use mount to mount a host folder, and then boot a OS. You will loose access to it.

If you want to boot a OS in DOSBox-X, all mounts need to be images (mounted with imgmount).

leandrocaplan commented 3 years ago

@rderooy Oh, I understand. Well, thank you very much anyway.

leandrocaplan commented 3 years ago

I've found a partial solution: I've actually could see the drive letter mounted with "mount" command in Windows 3.1, and also drives mounted with "imgmount". What I'm doing is transfering files from my PC to the virtual drive through Win 3.1, but it's preeeetty slow.

rderooy commented 3 years ago

You can access the contents of the Win98 image file on Windows10 with something like 7-Zip. https://dosbox-x.com/wiki/Guide%3AManaging-image-files-in-DOSBox%E2%80%90X#_using_harddisk_images_in_windows

mayerwin commented 2 years ago

When trying to copy files to the image with 7-Zip, it shows error: "Not Implemented".

rderooy commented 2 years ago

Right, it is only to extract files. If you know something that can also write to it from Win10, let me know.

mayerwin commented 2 years ago

So do you know how can we "mount" files we need to access from the win98 VM?

rderooy commented 2 years ago

You start dosbox-x, you then do:

ver set 7.1
imgmount c hdd.img
mount d /somedir

From the dosbox-x cmd prompt you can use the copy or xcopy commands to transfer files from the /somedir directory to the hdd.img image file.

joncampbell123 commented 2 years ago

Understand that there is no way to share a folder with the guest OS at this time. The only way to share files with the guest is to copy them to a disk image and mount the disk image as a hard disk that is visible to the guest. Alternatively, if modifying the files is not needed, you could also put the files into an ISO image and mount it as an ATAPI IDE CD-ROM drive visible to the guest as well.

joncampbell123 commented 2 years ago

DOSBox-X does not have guest drivers to share folders with the host the way VirtualBox does.