I do most of my development in virtual machines -- primarily running in VMWare Fusion as my man dev boxes are MacBook Pros. Occasionally I need to edit the BIOS settings for VMWare VMs, but this is problematic as the amount of time you have to press <F2> to enter setup or <F12> for a boot menu seems to be well under a second. There is, however, an easy way to modify the boot delay.
Increasing the boot delay involves adding a single line to the virtual machine's primary configuration file, it's .vmx file. On Mac, VMWare VMs appear in Finder to be monolithic files. In reality, they are a directory structure. So, if you're going to use the UI to find and edit the file, youll need to right-click on the VM in Finder and choose "Show Package Contents". You'll then see the VM directory's contents and be able to use Finder to open the .vmx file in an editor.
Of course, if you're at the command line, just cd into the VM's directory structure and edit the .vmx file with your favorite editor.
Oh, and one note, you should probably not edit the .vmx file with the VM running (or maybe even if paused).
Once you have the .vmx file open in your editor, you can add (or modify) the boot delay line. The value is in milliseconds, so I'm setting it to a 3 second delay in the example below
Immediately after the VMWare splash screen flashes by (right), you'll now see the screen below for the amount of time you specified, giving you a chance to actually press <F2> or <F12>. Given the short default boot delay, you may never have seen this screen before.
One other thing to note is that on OS X the <F2> key is mapped to increase screen brightness. So, to enter setup, you'll actually need to press fn+<F2>. The <F12> key is doubly mapped. On it's own, the key is mapped to increase volume. In combination with the function key, it is mapped to show the dashboard. I don't use the dashboard, so I can use OS X's keyboard settings to unmap the dashboard from the fn+<F12> combination (right).
Should you not want to unmap the fn+<F12> key, another alternative is to add a mapping within VMWare Fusion's key mapping utility. To get to the VMWare key mapping utility, open Fusion and go to VMWare Fusion->Preferences in the top menu. Then add a key mapping for <F12>. In my case, I mapped Command-B to <F12>. I chose B for network boot.comments powered by Disqus