Ubuntu 12.10 and VMWare Workstation 9 Black Screen Kernel Panic Workaround
Ubuntu 12.04 was running just fine. I had it working quite well installed directly on my MacBook Pro 8,2 with VMWare Workstation 9 running a couple of guest OS VMs (one of which is OS X 10.6.8) but then I had to go mess it up by upgrading this morning to “Quantal Quetzal” Ubuntu 12.10. Right after the distro upgrade then subsequent updates, VMWare modules are always a moving target with update Linux kernels. I have always had to keep a version or two back on Linux laptops if I needed to run anything VMWare.
Here is the problem. Instead of a login screen for 12.10, you get a black screen.
The problem relates to the 3.5 kernel and the VMWare networking and other daemons that need to run and dish the network. There is a wonderful post here that details how to work with modified kernel modules and get it working. This is a way to do it. But, an easier way is to just to run the previous kernel. I don’t really have a need to run bleeding edge, so I thought to just boot into GRUB and flip it back to the older version of the kernel. The hassle here though is that in 12.10, Ubuntu moved to GRUB 2. This is probably a good thing for whatever reason, but it is a new system of management on boot. It is no longer just editing the default entry in /boot/ for the grub configs. They have moved GRUB stuff to /etc/default/grub and /etc/grub.d which I don’t want to mess with right now if I don’t need you.
Here is an interim fix with the hope that VMWare will get better with the 3.5 kernel soon.
1. Reboot and hold-down the shift key. This takes many tries in my experience to get the GRUB 2 screen options at boot. Default now for Ubuntu 12.10 is to really make this hidden perhaps not to confuse people. You can config GRUB 2 to get a delay menu if you wanted.
2. If you eventually get into the GRUB2, you can hit Advanced Options
Choose “Advanced options for Ubuntu” to go the area where you can modify the kernel.
3. Change the default to the 3.2 kernel option.
This is a one-time setting for this boot and will allow you to continue to run your VMWare Workstation 9 and guest OS VMs.
You can modify the GRUB2 settings to prioritize 3.2.x every time but I am choosing not to do that with the idea that perhaps there will be VMWare support for the newer kernels soon so all of this will be a non-issue. Running the 3.2 kernel gets you back in the game for now.