Saturday, 19 February 2011

Ubuntu boot error in VirtualBox - piix4_smbus 0000.00.07.0: SMBus base address uninitialized - upgrade bios or use force_addr=0xaddr

Been having an annoyance with Ubuntu and other Linux distro's running in VirtualBox for while. It didn't seem to have an impact on functionality, but it possibly had an impact on speed of boot.

I managed to find the answer here:

Essentially, you do the following:

  • Start a terminal 
  • sudo vi /etc/modprobe.d/blacklist.conf 
  • Add the line blacklist i2c_piix4 to the end of the file and save 
  • sudo update-initramfs -u -k all 

You might want to optionally remove unneeded kernal images before updating the initramfs to cut down on how long that part takes.


  1. how to do it before setup of ubunto?

  2. I don't think it really matters - The error is fairly cosmetic and only slows down the boot slightly until it is done. You might be able to cut a custom DVD or edit a network install image but I don't think it's worth doing?

  3. This error also appears to be appearing on production hardware (mine, to be specific!) using the pre-imaged Debian OS SD card. I will try to apply this fix and report back.

  4. It appears to just hang at the error screen, and stops booting up. How do I get to the point where I cane launch a terminal?

  5. I've not seen it do that before.
    Is there any of the Live CD\DVDs that you can boot from?
    Perhaps you could use those to modify your installed Ubuntu?

  6. How to write into the file blacklist with the read only permission? I'm stuck here...

  7. Thank you for your share of solving this problem, but how to write into the file with the read only permission... I'm stuck here..
    Even after type in the sudo command, I don't know how to write into the terminal with that line of command either..Could you elaborate more please?

    1. If you don't know how to use vi (I know it's not very user friendly), you can use nano or gedit instead:

      sudo nano /etc/modprobe.d/blacklist.conf

      sudo gedit /etc/modprobe.d/blacklist.conf