软件更新程序显示一条消息,提示有新更新可用。我选择安装更新。显然,更新应该安装内核版本 4.4.0-22。但是,安装过程在中途停滞了几个小时。我中断了更新过程并运行了命令“sudo dpkg --configure -a”。这里也发生了同样的事情。它停滞在“run-parts:执行 /etc/kernel/postinst.d/dkms 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic”
命令的结果:
sudo dpkg --configure -a
Setting up linux-image-4.4.0-22-generic (4.4.0-22.39) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-4.4.0-22-generic
vmlinuz(/boot/vmlinuz-4.4.0-22-generic
) points to /boot/vmlinuz-4.4.0-22-generic
(/boot/vmlinuz-4.4.0-22-generic) -- doing nothing at /var/lib/dpkg/info
/linux-image-4.4.0-22-generic.postinst line 491.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
我将非常感激任何对此提供的帮助。
更新:
我还尝试使用命令“sudo dpkg -P linux-generic linux-image-extra-4.4.0-22-generic linux-image-generic linux-image-4.4.0-22-generic”删除半安装的内核包。它也卡住了。以下是该命令的输出:
sudo dpkg -P linux-generic linux-image-extra-4.4.0-22-generic linux-image-generic linux-image-4.4.0-22-generic
(Reading database ... 288791 files and directories currently installed.)
Removing linux-generic (4.4.0.22.23) ...
Removing linux-image-generic (4.4.0.22.23) ...
Removing linux-image-extra-4.4.0-22-generic (4.4.0-22.39) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
答案1
显然,我找到了罪魁祸首。我重新安装了 Ubuntu。更新了所有内容,包括内核。到目前为止没有问题。接下来,我开始安装我需要的应用程序。第一个是 Eset Nod32 Antivirus。安装、重新启动并登录后,Ubuntu 冻结了。启动到恢复模式(图形模式)并卸载 Eset Nod32 Antivirus 并再次重新启动后,一切恢复正常。似乎出于某种原因,Linux 内核 4.4.0-22 和这款防病毒软件之间存在冲突。
答案2
我今天早上也得到了同样的东西——这是开始新一天的好方法,对吧?;)
在尝试了通过 Google 找到的各种建议和想法之后,我感到很沮丧,并且以我惯常的方式开始按照自己的方式做事。:) 我不确定我的解决办法是否是真正的解决方案,但是它帮助我解决了问题。
在我对失败的安装的评估中(很容易复制,只需安装或删除任何内容),我发现级联链中的第一个错误在于grub2-mkconfig
不存在!Google 上有很多适用于 Fedora 和 SUSE 的内容,但基于 Ubuntu 的内容并不多。 grub-mkconfig
存在于 /usr/sbin 中,所以我创建了一个符号链接,以便基于除空脚本之外的其他内容来获取grub2-mkconfig
。这会产生错误,因为没有grub2
。/boot
另一个符号链接,所以/boot/grub
和/boot/grub2
是相同的,一切似乎都井然有序。
我认为这是一个胶带式的补丁,而不是真正的修复,因为我没有解决这个问题——grub2-mkconfig
它应该存在,但却缺失了。真正的解决方案更像是找到并安装一个合适的grub2-mkconfig
。但我很懒,时间又短,所以……也许在我拖延完待办事项清单上的其他事项之后。;)
答案3
“解决方案”是在内核/nvidia 更新之前卸载 nod32。
这是一个糟糕的解决方案,但是确实有效——责任归咎于 eset 开发人员。
我建议联系他们的技术支持。
此主题包含相同的“解决方案”