从 live usb 恢复内核

从 live usb 恢复内核

在安装另一个发行版 (Arch) 时,我意外格式化了我的 efi 系统分区。然后我抓住机会切换到 systemd-boot。Arch 现在可以正常启动,但我想再次添加 Ubuntu 并进行双启动。Ubuntu 的根分区应该没问题,但由于我擦除了 efi 系统分区,我想我必须重新安装内核。

我尝试从实时 USB 进行 chrooting 并通过 apt-get 安装内核,但它说内核是最新版本。

sudo su
mount /dev/sdb5 /mnt      # ubuntu root
mount /dev/sdb2 /mnt/boot # esp
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt

然后尝试安装内核:

apt-get install linux-image-generic

输出:

Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-image-generic is already the newest version (4.13.0.38.41).
0 upgaded, 0 newly installed, 0 to remove and 39 not upgraded.

我错了吗?内核还在吗?如果 esp 上没有 efi 程序,如何将 Ubuntu 添加到 systemd-boot?

多谢

答案1

内核安装在文件系统分区,而不是 efi 分区。efi 分区包含操作系统启动前加载的 grub 引导加载程序文件。
要将 Ubuntu 添加到 grub 引导管理器,首先启动 Arch(因为您的 arch 安装可以正常启动)并确保已安装 ubuntu linux 分区。之后执行一个简单的

# update-grub 

或者

# grub-mkconfig -o /boot/grub/grub.cfg

这将扫描并找到每个操作系统的内核并将其添加到 grub 启动菜单中。因此,每次打开电脑时,你只需选择要运行哪个操作系统即可

相关内容