
2つのSSDに2つの別々のLinuxディストリビューションがあります。
- ジョリン(/dev/sda)
- 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: 0004
Boot0004
現在実行中のオペレーティングシステムインスタンスを起動する設定であることを示します。 PARTUUIDは、起動設定に使用されるEFIシステムパーティションを264abb67-bc63-46f7-8106-01f8aa3c65d2
表します。ファームウェアは、最初にマイクロソフトが署名したセキュアブート互換シムを使用してロードされます。ロードされ確認されます。sda1
Boot0004
/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.efi
GRUBバージョンでは、デフォルトですべての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.cfg
sudo 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=mint
かgrub-install --bootloader-id=zorin
/boot/efi/EFI/mint/
その後、ディレクトリと/boot/efi/EFI/zorin/
。これはそれぞれmint
と呼ばれるUEFIブートオプションとしても登録する必要がありますzorin
。efibootmgr -v
出力に名前が表示されます。システムのUEFIファームウェアが正しく設計されている場合は、ファームウェアの起動順序設定にも名前が表示されます。
これにより、起動オプションmint
と。これは次の方法で行うことができます。zorin
ubuntu
sudo efibootmgr -b 0004 -B
sudo rm -rf /boot/efi/EFI/ubuntu