物理モニタにアクセスせずに、コンピュータが 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.efi
ed10b328-3615-45c0-bf5b-b117031e4c22
systemd-boot
lsblk -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 -v
UEFIモードで起動する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を使用している場合、このフォルダはありません。