[Guide] Running Batocera 43.X on VMware Workstation — IMG → VMDK
[Guide] Running Batocera 43.1 on VMware Workstation — IMG → VMDK
I wanted to run Batocera 43.1 x86_64 inside VMware Workstation on Windows 10.
The official Batocera VM documentation currently documents VirtualBox and QEMU, but not VMware Workstation. Batocera also notes that VM usage is not officially supported, so consider this a community workaround/testing method rather than an officially supported configuration.
I tested this with:
- Windows 10
- VMware Workstation
- Batocera 43.1 x86_64
- QEMU qemu-img
The important discovery was that the converted VMDK needs to be attached to VMware as a SATA disk, not SCSI.
1. Download and extract Batocera
Download the Batocera x86_64 image.
For this test I used:
batocera-x86_64-43.1-20260529.img.gz
Extract the .gz file using 7-Zip or another archive utility.
The result should be:
batocera-x86_64-43.1-20260529.img
Do not extract the contents of the .img file.
If you open the .img with 7-Zip, you may see:
0.vfat.fat
1.userdata.img
These are partitions inside the complete Batocera disk image. The .img itself is the complete disk image and should remain as one file.
2. Install QEMU
Install QEMU for Windows.
In my installation, qemu-img.exe was located at:
C:\Program Files\qemu\qemu-img.exe
Verify that it works:
"C:\Program Files\qemu\qemu-img.exe" --version
3. Check the Batocera IMG
I placed the image here:
C:\temp\batocera-x86_64-43.1-20260529.img
Run:
"C:\Program Files\qemu\qemu-img.exe" info "C:\temp\batocera-x86_64-43.1-20260529.img"
My image reported:
file format: raw
virtual size: 10.5 GiB
disk size: 10.5 GiB
This confirms that the .img is a complete raw disk image.
4. Convert IMG → VMDK
Use QEMU to convert the complete disk image to VMware VMDK:
"C:\Program Files\qemu\qemu-img.exe" convert -p -f raw -O vmdk "C:\temp\batocera-x86_64-43.1-20260529.img" "C:\temp\batocera-x86_64-43.1-20260529.vmdk"
After conversion, verify the VMDK:
"C:\Program Files\qemu\qemu-img.exe" info "C:\temp\batocera-x86_64-43.1-20260529.vmdk"
It should report:
file format: vmdk
virtual size: 10.5 GiB
The VMDK file itself may be smaller than 10.5 GiB because it is a sparse disk. That is normal.
5. Create the VMware Workstation VM
Open VMware Workstation.
Select:
Create a New Virtual Machine
Choose:
Custom (advanced)
Then select:
I will install the operating system later
For the guest OS choose:
Linux
Other Linux 64-bit
Give the VM a name, for example:
Batocera
6. VM hardware
A starting configuration:
CPU: 4 cores
RAM: 4 GB
Network: NAT
Firmware: UEFI
Adjust CPU/RAM according to your host system.
7. Add the Batocera VMDK
When VMware asks about the virtual disk, select:
Use an existing virtual disk
Select:
C:\temp\batocera-x86_64-43.1-20260529.vmdk
IMPORTANT: Use SATA
This was the most important part of my testing.
Make sure the Batocera disk appears as:
Hard Disk (SATA)
Do not attach it as SCSI.
Initially I attached the VMDK as SCSI. Batocera booted far enough to display:
Booting Batocera.linux...
but verbose boot then showed:
mount: mounting LABEL=BATOCERA on /boot_root failed: No such file or directory
Waiting for the root device LABEL=BATOCERA
LABEL=BATOCERA: Can't lookup blockdev
I removed the VMDK from the VM configuration and added the same VMDK again using a SATA controller.
After switching to SATA, Batocera successfully booted.
Do not delete the VMDK file when removing the SCSI disk. Only remove the disk from the VMware hardware configuration and then add the existing VMDK again as SATA.
8. Firmware
Go to:
VM → Settings → Options → Advanced
Set:
Firmware type: UEFI
9. Display
For my initial test I used:
Accelerate 3D graphics: OFF
Once the system is working, graphics settings can be experimented with depending on the host GPU and VMware version.
10. CD/DVD
The VM does not need a CD/DVD drive because Batocera is already installed in the VMDK.
I removed the CD/DVD device from the VM hardware configuration.
If VMware reports something like:
Cannot connect the virtual device sata0:1 because
no corresponding device is available on the host.
check the VM hardware and remove the unused CD/DVD device.
11. Boot Batocera
Start the VM.
You should see:
Booting Batocera.linux...
Batocera should then start normally.
For troubleshooting, select:
Batocera.linux (verbose)
from the Batocera boot menu.
Troubleshooting
LABEL=BATOCERA: Can't lookup blockdev
If verbose boot shows:
mounting LABEL=BATOCERA on /boot_root failed
Waiting for the root device LABEL=BATOCERA
LABEL=BATOCERA: Can't lookup blockdev
check the VMware disk controller.
If the disk is:
Hard Disk (SCSI)
remove it from the VM configuration and add the existing VMDK as:
Hard Disk (SATA)
This was the fix in my case.
Black screen
If Batocera boots but the VMware display becomes black:
- Try disabling Accelerate 3D graphics.
- Boot using Batocera.linux (verbose).
- Check whether Linux is actually continuing to boot or stopping at a particular error.
The initial black screen in my test turned out not to be the main problem; verbose boot revealed that the BATOCERA boot partition could not be found because the disk was attached through SCSI.
Final working configuration
My working VMware configuration was:
| Setting | Value |
|---|---|
| Host | Windows 10 |
| Batocera | 43.1 x86_64 |
| Hypervisor | VMware Workstation |
| Guest OS | Other Linux 64-bit |
| Firmware | UEFI |
| CPU | 4 cores |
| RAM | 4 GB |
| Disk format | VMDK |
| Disk controller | SATA |
| 3D acceleration | OFF |
| Network | NAT |
| CD/DVD | Removed |
The complete process is:
Batocera .img.gz
↓
Extract .gz
↓
Batocera .img
↓
QEMU qemu-img
↓
Batocera .vmdk
↓
VMware Workstation
↓
SATA virtual disk
↓
UEFI
↓
Batocera 43.1
Notes
This is a community-tested VMware Workstation method, not an officially supported Batocera VM configuration.
Batocera's official documentation warns that VM usage is not officially supported and that VM graphics/performance can differ substantially from bare-metal hardware.
I tested this specifically because I wanted a VMware Workstation solution without creating a physical USB drive.
If anyone has tested this with other VMware Workstation versions, newer Batocera releases, or different virtual graphics settings, I'd be interested in the results.