14.04 Dpkg 发现内核:/memtest86+.bin 问题(更新 grub 期间冻结)

ftv*_*tv3 12 upgrade grub2 dpkg kernel 14.04

希望我没有为我遇到的问题打开新主题而违反任何规则。相信我,我已经尝试浏览了 askubuntu 和一堆其他网站,但到目前为止,没有提供的解决方案对我有用 - 希望你们能帮助我解决问题。

今天早些时候,我将我的 Ubuntu 服务器升级到 14.04:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:        14.04
Codename:       trusty
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
Run Code Online (Sandbox Code Playgroud)

如果我运行该命令,它会卡在:找到内核: /memtest86+.bin

请告知如何继续(我尝试了多种解决方案,包括update-grub,以及其他很多解决方案,但都没有奏效)。

$ sudo dpkg --configure -a
Processing triggers for initramfs-tools (0.103ubuntu4) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic
Setting up mdadm (3.2.5-5ubuntu4) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: error processing package mdadm (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 mdadm
Run Code Online (Sandbox Code Playgroud)

重新启动我的电脑并运行后sudo dpkg --configure -a,我又回到了原来的问题:

Setting up mdadm (3.2.5-5ubuntu4) ...
 Removing any system startup links for /etc/init.d/mdadm-raid ...
update-initramfs: deferring update (trigger activated)
update-grub is /usr/sbin/update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /vmlinuz-3.13.0-24-generic
Found kernel: /vmlinuz-3.2.0-61-generic
Found kernel: /vmlinuz-3.2.0-48-generic
Found kernel: /vmlinuz-3.2.0-24-generic
Found kernel: /vmlinuz-3.0.0-12-server
Found kernel: /vmlinuz-2.6.28-11-server
Found kernel: /vmlinuz-2.6.27-14-server
Found kernel: /vmlinuz-2.6.24-24-server
Found kernel: /vmlinuz-2.6.22-16-server
Found kernel: /vmlinuz-2.6.22-14-server
Found kernel: /memtest86+.bin
Run Code Online (Sandbox Code Playgroud)

Uname -r 返回

3.13.0-24-generic
Run Code Online (Sandbox Code Playgroud)

费了一番周折,解决了 dpkg --audit然后dpkg --configure <packagename>for包列出

小智 19

这个问题可能发生在 Hyper-V 虚拟化的情况下(今天发生在我身上)。

在这种情况下,答案是通过打开配置文件来禁用 grub 中的操作系统探测:

sudo nano /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

并添加以下行:

GRUB_DISABLE_OS_PROBER=true
Run Code Online (Sandbox Code Playgroud)

将更改保存到 /etc/default/grub 后,重建 grub(在带有 Ubuntu 15.04 VM 的 Windows 10 Hyper-V 上运行):

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

然后 apt-get update 或 whatev:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)


Han*_*nnu 4

经历了很多麻烦之后解决了

dpkg——审计
# 进而
dpkg --配置
# 对于列出的包