全新安装(Ubuntu 16.04 LTS)我无法通过 更新或安装任何内容apt
。我可以apt update
正常运行,但如果我按照apt upgrade
或进行操作,apt dist-upgrade
它总是(我尝试过无数次重启后以及从恢复模式中这样做)结果是:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
如果我运行它,它总是执行以下操作并且无限期挂起:
Setting up grub-efi-amd64 (2.02~beta2-36ubuntu3.12) ...
Installing for x86_64-efi platform.
Installation finished. No error reported.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.10.0-35-generic
Found initrd image: /boot/initrd.img-4.10.0-35-generic
Found linux image: /boot/vmlinuz-4.10.0-28-generic
Found initrd image: /boot/initrd.img-4.10.0-28-generic
uname -r
显示它正在运行4.10.0-35-generic
,所以我可以将其删除,4.10.0-28-generic
因为它总是挂在那里,但我无法清除它,因为这只会导致apt purge
它到达时挂起Found initrd image: /boot/initrd.img-4.10.0-28-generic
。
我尝试了以下所有可能的顺序,但没有成功
sudo dpkg --configure -a
sudo apt install -f
sudo apt clean
sudo apt update
sudo apt upgrade|dist-upgrade|full-upgrade
这是全新安装,所以我不担心任何会导致数据丢失的“核”选项(即我没有数据可丢失)。我尝试过使用启动修复但它从未完成(它说可能需要几分钟但我让它运行了几个小时)。
我意识到这个问题和这两个问题有相似之处E:dpkg 被中断...运行“sudo dpkg --configure -a”和dpkg --configure -a 在找到 initrd 映像时挂起但这些答案都无济于事。
答案1
grub 更新期间 30_os-prober 挂起。我忘了具体是什么问题了。
30_uefi-firmware 也有一个问题可以在这里修复 -https://askubuntu.com/a/938472/694267。
暂时删除两者的执行标志即可完成您的配置。
sudo chmod -x /etc/grub.d/30_os-prober
sudo chmod -x /etc/grub.d/30_uefi-firmware
然后运行sudo dpkg --configure -a
如果你想要 grub 中的系统设置条目,请修复 30_uefi-firmware,然后重新启用执行
sudo chmod +x /etc/grub.d/30_uefi-firmware
然后运行sudo update-grub