在现有且之前正常运行的 Ubuntu 安装上显示“无效的魔法数字,您需要先加载内核”(不是实时 USB 问题)

在现有且之前正常运行的 Ubuntu 安装上显示“无效的魔法数字,您需要先加载内核”(不是实时 USB 问题)

我在一块全新的 SSD 上安装了 Ubuntu 20.04。这块主板上还有其他硬盘,例如 Windows。我的安装很顺利,昨天我整天都在安装。我记不清了,但我相信我重启了几次,进行更新之类的操作,然后毫无问题地重新启动到 Ubuntu 20.04。直到深夜,我才重新启动 Windows。之后我关闭了系统,今天早上尝试重新启动 Ubuntu 20.04。我之所以提到这一点,是因为我的一些研究表明 Windows 有时会干扰启动文件系统。

请注意,尽管 fsck 显然发现了大量错误,但在我从临时 Live Ubuntu 运行 fsck 之前和之后,以下问题都完全相同。在 fsck 之前,该驱动器无法在该 Live Ubuntu 中安装,之后,它可以安装,我今天早上可以获取一些我需要的文件。

如果我尝试在 Grub 菜单中选择“Ubuntu”,则会收到错误:

Error: Invalid Magic Number
Error: You need to load the kernel first

如果我进入控制台,我可以看到我的文件系统没有问题。

ls (hd3,gpt2/)
lost+found/, boot/ ...etc

在我的 boot/中有

efi/
grub/
System.map-5.4.0-26-generic
config-5.4.0-26-generic
initrd.img
initrd.img.old
memtest86+.bin
memtest86+elf
memtest86+_multiboot.bin
vmlinuz
vmlinuz.old
vmlinuz-5.4.0-26-generic 
vmlinuz-5.4.0-48-generic <-- this is the one I'm trying to use
initrd.img-5.4.0-26-generic
config-5.4.0-48-generic
System.map-5.4.0-48-generic
initrd.img-5.4.0-48-generic

如果我file这样做,我会得到奇怪的结果:

file (hd3,gpt2)/boot/vmlinuz-5.4.0-48-generic
error: invalid arch-independent ELF magic

file (hd3,gpt2)/boot/initrd.img-5.4.0-48-generic
error: invalid arch-independent ELF magic

此时,我的潜在研究点已经足够多,让我认为我应该在 stackexchange 上询问我可以尝试的下一步措施。例如,两个最常见的 ubuntu stackoverflow 答案似乎直接从 grub(或 grub-rescue?)获得“无效的独立于架构的 ELF 魔法”。此外,reddit 和 stackexchange 上的所有其他“无效魔法数字”答案都涉及直接从闪存驱动器运行的 Live CD 类型的东西,解决方案始终是“使用不同的闪存驱动器/安装创建工具”。

请注意,上述命令和响应都是手输入的,因此,当我仔细检查时,我可能输入了错误的内容。

我怎样才能再次启动到 20.04,最好不要重新安装或丢失文件?

下面的实验:

我试过Live USB 错误“您需要先加载内核”

第一个答案不起作用,如果我这样做

linux /boot/vmlinuz-5.4.0-48-generic root=/dev/sdb2

我明白了

error: invalid magic number

第二个答案不起作用。我没有处于安全启动模式。

第三个答案不起作用,我尝试断开所有 USB 设备,但无济于事。

我在网上看到一些关于 EFI 模式的信息。在我的 grub 菜单中,我看到了UEFI Firmware Settings一个选项,但我不确定这是否表示我处于 UEFI“模式”。根据我在 bios 菜单中看到的内容,我相信我处于 UEFI 模式。

我尝试了最常见的错误解决方案invalid arch-independent ELF magic(在各种 Stackexchange 问题中)

sudo mount /dev/sdb2 /mnt
sudo grub-install --root-directory=/mnt /dev/sdb2
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.
grub-install: error: will not proceed with blocklists. 

编辑:我运行了经常推荐的启动修复工具,这是输出:http://paste.ubuntu.com/p/H86ZBpr9Sr/

现在错误是

error: invalid magic number
alloc magic is broken at 0xb7855240: b779dc00
Aborted. Press any key to exit.

相关内容