Mis*_*saz 8 boot debian grub uefi syslinux
我在 UEFI 笔记本电脑上有 2 个磁盘(/dev/sda 和 /dev/sdb)。都是 GPT。
sda1 - NTFS - Windows,
sda2 - FAT32 - EFI partition where is Windows Boot Manager and GRUB
sdb1 - NTFS - another windows
sdb2 - NTFS - My data
sdb3 - FAT32 - EFI partition
sdb4 - EXT4 - Debian
Run Code Online (Sandbox Code Playgroud)
在 EFI 顺序中,我可以看到 Windows 启动管理器和 GRUB。我可以在那时进行更改,这样就可以工作了。我考虑使用 syslinux 引导到 debian。我想在 sdb3 上安装 syslinux,我安装了它并将这些文件复制到该分区的以下位置:
/EFI/SYSLINUX/initrd.img
/EFI/SYSLINUX/ldlinux.e64
/EFI/SYSLINUX/syslinux.cfg
/EFI/SYSLINUX/syslinux.efi
/EFI/SYSLINUX/vmlinuz
Run Code Online (Sandbox Code Playgroud)
vmlinuz和initrd我从 sdb4\boot 复制并重命名。syslinux.efi和ldlinux.e64我从http://kernel.org下载的 syslinux-6.03.tar.gz 复制而来。我写的syslinux.cfg内容是
PROMPT 0
TIMEOUT 300
DEFAULT deb
LABEL deb
LINUX vmlinuz
APPEND ROOT=/dev/sdb4
INITRD initrd.img
Run Code Online (Sandbox Code Playgroud)
然后我通过命令将记录添加到EFI
efibootmgr -c -d /dev/sdb3 -p 1 -l \\EFI\\SYSLINUX\\syslinux.efi -L "SYSLINUX2"
Run Code Online (Sandbox Code Playgroud)
efiboot 管理器响应成功并显示 SYSLINUX2 作为启动选项,但是当我重新启动计算机(通过重新启动命令)并进入 UEFI 设置时,没有添加 SYSLINUX2 选项。只有 GRUB 和 Windows 启动管理器。下次启动到 debian 后,efibootmgr 也仅响应 Windows 启动管理器和 GRUB。
我读到有些人在安全启动方面遇到了问题。我已经禁用了它,GRUB 对此没有问题。
怎么了?如何使 efibootmgr 设置持久?我哪里出错了(如果有的话)?
您看到了一个错误,而且几乎可以肯定它与安全启动无关。我有几个建议,但都不能保证解决问题:
-B)efibootmgr也可以解决损坏的条目。单独尝试efibootmgr或efibootmgr -v获得更详细的输出,以查找重复或不需要的条目。(请注意,当您重新启动时,固件可能会自动重新创建一些固件。例如,网络启动选项或启动外部媒体的选项可能会发生这种情况。)efibootmgr不起作用,但另一个操作系统中的工具(例如bcdeditWindows中的EasyUEFIbcfg )或EFI shell 中的工具可以完成工作。因此,您可以尝试这些工具而不是efibootmgr.EFI/BOOT/bootx64.efi——如果其他方法不起作用,可以使用后备文件名(在 x86-64 系统上);但是,该文件名通常是计算机尝试启动的最后一个文件名。因此,如果它已经通过其他名称启动(例如 Windows 启动加载程序)EFI/Microsoft/Boot/bootmgfw.efi,您可能需要备份该名称,将所需的启动管理器/加载程序重命名为当前启动的默认值,然后重新配置新的启动加载程序以提供启动它伪装成使用新名称的那个。这充其量只是一种杂耍行为,并非所有 Linux 的 EFI 引导加载程序都可以链接加载到另一个 EFI 程序,因此它可能无法正常工作。(我不记得 SYSLINUX 是否可以链接加载另一个 EFI 程序。)| 归档时间: |
|
| 查看次数: |
31876 次 |
| 最近记录: |