我的 extlinux 设置导致 PC 卡在 BIOS 中

我的 extlinux 设置导致 PC 卡在 BIOS 中

我的磁盘有 2 个操作系统,Alpine 和 Debian,并且 /home 位于单独的分区中。

引导加载程序是来自 Debian 的 grub,安装在 MBR(BIOS)中。

我想使用 Alpine 及其 extlinux 引导加载程序,这样我就可以删除其他操作系统以节省空间。

Alpine 位于 sda3 上

sda      8:0    0 465.8G  0 disk
├─sda1   8:1    0   300M  0 part
├─sda2   8:2    0  47.5G  0 part /mnt
├─sda3   8:3    0  78.4G  0 part /
└─sda4   8:4    0 335.6G  0 part /home

我在 Alpine 中安装了 syslinux。对于 syslinux,MBR 的开头被覆盖,如下所示。

doas dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=/dev/sda

/boot 目录看起来像这样

System.map-lts     extlinux.conf.old  ldlinux.sys        mboot.c32          vmlinuz-lts
config-lts         initramfs-lts      libcom32.c32       menu.c32
extlinux.conf      ldlinux.c32        libutil.c32        vesamenu.c32

extlinux.conf

DEFAULT menu.c32
PROMPT 0
MENU TITLE Alpine/Linux Boot Menu
MENU HIDDEN
MENU AUTOBOOT Alpine will be booted automatically in # seconds.
TIMEOUT 10
LABEL lts
  MENU DEFAULT
  MENU LABEL Linux lts
  LINUX /boot/vmlinuz-lts
  INITRD /boot/initramfs-lts
  APPEND root=UUID=b0bd16c2-3546-4392-a7b2-fb8206933a47 modules=sd-mod,usb-storage,ext4 quiet rootfstype=ext4

MENU SEPARATOR

然后我跑了

doas extlinux --install /boot

当我重新启动电脑时,“英特尔启动代理”不高兴,并带我进入 BIOS 磁盘选择。

USB 棒上的 Alpine live iso 可以正常启动,并且似乎使用 extlinux。所以我认为硬件是兼容的。请问这个设置有什么问题吗?

答案1

正如弗雷迪评论所说,包含引导目录的分区没有被标记为“引导”。

可以使用 root 权限使用 fdisk 工具启用引导标志。作为 sda1 的实例,它可以是:fdisk /dev/sda然后a,回答1分区号,然后w写入更改。 sda1 分区现在应该标记为引导分区。

相关内容