サーバー 16.04 - デフォルトの Grub ブート オプションが失敗する

サーバー 16.04 - デフォルトの Grub ブート オプションが失敗する

詳細オプションに移動して最初のオプションを選択すると、サーバーを起動できます。

私の質問は、これをどのように自動化できるかということです。正しいオプションを選択するためだけに、起動プロセス中に誰かがコンソールの前にいるように要求することは、長期的には機能しません。

grub のマニュアルを読んでブート ファイルを確認してみましたが、これは悪夢です。この設定を少し調整するだけで済みます... 以前の方法は簡単で、必要なデフォルトを選択するだけで完了しました。

以下は のコピーです/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=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
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

手動でファイルを編集することに慣れていない人にとって最も簡単な方法は、/etc/default/grubと呼ばれるプログラムを使用することです。Grub カスタマイザー

一般設定タブの下に、デフォルトのエントリが表示されます。デフォルトにしたいエントリを選択するだけです。メニューの表示/非表示を設定したり、遅延時間を変更したりすることもできます。起動中に簡単にアクセスする必要がある場合に備えて、メニューを残して 3 秒程度の短い待機時間を設定するのが私の好みです。

手動で設定してファイルを編集する場合は、または必要なカーネルの正しい行に変更する必要があります。詳細オプションの行に注意してください。これは、カーネルがサブメニューにあるためです/etc/default/grubGRUB_DEFAULT=0GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-21-generic"

変更を加えて保存したら、sudo update-grub変更を更新するためにターミナルから実行する必要があります。そうしないと、次回の起動時に上書きされてしまいます。

関連情報