硬盘包含 Windows 和 Debian 2 个操作系统。当我在启动笔记本电脑上按 F2 时,会显示一个包含 2 个选项的菜单:从主硬盘驱动器启动或从 EFI 文件启动。主硬盘启动仅启动 Windows。
EFI 启动选项仅包含一个目录,我怀疑该目录是笔记本电脑最初具有的一些免费 dos...
我如何将 debian 的 EFI 文件放入该菜单中?谢谢
笔记:我现在唯一可用的操作系统是 Windows,我无法格式化和重新安装,我必须修复从 Windows 启动 Debian 的问题。
答案1
我假设您已经安装了 Debian,然后安装了 Windows 并假设您将能够双启动 - 如果我是正确的,请将您的问题分为两部分:
- 您的 Windows 已安装并使用“传统启动模式”- 在这种情况下您不能使用 EFI。
- Debian 引导加载程序被 Windows 引导加载程序替换/覆盖- Windows Bootloader 本身无法启动 Debian。
解决方案:
使用 Debian 安装程序在磁盘上查找并修复 Debian Linux 安装 - 只需从用于安装的 USB 闪存启动并按照说明进行操作(新版本的 Debian 应该自动找到您的安装并要求您做出决定)。安装程序将 GRUB2 置于 Windows 引导加载程序上,并允许您双引导两个系统。
答案2
从实时 Debian USB 启动,然后按照中所述重新安装 grub在硬盘上重新安装 grub-efi
mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi # /dev/sda1=EFI partition
mount /dev/sda2 /mnt # root partition
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
chroot /mnt /bin/bash
apt install os-prober
apt install --reinstall grub-efi
如果失败(问题1), 跑步:
cp debian/grubx64.efi boot/bootx64.efi
然后:
grub-install /dev/sda
或者:
grub-install --target=x86_64-efi /dev/sda
或者:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck --debug /dev/sda
退出 chroot 并取消挂载分区:
exit
for i in /sys /proc /dev; do umount /mnt$i; done
umount /mnt/boot/efi
umount /mnt