我为我的一个朋友安装了 Debian 9。现在我拿回了笔记本电脑,但启动时找不到可启动媒体。
我从使用实时模式安装的 USB 驱动器启动,并按照以下步骤操作:https://wiki.debian.org/GrubEFI重新安装这导致我来到这里:https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot
当我执行 12 时grub-install /dev/sdb
我得到
Installing for x86_64-efi platform.
error: cannot find EFI directory.
在 sdb1 上,我得到了 /EFI/debian/grubx64.efi 在 sdb2 上,我得到了 /proc /sys /run 等。
我不确定 sdb1 是否是我的引导分区 - 我尝试了跳过/执行 8 sudo mount /dev/sdXY /mnt/boot
。
我将 sdb2 用于所有其他 sdXY 命令。
当我执行 13 时,update-grub
我得到很多mkdir: cannot create directory '/var/lib/os-prober/mount': No such file or directory.
如何重新创建引导加载程序?
答案1
如果sdb1
包含,那么这很可能是 EFI 系统分区,并且 Debian 期望它在执行类似操作时/EFI/debian/grubx64.efi
已经安装在该分区,因此 Debian 引导加载程序的完整路径将为。/boot/efi
update-grub
/boot/efi/EFI/debian/grubx64.efi
根据安装时所做的选择,Debian 可以同时拥有/boot
和作为单独的文件系统。/boot/efi
在这种情况下,/boot/efi
将仅包含<mountpoint>/EFI/debian/grubx64.efi
、/boot/grub
(即文件系统<mountpoint>/grub
上的目录boot
)将包含grub.cfg
、x86_64-efi
GRUB 模块的目录以及 GRUB 的其他部分。