我今天遇到了这个问题。我试图将我的 Ubuntu 从 18.04 更新到 20.04,在安装更新期间,我的笔记本电脑试图重新启动。我有一台双启动电脑,有 Windows 和 Ubuntu。然后,在重新启动时,我的屏幕开始变亮,然后又变黑。然后我尝试进入启动菜单上的高级 Ubuntu 设置,并选择出现的第一个内核。但随后它向我显示了以下消息,我无法添加,因为图像尺寸太大,抱歉。但上面写着
- - -[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]- - -
如果可以的话请帮助我。提前致谢。
答案1
从 19.10 升级时遇到同样的问题。我仍在修复它,但我已经设法解决了你的问题。
尝试在较旧的内核(即早于 5.4 的版本)上以高级模式启动。
当高级屏幕出现时,使用 root shell 并执行以下命令:
dpkg -l | grep linux-image
在最后一个包的行首找到状态。状态ii
表示已正确安装,但我的是it
,这意味着一些触发器处于待处理状态。我运行了
dpkg --triggers-only linux-image-5.4.0-29-generic
并让系统解除阻止(替换显示的包名称it
)。
然后运行apt autoremove
清理包和内核。
从那时起你reboot
也许能够继续升级。
答案2
以下是我修复 19.10 更新失败时必须遵循的步骤。它包括Jogi's回答,grimmlink 的回答,并且库班奇克评论。
步骤1
重新启动(重启)你的机器进入恢复模式:
您需要按住left shift
和/或缓慢反复按下esc
;如果您连续按下esc
太多键,您将进入 grub shell。将出现一个黑屏,其中有一个选项列表。选择开头有 的选项。将出现一个新列表。现在选择一个结尾Advanced options
有 的旧内核选项。recovery
如果5.4.0-29
在列表中并且是最新(最高)数字,请选择低于它的恢复选项。我使用了类似的东西linux-image-5.3.#.# (recovery)
。
第2步
加载完成后,进入 root shell。这是root
选项列表中的选项。如果您的屏幕上有很多瑕疵,难以看清,请选择 root 选项,然后按ctrl + d
取消该选择,这应该会清除屏幕并使其再次可见。
进入 root shell 后,您可以利用这段时间将数据从磁盘中复制出来,以防在升级失败之前没有这样做;您需要查找另一篇文章来了解如何执行此操作。
现在运行以下命令来查看升级安装状态:
dpkg -l | grep linux-image
如果最高内核版本旁边的行开头是,ii
则表示安装成功,您可能只需转到步骤 3。iU
表示文件存在且已解压,但未正确安装。iT
表示安装因未运行的触发器而受阻。 请继续执行:
第 2 步:iU
状态
您将需要使用以下命令重新安装失败的映像。感谢 Jogi。
sudo update-initramfs -u -k 5.4.0-26-generic # <--- replace with your version!
sudo update-grub
reboot
第 2 步:iT
状态
您需要手动运行更新触发器。信用 grimmlink。
dpkg --triggers-only linux-image-5.4.0-29-generic # <--- replace with your version!
reboot
步骤3
此时您应该能够启动 Ubuntu。如果像我一样,GUI 仍然损坏,但从技术上讲您可以看到登录屏幕/登录到您的系统,则需要执行以下操作:
返回恢复模式并再次进入 root shell。笔记:您现在可能可以使用最新的内核版本,而不是旧版本;我使用的是旧版本。运行这些命令。部分功劳归功于 kubanczyk。
dpkg --configure -a
apt --fix-broken install
reboot
你现在应该有一个可以运行的 Ubuntu 20。如果没有,那么可能是其他问题,或者某些东西没有像预期的那样更新。
故障排除
以下是您在进行故障排除时需要记住的关键命令。注意:我将 sudo Jogi 添加到命令中,但您的 root 已经是,因此它们很可能是不必要的:
sudo update-initramfs -u -k 5.4.0-26-generic # <--- replace with your version!
sudo update-grub
dpkg --configure -a
apt --fix-broken install
答案3
我有同样的问题...
更新过程未生成正确的 initrd.img。为了解决这个问题,我启动了一个较旧的内核,然后执行了
sudo update-initramfs -u -k 5.4.0-26-generic
(将其替换为您的版本)
sudo update-grub
然后重新启动。我的系统现在启动正常。
答案4
我启动了最旧内核的恢复模式。它是 3.*,然后提示恢复 shell,我运行了恢复 shell 自身提供的 dpkg 命令。它安装了所有软件包,问题解决了。我不需要运行任何特定命令。
我的电脑在更新后就死机了,所以我手动重新启动了它并执行了上述操作。