目录
一、问题描述
- 由于Ubuntu系统内存不太够,于是想要进行扩容,发现扩容必须要先删除系统快照,在删除快照进行系统内存扩展之后,便发现Ubuntu系统进不去图形化界面,如下图所示:
- 报错:piix4_smbus :SMBus Host Controller not enabled
二、问题分析
1.问题原因:
-
可能是由于删除快照导致系统自发装入i2c_piix4模块所致,然而系统并不能找到这个启用的模块
2.解决思路:
- 查明装入模块的确切名字,显示输出的结果是模块的确切名字:i2c_piix4
- 将该模块列入不装入名单。编辑文件sudo vim /etc/modprobe.d/blacklist.conf,在末尾加入:blacklist i2c_piix4
- 重新生成引导文件/boot/initrd.img: update-initramfs -u -k all
- 重新启动reboot
三、解决方式
1.进入命令行模式
方法1.
- 重启虚拟机,在虚拟机启动进度条完成之前按下shift键(一定要足够快!)
注意:在启动虚拟机之后一定要点击ubuntu界面(或 ctrl + G 快捷键)
- 选择第二个,Advanced options for Ubuntu
- 选择第二个,带有”(recovery mode)“的这一选项
- 选择root,两次回车换行,进入命令模式
方法2.
- 按下“ctrl+alt+F1~F6中的一个(具体是哪一个要自己试一下,不同系统命令不同)”或者“window+右箭头”,进入命令模式
2.查询错误相关模块
lsmod | grep piix4
3.禁用该模块
- 打开文件 /etc/modprobe.d/blacklist.conf
vim /etc/modprobe.d/blacklist.conf
- 编辑文件
按“i”
- 加入禁用模块命令blacklist i2c_piix4
blacklist i2c_piix4
- 保存并退出文件
按下“esc”退出编辑模式,按下“:wq”保存并退出文件。
4.重新生成引导文件
update-initramfs -u -k all
5.重启
reboot