SSD 2個、Linuxディストリビューション2個 - 起動中にgrubメニューを表示するgrubは何ですか?

SSD 2個、Linuxディストリビューション2個 - 起動中にgrubメニューを表示するgrubは何ですか?

2つのSSDに2つの別々のLinuxディストリビューションがあります。

  1. ジョリン(/dev/sda)
  2. Linux Mint(/dev/sde)

まず、ZorinをインストールしてからLinux Mintをインストールしました。

私は走った情報スクリプトの起動。これが結果の要旨です。

              Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => No boot loader is installed in the MBR of /dev/sda.
 => No boot loader is installed in the MBR of /dev/sdb.
 => No boot loader is installed in the MBR of /dev/sdc.
 => No boot loader is installed in the MBR of /dev/sdd.
 => No boot loader is installed in the MBR of /dev/sde.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /efi/BOOT/fbx64.efi /efi/BOOT/mmx64.efi 
                       /efi/memtest86/BOOTX64.efi /efi/ubuntu/grubx64.efi 
                       /efi/ubuntu/mmx64.efi /efi/ubuntu/shimx64.efi

sda2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Zorin OS 16.1
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sde1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sde2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Linux Mint 20.3 Una
    Boot files:        /boot/grub/grub.cfg /etc/fstab

どのグラブを使っているのか分かりません。どのグルーブを使用しているのか、どうすればわかりますか(起動中に表示されるグルーブメニュー)。さまざまなSSDでgrubを使用する方法/dev/sdaでgrubを使用したいと思います(このドライブから起動してgrubメニューもカスタマイズしたいからです)。どうすればいいですか?

アップデート1:

Linux Mint では、efibootmgrコマンドは以下を表示します。

$ efibootmgr
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0001,0002,0003
Boot0001* UEFI:CD/DVD Drive
Boot0002* UEFI:Removable Device
Boot0003* UEFI:Network Device
Boot0004* ubuntu

私はこれが私のシステムで維持される起動順序だと思います。 Linux Mintで使用するとgrub-customizer(私の場合はBoot0004* ubuntu)起動メニューが変わります。

要求されたコマンド出力を追加します。

$ sudo efibootmgr -v
[sudo] password for ismail:         
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0001,0002,0003
Boot0001* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0002* UEFI:Removable Device BBS(130,,0x0)
Boot0003* UEFI:Network Device   BBS(131,,0x0)
Boot0004* ubuntu    HD(1,GPT,264abb67-bc63-46f7-8106-01f8aa3c65d2,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)

$ lsblk -o +partuuid
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT PARTUUID
sda      8:0    0 232.9G  0 disk            
├─sda1   8:1    0   512M  0 part /boot/efi  264abb67-bc63-46f7-8106-01f8aa3c65d2
└─sda2   8:2    0 232.4G  0 part            1aa55c42-f8ba-4af5-95f1-719f0ea3f6fe
sdb      8:16   0   3.7T  0 disk            
└─sdb1   8:17   0   3.7T  0 part            97963414-695e-4e8d-a872-752afe27fcf1
sdc      8:32   0   5.5T  0 disk            
└─sdc1   8:33   0   5.5T  0 part            27e20d5e-a539-407f-b9d7-0928a78e8706
sdd      8:48   0   3.7T  0 disk            
└─sdd1   8:49   0   3.7T  0 part            13e6dcd3-161a-4c72-a49f-431b03c9f595
sde      8:64   0 223.6G  0 disk            
├─sde1   8:65   0   512M  0 part            d641c8e7-d1ed-4fb0-97d1-3d256f343bad
└─sde2   8:66   0 223.1G  0 part /          9fa068c4-b486-4044-810d-9d41a978c361

ベストアンサー1

現在はMintのGRUBだけを使っているようです。

ファームウェアブート設定メニュー(「BIOS Setup」)に入ると、現在のデフォルトブートターゲットの名前がubuntu「Disk 1」と同じ名前ではないことを確認できます。 UEFIを使用すると、インストールされているオペレーティングシステムの起動設定に人が読める明確な名前を持つことができます(この場合)ubuntu

Mint と Zorin はどちらも Ubuntu の派生物なので、/boot/efi/EFI/ubuntu基本的に GRUB を ESP のディレクトリにインストールするので、最後にインストールされたものが別のブートローダを上書きして「勝利」になります。

BootCurrent: 0004Boot0004現在実行中のオペレーティングシステムインスタンスを起動する設定であることを示します。 PARTUUIDは、起動設定に使用されるEFIシステムパーティションを264abb67-bc63-46f7-8106-01f8aa3c65d2表します。ファームウェアは、最初にマイクロソフトが署名したセキュアブート互換シムを使用してロードされます。ロードされ確認されます。sda1Boot0004/boot/efi/EFI/ubuntu/shimx64.efi/boot/efi/EFI/ubuntu/grubx64.efi

(マウントされたファイルシステム/boot/efiはFAT32であり、UEFI仕様に従って大文字と小文字を区別する必要があります。ただし、いくつかのバグを持つUEFIファームウェアのバージョンは大文字と小文字を区別します。ここでは、あなたのファームウェアにそのようなバグがないとします。)

ファームウェアのみがハードウェア製造元またはマイクロソフトが署名したブートローダを許可します。 Canonicalの署名キーとオプションのマシン所有者キー(MOK)をホワイトリストに追加します(非永続的であるため、すべての起動を実行するときにshimx64.efi使用する必要があります)。shimx64.efiセキュアブートを有効にして独自のカスタムカーネルを構築したり、サードパーティのカーネルモジュールを使用したりするには、MOKを設定する必要があります。

(MOKを設定する必要がある場合、Debian Wikiでこの記事を参照してください。Ubuntuとその派生製品でも動作します。 )

/boot/efi/EFI/ubuntu/grubx64.efiGRUBバージョンでは、デフォルトですべてのGRUBモジュールは、セキュアブート要件に準拠するためにCanonicalによって組み込まれ、署名されました。パッケージから来ますgrub-efi-amd64-signed。マイクロソフトではなくCanonicalによって署名されたため、Canonicalは必要に応じてGRUBのセキュリティ更新プログラムをタイムリーに提供できます。

(セキュアブートが適用されると、セキュアブート互換ファームウェアはすべてのエントリにフラグを立てるため、GRUBは必要に応じてGRUBモジュールをロードできません。有効に署名されたWindowsスタイルのPE +バイナリCPUでは実行できません。 GRUBモジュールはUnixスタイルを使用しているためELF バイナリ形式モジュールが暗号化され署名されている場合でも、ファームウェアはそれを確認する方法を知りません(PE +とは対照的に)。 )

/boot/efi/EFI/ubuntu/grub.cfgディレクトリを含むファイルシステムにアクセスし、そこから物理ファイルシステムをロードし、一意のUUIDでファイルシステムを識別するために必要な最小構成行のみを含む最小GRUB構成ファイルを持つことができます。たとえば、次のようになります。/boot/boot/grub/grub.cfgsudo cat /boot/efi/EFI/ubuntu/grub.cfg

search.fs_uuid 11111111-2222-3333-4444-555555555555 root 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

文字列11111111-2222-3333-4444-555555555555をsda2一意のファイルシステムUUIDに置き換えるか、UUIDをsde2実行して比較します。lsblk -o +uuid

sda2実際の構成を読み取る場所を変更するには、単に編集して別のファイルシステムを指すようにEFI/ubuntu/grubx64.efiします。/boot/efi/EFI/ubuntu/grub.cfg

/etc/grub.d/40_custom現在のオペレーティングシステムはMint(= Ubuntuの派生)であるように見えます。

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Switch to Zorin OS's GRUB menu' {
        search.fs_uuid <filesystem UUID of sda2 here> root
        set prefix=($root)'/boot/grub'
        configfile $prefix/grub.cfg
}

Zorin OSの実行中にZorinのGRUBを使用する場合は、MintのGRUB設定に切り替えるメニュー項目を追加することもできます。

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Switch to Mint's GRUB menu' {
        search.fs_uuid <filesystem UUID of sde2 here> root
        set prefix=($root)'/boot/grub'
        configfile $prefix/grub.cfg
}

各オペレーティングシステムに別々のブートローダが必要な場合は、カスタムブートローダIDを使用してGRUBを再インストールする必要があります。これを行うには、各オペレーティングシステムで次の手順を実行します。

  • 必ず次/dev/sda1のように設置してください。/boot/efi
  • 別々に実行するgrub-install --bootloader-id=mintgrub-install --bootloader-id=zorin

/boot/efi/EFI/mint/その後、ディレクトリと/boot/efi/EFI/zorin/。これはそれぞれmintと呼ばれるUEFIブートオプションとしても登録する必要がありますzorinefibootmgr -v出力に名前が表示されます。システムのUEFIファームウェアが正しく設計されている場合は、ファームウェアの起動順序設定にも名前が表示されます。

これにより、起動オプションmintと。これは次の方法で行うことができます。zorinubuntu

sudo efibootmgr -b 0004 -B
sudo rm -rf /boot/efi/EFI/ubuntu

おすすめ記事