更新 grub-efi-amd64 时电脑冻结

更新 grub-efi-amd64 时电脑冻结

我已经安装了 2021 年的 kali Linux 副本,直到今天才更新它,更新后 xfce 重新加载并出现兼容性问题,所以我重新启动了我的电脑。然后 kali Linux 工作完美,但我仍然想继续我的更新。

当然,在我关闭电脑后,它中断了安装,所以我必须 sudo apt --fix-missing install 再次执行,它开始修复损坏的软件包,直到到达“grub-efi-amd64”软件包,然后冻结在 Installing for x86_64-efi platform

我真的不明白为什么它会扰乱 UFI,因为 kali linux 和 grub 可以完美启动。

那么,我不能跳过 grub-efi-amd64 软件包、忽略它或欺骗 apt 使其已经更新吗?

这里有一些可能有帮助的信息: - 它是 acer aspire PC(我听说了很多关于它们与 Linux 令人讨厌的不兼容的事情) - 4GB RAM(我不认为 ram 是问题,我什至做了一些交换存储) - Windows /Kali Linux 双启动。

我已经尝试将软件包设置为手动安装并将其搁置(使用 apt),但没有任何改变。

就是这样,请发送帮助。 (如果你想说如果你不懂 Kali Linux 就不要使用它,切换到 Ubuntu 或者升级是不必要的,请不要因为那太没用了)

谢谢

编辑:我已经禁用了 Windows 快速启动,因此 kali 可以完全访问驱动器。

以下是一些您可能会觉得有用的命令的输出:

┌──(azizbg㉿localhost)-[~]
└─$ efibootmgr
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0001,2001,2002,2003
Boot0000* USB HDD: Generic Flash Disk   PciRoot(0x0)/Pci(0x15,0x0)/USB(2,0)/HD(1,MBR,0x78d3d2,0x800,0xf3b800)RC
Boot0001* Windows Boot Manager  HD(2,GPT,9ca61072-663b-4c54-9198-bccb2732699e,0xfa000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0002* debian        HD(2,GPT,9ca61072-663b-4c54-9198-bccb2732699e,0xfa000,0x32000)/File(\EFI\debian\grubx64.efi)
Boot0003* kali  HD(2,GPT,9ca61072-663b-4c54-9198-bccb2732699e,0xfa000,0x32000)/File(\EFI\kali\grubx64.efi)
Boot0004* Windows Boot Manager  HD(2,GPT,9ca61072-663b-4c54-9198-bccb2732699e,0xfa000,0x32000)/File(\EFI\kali\grubx64.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000033000100000010000000040000007fff0400
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC
                                                                                                                                                             
┌──(azizbg㉿localhost)-[~]
└─$ lsblk -o +PARTUUID
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
                                           PARTUUID
sda      8:0    0 931.5G  0 disk           
├─sda1   8:1    0   499M  0 part           93ff9109-4a5e-4db5-a2f2-5643d8ad0445
├─sda2   8:2    0   100M  0 part /boot/efi 9ca61072-663b-4c54-9198-bccb2732699e
├─sda3   8:3    0    16M  0 part           904ebc32-9dfd-4873-a341-cf43b8432521
├─sda4   8:4    0   345G  0 part           a5735859-c9d3-4028-9b20-c7a310dda8e5
├─sda5   8:5    0   326G  0 part           36aa181f-c090-4ad8-81cc-a8da2da1c5cb
├─sda6   8:6    0  65.8G  0 part /         b86598e5-a35f-49ee-89d6-e24077befae0
├─sda7   8:7    0   977M  0 part [SWAP]    490bd7dc-b489-4ec1-b423-4bfab187349d
├─sda8   8:8    0  92.7G  0 part           9079fbc2-f69c-4d70-8cd2-3727c1ba29a4
└─sda9   8:9    0   519M  0 part           b16a2015-51c7-4261-b80a-bd4f38631a6a
sdb      8:16   1   7.6G  0 disk           
└─sdb1   8:17   1   7.6G  0 part           0078d3d2-01

答案1

我有一些疯狂的尝试,你可能想尝试一下。我不保证它会有所帮助,并且它可能会完全阻止您启动 Kali 安装

首先,看看是否可以成功运行这些:

sudo efibootmgr -B -b 0004
sudo efibootmgr -o 0003,0001,2001,2002,2003

然后再次运行,efibootmgr看看它们是否至少看起来有效果,即,BootOrder替换00040003Boot0004消失。

我不确定您是否在取消软件包更新后重新启动(或者您是否完全取消了它或只是让它停止)。


如果自更新停止(并被取消)以来您从未重新启动过,您可能希望在不重新启动的情况下恢复软件包更新。如果仍然不起作用,请考虑是否要冒险并重新启动。由于多种原因,您可能无法启动回 Kali。

如果您决定冒险,请efibootmgr在重新启动之前再次检查并查看是否BootOrder已更改(来自0003,0001,2001,2002,2003)。还要检查是否Boot0003已更改以及是否创建了任何新条目。如果其中任何一个碰巧属实,请考虑先报告,然后再继续做出重新启动决定。

在重新启动之前,您还可以查看是否efibootmgr -B -b 0003有助于使更新成功运行。但同时删除Boot0004Boot0003意味着很有可能(即,除非您的 UEFI 固件实际上由于某种原因锁定了启动变量和顺序)你将无法再次启动 Kali,除非您在重新启动之前运行此命令来重新创建条目:

efibootmgr -c -d /dev/sda -p 2 -l \EFI\kali\grubx64.efi -L kali

(如果更新有效,则不应运行此命令。只需运行efibootmgr以检查更新/是否grub-install为您重新创建了该条目。您甚至可能想检查一下efibootmgr是否取消更新还首先为您重新创建了该条目。)

仔细检查efibootmgr该条目是否已成功且正确地Boot0003重新创建并添加到BootOrder(最好/预期作为订单中的第一项)(即,看起来与原始条目相同)。


如果您在更新停止并被取消后重新启动,您可能需要先重新重新启动。重新启动后,检查是否Boot0004仍然消失或返回(和/或是否0003已被0004inBootOrder和替换BootCurrent)。

0004如果现在您在输出中看不到任何内容efibootmgr。尝试恢复包更新并查看是否仍然停止。如果是这样,请efibootmgr -B -b 0003按照上面所述进行考虑。

如果您看到该Boot0004条目返回,就好像未执行删除一样,您可能需要检查 UEFI 设置并查看是否有任何选项可以锁定启动变量和/或顺序。 (我只在某些 UEFI 设置中听说过这样的选项。不确定确切的措辞。)如果您能够找到它,请禁用锁定并再次尝试上述解决方案。 (或者甚至可以直接恢复更新,然后先看看它现在是否有效。)

相关内容