VMware products store various BIOS and other important data files using resources on Windows and in extra sections on other platforms. With the arrival or Workstation 10 and Fusion 4, these resources can now be easily extracted from the command line using the vmware-vmx executable, which is responsible for actually running the guest.
Here are the options:
1 2 3 4 5 6 7 8 9 10 11 12 |
Usage: vmware-vmx [<flags>] [configfile] where <flags> are: -P start paused -q exit at power off -s name=value set variable NAME to VALUE -x power on when program starts -X as -x, also go to full screen mode -v print program version -# Product-specific settings <strong>-e name extract a resource specified by name</strong> -? Usage -@ VMDB connection to UI |
The “-e” flag specifies which named resource to extract from the executable. As of writing the current the list of resources that can be extracted are:
Name | Description |
---|---|
ahcibios | SATA Option ROM |
bios440 | Legacy Phoenix BIOS ROM |
e1000bios | Intel E1000 Option ROM |
e1000ebios | Intel E1000E Option ROM |
efi32 | EFI 32-bit BIOS ROM |
efi64 | EFI 64-bit BIOS ROM |
lsibios | LSILogic Option ROM |
nbios | AMD Am79C970A Option ROM |
nvram | Default BIOS NVRAM settings |
nx3bios | VMXNet3 Option ROM |
nxbios | VMXNet Option ROM |
pvscsibios | Paravirtual SCSI Option ROM |
sas1068bios | SAS 1065 Option ROM |
sbios | SCSI Option ROM |
vbios | Video Option ROM |
vmmmods | VMM Modules |
vmmovhds | OVHDS VProbe scheme file |
Here is a BASH script for OS X to extract all the files.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#!/bin/bash /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e vmmmods > vmx-vmmmods.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e nbios > vmx-nbios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e sbios > vmx-sbios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e nxbios > vmx-nxbios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e efi64 > vmx-efi64.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e bios440 > vmx-bios440.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e vbios > vmx-vbios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e e1000bios > vmx-e1000bios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e lsibios > vmx-lsibios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e pvscsibios > vmx-pvscsibios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e sas1068bios > vmx-sas1068bios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e nvram > vmx-nvram.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e ahcibios > vmx-ahcibios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e e1000ebios > vmx-e1000ebios.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e vmmovhds > vmx-vmmovhds.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e efi32 > vmx-efi32.rom /Applications/VMware\ Fusion.app/Contents/Library/vmware-vmx -e nx3bios > vmx-nx3bios.rom |
Extract BIOS from VMware