Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


A lightweight Turbo PC/XT emulator. · By Andreas Jonsson

Cannot boot using hard disk image

A topic by kkaos84 created May 31, 2023 Views: 110 Replies: 3
Viewing posts 1 to 4


I cannot get virtualxt to boot off my hard disk image.  I have version 0.8 with the SDL2 frontend installed on my Slackware machine and am trying to start the VM as follows:

$ ./virtualxt --hdboot -c hdisks/freedos.dd

First, I created the freedos.dd image file, which is 100 MB in size, with the GNU dd command.  I made the hdisks directory for storing my hard disk images in the root location for virtualxt, which is /opt/virtualxt on my machine.

Next, I booted off the provided freedos.img floppy with freedos.dd provided as the hard drive:

$ ./virtualxt -a boot/freedos.img -c hdisks/freedos.dd

Then, I used the FreeDOS FDISK utility to create a DOS partition that is activated for booting.

After that, per FDISK's output, I rebooted the VM off the floppy image again. I then used the FreeDOS FORMAT utility on the new C: drive:


After that, I copied the contents of A: to C: via the FreeDOS COPY and XCOPY utilities. Using the command and arguments as stated at the top of my post, I see the BIOS start up with the memory check followed by a blank, black screen.

What might I be doing wrong?

Sorry to here you are having troubles.

Can I just start by asking if you are using the provided AppImage or have you built from source?

The steps you have done should work and I have no problem doing the same on my Fedora machine. :(
Can you please try without COPY/XCOPY the content from the floppy to the fixed disk. Just to see if that goes wrong.

Also pay attention to any error messages FORMAT gives you with the /s option. Some times I have done a normal format and then executed A:\> SYS C:

Just going to outline my exact steps here:

* Download VirtualXT-SDL (version 0.8 for Linux)
* Extract the zip file
* Extract the FreeDOS floppy image or download it from:
* Create a empty HD image: truncate -s 100M disk.img
* Boot from the floppy with the HD image mounted: ./VirtualXT-x86_64.AppImage -a freedos.img -c disk.img
* Run fdisk: Z:\> FDISK
* Create a primary partition and exit fdisk. (Make sure it is only one FAT16 primary partition)
* Reboot the FreeDOS: Z:\> REBOOT
* Format the new disk like this:
      Z:\> A:
      A:\> FORMAT C:
      A:\> SYS C:

* Close VirtualXT and restart it like this: ./VirtualXT-x86_64.AppImage -c disk.img

If you just want some extra space for games etc. you can also just extend the included image and add another partition.
That way you do not have to bother copying any system files. (You can free up some space on C: by deleting or moving the games folder.)

* Download freedos_hd.img from GitHub. (Make sure it is from the 0.8 branch if that is what you are using.)

* Expand the disk image size: $ dd if=/dev/zero bs=1M count=250 >> freedos_hd.img

* Boot VirtualXT with just the HD: $ ./VirtualXT-x86_64.AppImage -c freedos_hd.img

* Create a new D drive with fdisk: Z:\> FDISK

* Reboot FreeDOS: Z:\> REBOOT

* Format the new secondary partition: Z:\> FORMAT D:

Hi Andreas.  Thank you for responding.

I downloaded the file from GitHub and built from that copy of the source, knowing that v0.8 is the stable release.

I was able to get booting from hard disk (C drive) working by referring to the instructions in your first response.  The main difference between what I did previously with what I did today is that I used truncate today instead of the dd utility.  Though I understand the difference between the two utilities, I am not quite sure why one worked over the other...but that does not matter.  Glad it works!