コンピュータが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)

Boot0004システムが起動すると、PARTUUIDがあるパーティションで使用される起動オプションが使用されます。したがって、現在を使用しています。でPARTUUIDを見ることができます。systemd-bootx64.efied10b328-3615-45c0-bf5b-b117031e4c22systemd-bootlsblk -o +partuuid

結果dd if=/dev/sda bs=512 count=1 2>/dev/nullによると、GRUBのBIOS互換i386-pcバージョンが特定の時点でそのディスクにインストールされているが、システムがBIOS互換性モジュール(CSM)を有効にするように構成されていない限り、UEFIファームウェアにはまったく意味がありません。Boot0006ブートオプションを使用すると可能です(わかりませんが)。できるBIOS互換モードでこのディスクから起動することを示します。

GRUBバージョンはi386-pcマスターブートレコードブロックに完全には含まれていません。 GRUBコアイメージの残りの部分もディスクの固定位置に含める必要があります。 MBRパーティションディスクのMBRと最初のパーティションの先頭との間の未使用領域は、通常GPTパーティションディスクでこの目的に使用されます。このスペースはGPTパーティションテーブル構造で占められるため、専用の「biosboot」パーティションが必要です。 。 BIOSスタイルGRUBを使用してGPTパーティションディスクから起動します。

ただし、MicrosoftはWindowsオペレーティングシステムで起動方法とパーティションスキームを組み合わせることにしたので、MBRパーティションディスクにインストールされているWindowsはBIOSモードでのみ起動でき、GPTパーティションディスクにインストールされているWindowsはBIOSモードでのみ起動できます。 UEFIスタイルで起動するために使用されます。ブートマネージャは通常起動方法を切り替えることができないため、複数のオペレーティングシステムがインストールされている場合は、すべてのオペレーティングシステムに同じ起動方法(BIOSまたはUEFI)を使用するのが最も便利です。

Windows Boot Manager出力に表示されるテキストは、efibootmgr -vUEFIモードで起動するWindowsオペレーティングシステムがある可能性があることを示します。したがって、GRUBを使用するには、BIOSバージョンでx86_64-efiはなくUEFIネイティブバージョンのGRUBを使用する必要があります。i386-pc

答え2

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

WindowsとLinuxへの回答

Linuxでは、SSHを使用すると UEFIまたはBIOSを実行していることを確認する最も簡単な方法は、フォルダを見つけることです/sys/firmware/efi。システムでBIOSを使用している場合、このフォルダはありません。

関連情報