15

I have been using Ubuntu on VMware Player; today when I logged into VMware, it showed updates available for Ubuntu 15.xx. I allowed the updates and after downloading all the packages it restarted automatically, but never booted back. It is throwing messages like

Piix4_SMBus: 000:00:07.3: Host SMBus controller bus not enabled
failed to start /etc/rc.local compatibility

Please describe a way to fix it!

4
  • Updated received was 'Wily Warewolf'
    – Murali G
    Oct 29, 2015 at 23:46
  • There has been a fix for this problem for a while, but you need to access your Ubuntu installation 'hard disk' to edit the file /etc/modprobe.d/blacklist.conf and add the line blacklist i2c-piix4 . You may be able to do this by booting the VM from an ISO file for Ubuntu, and choosing 'Try Ubuntu' Oct 29, 2015 at 23:58
  • Hi Charles, thanks for your quick response. Could you please elaborate the steps as I am not really good in doing this. How do I access Ubuntu Installation hard disk? Please provide the navigation. I am using VMware Player and installed Ubuntu on VMPlayer. Apologies for the trouble.
    – Murali G
    Oct 30, 2015 at 0:13
  • Had the exact same problem today with Debian 13 (Trixie) under VMWare Workstation 17, apparently after installing packet webcam. This answer mainly gave me the trick!
    – Olivier
    Sep 13, 2023 at 13:17

5 Answers 5

11

First, add this line in your vmx file to increase the boot time to 50s

bios.bootDelay = "50000"

Start the VM, hold the left shift key down, then hit Enter.

In the grub menu, choose Advanced options for Ubuntu -> Recovery mode. Once the system boots, choose 'Root' to drop into a root shell.

In the root shell, enter the following commands

mount -o remount,rw /
nano /etc/modprobe.d/blacklist.conf

go down a few lines (almost anywhere) and enter the line

blacklist i2c-piix4

Then press ctrl+o to save the file, and ctrl+x

Finally, enter the command

reboot

21
  • 1
    Thanks Charles for the detailed answer. I am able to resolve the first issue. I almost shouted 'Eurekha', but it did not boot yet :-(, still another issue is pending, Error: failed to start /etc/rc.local compatibility see "sstemctl status rc-local.service" for details. Request you to provide your valuable solution. Appreciate your time & patience.
    – Murali G
    Oct 30, 2015 at 6:43
  • Sorry to hear continues problems. Oct 30, 2015 at 13:39
  • Yeah...hopefully everything gets resolved with the solution you are going to provide. But blacklist i2c-piix4 is a good learning for me. Your crystal clear answer helped me in resolving that.
    – Murali G
    Oct 30, 2015 at 19:44
  • 1
    @MuraliG You'll probably need to open a separate question, and you should try cross-posting into the vmware community forums. Nov 1, 2015 at 14:10
  • 1
    I had to additionally run update-initramfs -u after editing blacklist.conf
    – TimD1
    Jul 5, 2019 at 14:07
4

The method above didn't work for me on Ubuntu 16.10 and VMWare Workstation 12.5.1..

Boot into Ubuntu Recovery Mode --> drop into the root shell and open the kernel blacklist config file.

nano /etc/modprobe.d/blacklist.conf

Then add this line into the file and save.

blacklist intel_powerclamp

I found this solution from this post:

https://websiteforstudents.com/question/student-question-resolve-ubuntu-16-10-piix4_smbus-host-smbus-controller-bus-not-enabled/

0
3

At first, open *.vmx file from your VMware folder via notepad. Then add this line to the file and save it.

cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

The problem will be fixed.

2
  • 1
    This option worked for me, but only with one CPU -- had to reduce number of CPUs, before it worked. Now I can disable smbus in /etc/modprobe.d. I tried blacklisting from grub but none worked - OpenSUSE Tumbleweed 20180124 - Thanks! Jan 25, 2018 at 4:14
  • didn't work for me Jan 15, 2019 at 22:03
0

Although I'm late to the party, the solution to your other problem (failed to start /etc/rc.local compatibility etc., as described in the later comments to Charles Green's answer) is most probably (at least was for me), to wipe old, incompatible vmhgfs (shared VM disk) settings/module, since they break a couple of things.

First, the module doesn't load if there are version mismatch etc. Remove vmhgfs from /etc/modules, and now the init should run properly.

Secondly, if you added a fstab entry for your vmhgfs, systemd-fstab-generator generates a systemd startup task for it, also resulting in failed systemctl unit. Comment out or remove your vmhgfs line in fstab, and remove the relevant mnt-*.mount (e.g. mnt-vmhgfs.mount) files from your /run/systemd/generator. That should fix the 2nd part of the problem.

0

I was able to solve the problem by dropping into safe mode and running clean.

EDIT:

This was done holding shift when rebooting the VM. when in the grub go to "advanced options". Then in that menu run "clean"

1
  • Could you edit your answer and provide more detail about how to enter safe mode and run clean ?
    – storm
    Aug 24, 2021 at 20:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .