私はLinuxとbashを初めて使用するので、何が間違っているのかわかりません。grubを表示しないように設定し、Shiftキーを3秒間押した後に表示します。これはうまくいきました。次に、ここで読んだように、「shift」を含む30_os-proberの行を「F11」に変更しました:http ://www.gnu.org/software/grub/manual/grub.html (13.3 .33)。F11を押しても何も起こらず、Shiftキーを押すと、「Grubがロードされています」と表示され、デフォルトのOS(Ubuntu)がGrubメニューを表示せずにロードされます。
これは私の/etc/ default/grubコンテンツの一部です。
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT="Custom Menu"
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="splash"
GRUB_CMDLINE_LINUX=" splash vga=799 quiet"
これは(IMHO)重要な部分です。/etc/grub.d/30_os-proberから:
adjust_timeout () {
#if [ "x${found_other_os}" = "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT}" != "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
verbose=
else
verbose=" --verbose"
fi
if [ "x${GRUB_HIDDEN_TIMEOUT}" = "x0" ] ; then
cat <<EOF
if [ \${timeout} != -1 ]; then
if keystatus; then
if keystatus --F11; then << There I changed shift to F11
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
fi
EOF
else
cat << EOF
if [ \${timeout} != -1 ]; then
if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=0
fi
fi
EOF
fi
fi
#fi
}
ありがとうございました。