Friday, 18 January 2019

Fix issues with VirtualBox v6 and VMUB (fix --startvm error)

The new version 6 of Oracle VirtualBox has changed executables and so it has (deliberately!) broken backwards compatibility with all earlier scripts, shortcuts and applications which call VirtualBox.



This includes DavidB's VMUB application. To make VMUB work with the new VBox 6 version:


Workaround for VBox v6 (fix for --startvm error)

I recommend changing the executable path to VirtualBoxVM.exe.
However the 'Manage' button in VMUB will not work. If you want to run Virtual Box Manager then set up an Administrator Desktop shortcut if you want to run the Manager.

The fix below does NOT lock the USB drive and can cause boot failures.

1. In VMUB - Options - VirtualBox - change Exe Path to C:\Program Files\Oracle\VirtualBox\VMUB.cmd




2. Run an Admin cmd shell (use WinKey+X - Powershell (as Admin) - and then type cmd to get a cmd shell).

3. Type

cd "\Program Files\Oracle\VirtualBox"

4. To create a new file in the \Program Files\Oracle\VirtualBox folder called VMUB.cmd

Type on the command line:

Notepad VMUB.cmd

5. Type and save the following text:

@echo off
if "%1"=="" start VirtualBox.exe
if not "%1"=="" start VirtualBoxVM.exe %*


Note: This fix does not work correctly because the .cmd file causes the USB drive to be re-mounted by Windows. This means that booting to WinPE, etc. from VMUB may not work.

5 comments:

  1. Would you be willing to work with the author of VMUB, to try and figure out why VMUB has issues with VBox version 6.1?
    Here is the specific issue: https://github.com/DavidBrenner3/VMUB/issues/8#issue-578765618

    ReplyDelete
  2. Actually, the following work-around is a good alternative to VMUB:

    https://www.how2shout.com/how-to/virtualbox-virtual-machine-boot-usb.html#In_Windows_1087

    ReplyDelete
    Replies
    1. No - it is not good. When you boot like that, VBox creates a snapshot of the USB drive because it cannot lock the drive for exclusive access. This means sector writes at the BIOS level do not actually write to the USB drive. That is why VMUB was written. It dismounts the USB drive from Windows and allows VBox to fully mount and lock the USB drive - thus writes under grub4dos, grubs, DOS, Win98, etc. work correctly and are not snapshotted.

      Delete
    2. True... but if I don't need write access to test my bootable flash-drive, then this method is fine with me.

      I also found out that you have to change the virtual media type from "Normal" to "Immutable", so that various WinPE images will reboot correctly when loaded into memory.

      Delete