GRUB2:最後のグラップ選択を覚える方法

GRUB2:最後のグラップ選択を覚える方法

私は現在さまざまなディストリビューションを試しているので、ラップトップを起動するときに選択できるオペレーティングシステムがいくつかあります。通常、これらのディストリビューションはすべてインストールされ、リストのgrub2一番上にあるため、インストールが完了した後にデフォルトで実行されるディストリビューションです。

しかしManjaroは別のことをしました。grub2いくつかのバージョンをインストールします覚える最後に起動したディストリビューションは何であり、別のディストリビューションを選択するまで(そのディストリビューションが起動するなど)、そのディストリビューションは再起動後も実行されます。

私がこんなことを想像したのだろうか?マンジャロは本当にこれをしましたか?では、どのようにインストールしますか?対応バージョンgrub私のシステムに?乾杯。


これは私の/etc/grub.d/40_customファイルです:

#!/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.

これは私の/etc/default/grubファイルです:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

答え1

~によるとGRUBマニュアル:

「GRUB_DEFAULT」

.....................

「Saved」に設定すると、メインメニュー項目は「GRUB_SAVEDEFAULT」、grub-set-default、またはgrub-rebootによって保存されたメニュー項目になります。


「GRUB_SAVEDEFAULT」

このオプションを「true」に設定すると、項目を選択したときに将来のGRUBを実行するための新しいデフォルト項目として保存されます。これは 'GRUB_DEFAULT=saved' を使用する場合にのみ便利です。 'GRUB_DEFAULT=saved' は、このオプションなしで grub-set-default または grub-reboot と一緒に使用すると便利なため、別のオプションです。デフォルトでは設定されません。このオプションは、すべての場合に使用できない可能性がある環境ブロックに依存します(環境ブロックを参照)。

以下を追加する必要があります。

GRUB_DEFAULT=saved

そして

GRUB_SAVEDEFAULT=true

また、カスタム/etc/default/grubメニューファイルを使用している場合は、/etc/grub.d/40_customオプションを追加する必要があります。

savedefault

このファイルのメニュー項目/メニュー項目に。後でGRUBを更新してください。

grub-mkconfig -o /boot/grub/grub.cfg

または

update-grub

複数のディストリビューションがインストールされている場合は、構成して更新していることを確認してください。ポジティブ幼虫。

答え2

Arch を VirtualBox ゲストとして使用する際に問題があります。問題は、LVMを使用すると発生します。

また、GRUBマニュアル:

13.2 GRUB環境ブロック

一度のブートから次のブートまで少量の情報を覚えておくと便利です。たとえば、最後に選択した項目に基づいてメインメニュー項目を設定できます。 GRUBはブートローダによるファイルシステムの破損の可能性を最小限に抑えるために意図的にファイル書き込みサポートを実装していないため、GRUB設定ファイルは通常の方法でファイルを生成できません。ただし、GRUBは少量の状態を保存するために使用できる「環境ブロック」を提供します。

環境ブロックは通常、/boot/grub/grubenvにある事前に割り当てられた1024バイトのファイルです(これを想定してはいけません)。起動時に、load_envコマンド(load_envを参照)はここから環境変数をロードし、save_env(save_envを参照)コマンドは環境変数をここに保存します。実行中のシステムでgrub-editenvユーティリティを使用して環境ブロックを編集できます。

セキュリティ上の理由から、このストレージスペースは通常のディスク(LVMまたはRAIDなし)にインストールする場合、非チェックサムファイルシステムの使用(ZFSなし)およびBIOSまたはEFI機能の使用(ATA、USB、またはIEEE1275なし)。

grub-mkconfigはこのツールを使用して「GRUB_SAVEDEFAULT」を実装します(簡単な設定を参照)。

関連情報