追加ツールなしでGrubメニューを編集する

追加ツールなしでGrubメニューを編集する

Ubuntu、Debian、Windowsを含むトリプルブートシステムがあります。 grubとgrubメニューはUbuntuのインストール後にインストールされます。追加のアプリケーション(Grub Customizerなど)をインストールせずに注文アイテムと名前を編集する方法はありますか? /etc/grub.dでスクリプトの名前を変更して項目の順序を変更できますが、「詳細オプション...」項目の順序も変更されます。メニューの下にすべて移動したいです。

更新後は必要です。

答え1

懸念される項目は、/etc/grub.d/10_linuxスクリプトによって生成されます(/boot/grub.cfgのコメントは、ファイルの別の部分が作成される場所を示しています)。残念ながら、スクリプトはデフォルトの設定やカスタマイズを許可しません。

もしそうなら、あなたができる唯一のことは/etc/grub.d/10_linuxを手動で編集することです。しかし、通常これは複雑なスクリプトであり、スクリプトを編集するとシステムの簡単なアップグレードが中断される可能性があるため、悪い考えのようです。

答え2

デフォルトでは、グルーブメニュー項目は対応するオペレーティングシステムによって生成されます。このようなものを使用os-proberしたりカスタムスクリプトを作成したりできますが、必要なものを取得する最も簡単な方法は、GRUBの前に独自の構成をロードする別のGRUBをチェーンロードすることです。これには以下が含まれますgrub.cfg

insmod part_gpt
insmod search_fs_uuid
insmod chain
menuentry "Debian" {
    search --fs-uuid --no-floppy --set=root 1234-abcd
    chainloader ($root)/EFI/debian/grubx64.efi
}
menuentry "Ubuntu" {
    search --fs-uuid --no-floppy --set=root 1234-abcd
    chainloader ($root)/EFI/ubuntu/grubx64.efi
}
menuentry "Windows" {
    search --fs-uuid --no-floppy --set=root 1234-abcd
    chainloader ($root)/EFI/MICROSOFT/BOOT/bootmgfw.efi
}

ここで、set root は各ブートローダ ESP の UUID です。おそらくすべて同じです。

これは、各ブートローダに固有の設定、テーマ、高度なアイテムなどがあることを意味します。

関連情報