如何通过 SSH 知道计算机是使用 GRUB 还是 systemd-boot? (我有 /boot/grub 和 /boot/efi/EFI/systemd 文件夹)

如何通过 SSH 知道计算机是使用 GRUB 还是 systemd-boot? (我有 /boot/grub 和 /boot/efi/EFI/systemd 文件夹)

在无法访问物理显示器的情况下,我如何知道我的计算机是由 grub 还是 systemd-boot 启动?

正如我在标题上所写的,我有/boot/grub//boot/efi/EFI/systemd/文件夹。

另一方面dd if=/dev/sda bs=512 count=1 2>/dev/null | strings返回以下内容:

ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
 Error

但另一方面cat /boot/efi/EFI/BOOT/BOOTX64.EFI | strings |grep systemd返回#### LoaderInfo: systemd-boot 247.3-7+deb11u1 ####

苏...这是怎么回事?是使用 grub 或 systemd-boot 的计算机吗?

编辑:efibootmgr -v输出:

BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0005,0006,0007,0008,0000,0003,0001
Boot0000* Windows Boot Manager  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a...............
Boot0001* Linux Boot Manager    VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* Linux Boot Manager    HD(2,GPT,1eded8dc-d1ab-4723-b499-b718400c1898,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0003* Linux Boot Manager    VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0004* Linux Boot Manager    HD(2,GPT,ed10b328-3615-45c0-bf5b-b117031e4c22,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0005* UEFI OS    HD(2,GPT,26b839e2-9a19-4e21-ad28-dbd1c15d598d,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0006* Hard Drive BBS(HD,,0x0)..GO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.7.0. .Q.V.O. .1.T.B...................A..........................>..Gd-.;.A..MQ..L.5.S.R.R.F.N.R.0.3.B.0.5.8.4. .Y. . . . .......BO..NO........o.S.T.1.2.0.0.0.N.M.0.0.1.G.-.2.M.V.1.0.3...................A..........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .T.Z.0.N.9.0.G.2.......BO..NO........o.S.T.1.2.0.0.0.N.M.0.0.1.G.-.2.M.V.1.0.3...................A..........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .T.Z.0.N.2.1.T.1.......BO..NO........o.S.T.1.2.0.0.0.N.M.0.0.1.G.-.2.M.V.1.0.3...................A..........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .T.Z.0.N.8.0.J.C.......BO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.7.0. .Q.V.O. .1.T.B...................A..........................>..Gd-.;.A..MQ..L.5.S.R.R.F.N.R.0.3.B.0.5.9.7. .P. . . . .......BO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.7.0. .E.V.O. .1.T.B...................A..........................>..Gd-.;.A..MQ..L.6.S.U.P.M.N.T.0.3.5.7.8.4.2. .L. . . . .......BO
Boot0007* UEFI OS    HD(2,GPT,1eded8dc-d1ab-4723-b499-b718400c1898,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0008* UEFI OS    HD(2,GPT,ed10b328-3615-45c0-bf5b-b117031e4c22,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

答案1

有效的事实efibootmgr -v证明您的系统已启用 UEFI 运行时服务,只有当系统以 UEFI 模式启动时才会发生这种情况。

(正如 Marcus Müller 在评论中所说,不能做出相反的推论:即使没有启用 UEFI 运行时服务,也可以在 UEFI 模式下启动,要么是因为固件选择不提供它们,要么是因为内核缺少使用它们所需的构建时选项。在较新的内核中,还可以通过引导选项禁用 UEFI 运行时服务,例如解决特定 UEFI 固件实现中的错误。)

BootCurrent: 0004
[...]
Boot0004* Linux Boot Manager    HD(2,GPT,ed10b328-3615-45c0-bf5b-b117031e4c22,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)

当您的系统启动时,它使用启动选项,该选项在 PARTUUID 为 的分区上Boot0004使用。所以您当前正在使用.您可以看到带有 的 PARTUUID 。systemd-bootx64.efied10b328-3615-45c0-bf5b-b117031e4c22systemd-bootlsblk -o +partuuid

您的dd if=/dev/sda bs=512 count=1 2>/dev/null结果表明,BIOS 兼容i386-pc版本的 GRUB 在某个时刻已安装在该磁盘上,但除非系统配置为启用 BIOS 兼容模块 (CSM),否则它对于 UEFI 固件来说将完全没有意义。Boot0006启动选项有可能(尽管不确定)可以表示在 BIOS 兼容模式下从该磁盘启动。

请注意,i386-pcGRUB 的版本并不完全包含在主引导记录块中:它还需要将 GRUB 核心映像的其余部分嵌入到磁盘上的固定位置。在 MBR 分区磁盘上,MBR 和第一个分区开头之间未使用的空间通常用于此目的;在 GPT 分区的磁盘上,该空间由 GPT 分区表结构占用,因此需要专用的“biosboot”分区来从 GPT 分区的磁盘使用 BIOS 样式的 GRUB 进行引导。

然而,微软选择在 Windows 操作系统中将启动方法和分区方案结合在一起,因此安装到 MBR 分区磁盘的 Windows 只能以 BIOS 方式启动,而安装到 GPT 分区磁盘的 Windows 也只能以 BIOS 方式启动。曾经以 UEFI 风格启动。启动管理器通常无法在启动方式之间切换,因此如果您安装了多个操作系统,则最方便的做法是对所有操作系统使用相同的启动方法(BIOS 或 UEFI)。

Windows Boot Manager输出中出现的文本efibootmgr -v表明您可能拥有以 UEFI 模式启动的 Windows 操作系统,因此如果您想使用 GRUB,则应使用x86_64-efiGRUB 的 UEFI 本机版本而不是i386-pcBIOS 版本。

答案2

https://itsfoss.com/check-uefi-or-bios/

给出了 Windows 和 Linux 的答案

在 Linux 中,当你使用 SSH 后, 确定您运行的是 UEFI 还是 BIOS 的最简单方法是查找文件夹/sys/firmware/efi。如果您的系统使用 BIOS,该文件夹将会丢失。

相关内容