Software⏱️ 4 min read📅 2026-06-11

How to Fix: ubuntu on hyper-v gets smbus uninitialized error

Error fixing SMBus uninitialized issue on Ubuntu in Hyper-V virtual machine.

Quick Answer: Try upgrading BIOS or using force_addr=0xaddr to resolve the issue.

The 'SMBus base address uninitialized' error occurs when the SMBus (System Management Bus) is not properly initialized in a Hyper-V virtual machine running Ubuntu. This issue affects users who are experiencing difficulties booting or configuring their virtual machines, and can be frustrating to resolve.

Resolving this error requires careful attention to detail and an understanding of the underlying hardware and software configurations. In this guide, we will walk you through the steps necessary to troubleshoot and fix the SMBus uninitialized error on Ubuntu in Hyper-V.

🛑 Root Causes of the Error

  • The primary cause of the SMBus uninitialized error is due to a mismatch between the virtual machine's BIOS settings and the actual hardware configuration. In this case, the 'piix4_smbus' controller is not properly initialized, which prevents the SMBus from functioning correctly.
  • Alternatively, the issue may be caused by an outdated or corrupted BIOS version, which can lead to compatibility problems with the SMBus. However, this is less likely to be the cause in most cases.

🚀 How to Resolve This Issue

Updating the BIOS and adjusting Hyper-V settings

  1. Step 1: Step 1: Update the BIOS to the latest version. This can usually be done by visiting the manufacturer's website and downloading the latest firmware for your specific motherboard model.
  2. Step 2: Step 2: Configure Hyper-V to use the 'Force Address' option for the SMBus controller. To do this, open the Hyper-V Manager, select the virtual machine with the error, and click on 'Edit settings'. In the 'Boot options' section, check the box next to 'Use Legacy BIOS' and enter the desired address (usually 0x1F0 or 0x170) in the 'Force Address' field.
  3. Step 3: Step 3: Save the changes and restart the virtual machine. This should allow the SMBus to initialize correctly and resolve the error.

Adjusting Ubuntu settings and using a different SMBus controller

  1. Step 1: Step 1: Edit the Ubuntu boot configuration file (/boot/grub/grub.cfg) to specify the 'force_addr' option. To do this, open the terminal and run the command `sudo nano /boot/grub/grub.cfg`. Add the following line at the end of the file: `set force_addr=0x1F0` (or 0x170). Save and exit the editor.
  2. Step 2: Step 2: Reboot the virtual machine. This should allow Ubuntu to recognize the SMBus controller correctly and resolve the error.

💡 Conclusion

By following these steps, you should be able to troubleshoot and fix the SMBus uninitialized error on Ubuntu in Hyper-V. Remember to carefully review your BIOS settings and ensure that they match the actual hardware configuration. If you are still experiencing issues, consider seeking further assistance from the Hyper-V support team or a qualified IT professional.

Did this fix your problem?

If not, try searching for specific error codes.

🔍 Search Error Database

❓ Frequently Asked Questions