Cập nhật ngày 7 tháng 5 năm 2018
Phát triển tập lệnh: Tập lệnh Bash để sao chép Ubuntu sang phân vùng mới để thử nghiệm nâng cấp L.04 18.04 Tôi phát hiện ra bạn có một số tùy chọn trình đơn dài đến nực cười khiến menu bị sai lệch:
4>8 Ubuntu, with Linux 4.14.30-041430-generic (recovery mode) (on /dev/nvme0n1p8)
Điều này đã được khắc phục ngày hôm nay bằng cách cắt các dòng dài hơn 68 ký tự.
Cập nhật ngày 5 tháng 4 năm 2018
Bản cập nhật này giới thiệu grub-menu.sh
một phiên bản ưu việt hơn nhiều so với câu trả lời trước đó (vẫn có sẵn bên dưới). Các tính năng menu grub mới:
- Hiển thị grub 2 số mục nhập menu. tức là
0
, 1
, 1>0
, 1>1
... 2
,3
- Phiên bản ngắn mặc định không có
(upstart)
và (recover mode)
tùy chọn menu con có thể được đặt.
- Tham số 1 có thể được truyền dưới dạng
short
hoặc long
ghi đè mặc định.
- tiêu đề cột được định dạng động dựa trên
short
hoặc long
cài đặt.
Ảnh chụp màn hình màu (phiên bản ngắn)
Ảnh chụp màn hình văn bản (phiên bản dài)
Grub Version: 2.02~beta2-36ubuntu3.15
┌─────────┤ Use arrow, page, home & end keys. Tab toggle option ├──────────┐
│ Menu No. --------------- Menu Name --------------- │
│ │
│ 0 Ubuntu ↑ │
│ 1 Advanced options for Ubuntu ▮ │
│ 1>0 Ubuntu, with Linux 4.14.31-041431-generic ▒ │
│ 1>1 Ubuntu, with Linux 4.14.31-041431-generic (upstart) ▒ │
│ 1>2 Ubuntu, with Linux 4.14.31-041431-generic (recovery mode) ▒ │
│ 1>3 Ubuntu, with Linux 4.14.30-041430-generic ▒ │
│ 1>4 Ubuntu, with Linux 4.14.30-041430-generic (upstart) ▒ │
│ 1>5 Ubuntu, with Linux 4.14.30-041430-generic (recovery mode) ▒ │
│ 1>6 Ubuntu, with Linux 4.14.27-041427-generic ▒ │
│ 1>7 Ubuntu, with Linux 4.14.27-041427-generic (upstart) ▒ │
│ 1>8 Ubuntu, with Linux 4.14.27-041427-generic (recovery mode) ▒ │
│ 1>9 Ubuntu, with Linux 4.14.24-041424-generic ▒ │
│ 1>10 Ubuntu, with Linux 4.14.24-041424-generic (upstart) ▒ │
│ 1>11 Ubuntu, with Linux 4.14.24-041424-generic (recovery mode) ▒ │
│ 1>12 Ubuntu, with Linux 4.14.23-041423-generic ▒ │
│ 1>13 Ubuntu, with Linux 4.14.23-041423-generic (upstart) ↓ │
│ │
│ │
│ <Display Grub Boot> <Exit> │
│ │
└──────────────────────────────────────────────────────────────────────────┘
grub-menu.sh
kịch bản bash
Các phiên bản trước grub-display.sh
và grub-display-lite.sh
yêu cầu nhiều tùy chọn điều chỉnh trong mã. grub-menu.sh
chỉ có một tùy chọn để điều chỉnh:
# Default for hide duplicate and triplicate options with (upstart) and (recovery mode)?
HideUpstartRecovery=false
Đặt giá trị thành true
hoặc false
.
Định dạng mặc định có thể được ghi đè khi gọi tập lệnh bằng cách sử dụng:
grub-menu.sh short
hoặc là:
grub-menu.sh long
Mật mã:
#!/bin/bash
# NAME: grub-menu.sh
# PATH: $HOME/bin
# DESC: Written for AU Q&A: /ubuntu//q/1019213/307523
# DATE: Apr 5, 2018. Modified: May 7, 2018.
# $TERM variable may be missing when called via desktop shortcut
CurrentTERM=$(env | grep TERM)
if [[ $CurrentTERM == "" ]] ; then
notify-send --urgency=critical "$0 cannot be run from GUI without TERM environment variable."
exit 1
fi
AllMenusArr=() # All menu options.
# Default for hide duplicate and triplicate options with (upstart) and (recovery mode)?
HideUpstartRecovery=false
if [[ $1 == short ]] ; then
HideUpstartRecovery=true # override default with first passed parameter "short"
elif [[ $1 == long ]] ; then
HideUpstartRecovery=false # override default with first passed parameter "long"
fi
SkippedMenuEntry=false # Don't change this value, automatically maintained
InSubMenu=false # Within a line beginning with `submenu`?
InMenuEntry=false # Within a line beginning with `menuentry` and ending in `{`?
NextMenuEntryNo=0 # Next grub internal menu entry number to assign
# Major / Minor internal grub submenu numbers, ie `1>0`, `1>1`, `1>2`, etc.
ThisSubMenuMajorNo=0
NextSubMenuMinorNo=0
CurrTag="" # Current grub internal menu number, zero based
CurrText="" # Current grub menu option text, ie "Ubuntu", "Windows...", etc.
SubMenuList="" # Only supports 10 submenus! Numbered 0 to 9. Future use.
while read -r line; do
# Example: " }"
BlackLine="${line//[[:blank:]]/}" # Remove all whitespace
if [[ $BlackLine == "}" ]] ; then
# Add menu option in buffer
if [[ $SkippedMenuEntry == true ]] ; then
NextSubMenuMinorNo=$(( $NextSubMenuMinorNo + 1 ))
SkippedMenuEntry=false
continue
fi
if [[ $InMenuEntry == true ]] ; then
InMenuEntry=false
if [[ $InSubMenu == true ]] ; then
NextSubMenuMinorNo=$(( $NextSubMenuMinorNo + 1 ))
else
NextMenuEntryNo=$(( $NextMenuEntryNo + 1 ))
fi
elif [[ $InSubMenu == true ]] ; then
InSubMenu=false
NextMenuEntryNo=$(( $NextMenuEntryNo + 1 ))
else
continue # Future error message?
fi
# Set maximum CurrText size to 68 characters.
CurrText="${CurrText:0:67}"
AllMenusArr+=($CurrTag "$CurrText")
fi
# Example: "menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu" ...
# "submenu 'Advanced options for Ubuntu' $menuentry_id_option" ...
if [[ $line == submenu* ]] ; then
# line starts with `submenu`
InSubMenu=true
ThisSubMenuMajorNo=$NextMenuEntryNo
NextSubMenuMinorNo=0
SubMenuList=$SubMenuList$ThisSubMenuMajorNo
CurrTag=$NextMenuEntryNo
CurrText="${line#*\'}"
CurrText="${CurrText%%\'*}"
AllMenusArr+=($CurrTag "$CurrText") # ie "1 Advanced options for Ubuntu"
elif [[ $line == menuentry* ]] && [[ $line == *"{"* ]] ; then
# line starts with `menuentry` and ends with `{`
if [[ $HideUpstartRecovery == true ]] ; then
if [[ $line == *"(upstart)"* ]] || [[ $line == *"(recovery mode)"* ]] ; then
SkippedMenuEntry=true
continue
fi
fi
InMenuEntry=true
if [[ $InSubMenu == true ]] ; then
: # In a submenu, increment minor instead of major which is "sticky" now.
CurrTag=$ThisSubMenuMajorNo">"$NextSubMenuMinorNo
else
CurrTag=$NextMenuEntryNo
fi
CurrText="${line#*\'}"
CurrText="${CurrText%%\'*}"
else
continue # Other stuff - Ignore it.
fi
done < /boot/grub/grub.cfg
LongVersion=$(grub-install --version)
ShortVersion=$(echo "${LongVersion:20}")
DefaultItem=0
if [[ $HideUpstartRecovery == true ]] ; then
MenuText="Menu No. ----------- Menu Name -----------"
else
MenuText="Menu No. --------------- Menu Name ---------------"
fi
while true ; do
Choice=$(whiptail \
--title "Use arrow, page, home & end keys. Tab toggle option" \
--backtitle "Grub Version: $ShortVersion" \
--ok-button "Display Grub Boot" \
--cancel-button "Exit" \
--default-item "$DefaultItem" \
--menu "$MenuText" 24 76 16 \
"${AllMenusArr[@]}" \
2>&1 >/dev/tty)
clear
if [[ $Choice == "" ]]; then break ; fi
DefaultItem=$Choice
for (( i=0; i < ${#AllMenusArr[@]}; i=i+2 )) ; do
if [[ "${AllMenusArr[i]}" == $Choice ]] ; then
i=$i+1
MenuEntry="menuentry '"${AllMenusArr[i]}"'"
break
fi
done
TheGameIsAfoot=false
while read -r line ; do
if [[ $line = *"$MenuEntry"* ]]; then TheGameIsAfoot=true ; fi
if [[ $TheGameIsAfoot == true ]]; then
echo $line
if [[ $line = *"}"* ]]; then break ; fi
fi
done < /boot/grub/grub.cfg
read -p "Press <Enter> to continue"
done
exit 0
Các phiên bản trước (không được đề xuất)
Dưới đây là câu trả lời ban đầu trong đó số mục nhập menu theo định dạng grub 1.
grub-display.sh
hiển thị các tùy chọn và thông số menu grub
Không phụ thuộc vào các ứng dụng của bên thứ ba, bạn có thể sử dụng tập lệnh bash để hiển thị grub
menu và các tham số khởi động cho bất kỳ tùy chọn nào. Các tham số khởi động không chỉ là các cat /proc/cmdline
giá trị. Chúng cũng bao gồm các trình điều khiển được tải trước khi Linux được khởi động.
grub-display.sh
kịch bản bash
Dưới đây là danh sách chương trình đầy đủ, bạn có thể sao chép và dán:
#!/bin/bash
# NAME: grub-display.sh
# PATH: $HOME/bin
# DESC: Written for AU Q&A: /ubuntu//q/1019213/307523
# DATE: Mar 24, 2018. Modified: Mar 26, 2018.
# $TERM variable may be missing when called via desktop shortcut
CurrentTERM=$(env | grep TERM)
if [[ $CurrentTERM == "" ]] ; then
notify-send --urgency=critical "$0 cannot be run from GUI without TERM environment variable."
exit 1
fi
# Must have the dialog package. On Servers, not installed by default
command -v dialog >/dev/null 2>&1 || { echo >&2 "dialog package required but it is not installed. Aborting."; exit 99; }
# Version without upstart and recovery options displayed
#awk -F\' '/menuentry / { print i++, $2}' /boot/grub/grub.cfg \
# | grep -v upstart | grep -v recovery > ~/.grub-display-menu
# Version with upstart and recovery options displayed
awk -F\' '/menuentry / { print i++, $2}' /boot/grub/grub.cfg \
> ~/.grub-display-menu
MenuArr=()
while read -r line; do
MenuNmbr=${line%% *}
MenuName=${line#* }
MenuArr+=($MenuNmbr "$MenuName")
done < ~/.grub-display-menu
rm ~/.grub-display-menu
LongVersion=$(grub-install --version)
ShortVersion=$(echo "${LongVersion:20}")
DefaultItem=0
while true ; do
Choice=$(dialog \
--title "Use arrow, page, home & end keys. Tab toggle option" \
--backtitle "Grub Version: $ShortVersion" \
--ok-label "Display Grub Boot" \
--cancel-label "Exit" \
--default-item "$DefaultItem" \
--menu "Menu Number ----------- Menu Name ----------" 24 76 16 \
"${MenuArr[@]}" \
>/dev/tty)
clear
if [[ $Choice == "" ]]; then break ; fi
DefaultItem=$Choice
for (( i=0; i < ${#MenuArr[@]}; i=i+2 )) ; do
if [[ "${MenuArr[i]}" == $Choice ]] ; then
i=$i+1
MenuEntry="menuentry '"${MenuArr[i]}"'"
break
fi
done
TheGameIsAfoot=false
while read -r line ; do
if [[ $line = *"$MenuEntry"* ]]; then TheGameIsAfoot=true ; fi
if [[ $TheGameIsAfoot == true ]]; then
echo $line
if [[ $line = *"}"* ]]; then break ; fi
fi
done < /boot/grub/grub.cfg
read -p "Press <Enter> to continue"
done
exit 0
Lưu ý cho người dùng Ubuntu Server
Kịch bản bash này được thiết kế cho Ubuntu Desktop. Đối với Ubuntu Server và các Linux khác không có dialog
gói được cài đặt theo mặc định, một tập lệnh khác được gọi grub-display-lite.sh
được bao gồm bên dưới. Phiên bản đó sử dụng whiptail
thay vì dialog
.
Giảm kích thước menu 66%
Để rút ngắn danh sách tùy chọn menu grub được hiển thị, bạn có thể xóa (upstart)
và (recovery)
các tùy chọn. Để làm điều này không ghi chú những dòng này:
# Version without upstart and recovery options displayed
awk -F\' '/menuentry / { print i++, $2}' /boot/grub/grub.cfg \
| grep -v upstart | grep -v recovery > ~/.grub-display-menu
Sau đó áp dụng nhận xét cho các dòng này:
# Version with upstart and recovery options displayed
#awk -F\' '/menuentry / { print i++, $2}' /boot/grub/grub.cfg \
# > ~/.grub-display-menu
Ảnh chụp màn hình
Đây là những gì nó trông giống như khi được gọi từ dòng lệnh. Thật không may, tôi không thể sao chép và dán menu và phải sử dụng Print Screen:
Tắt hỗ trợ chuột để sao chép và dán
Grub Version: 2.02~beta2-36ubuntu3.15
──────────────────────────────────────────────────────────────────────────────────────────
┌──────────Use arrow, page, home & end keys. Tab toggle option─────────────┐
│ Menu Number ----------- Menu Name ---------- │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ 0 Ubuntu │ │
│ │ 1 Ubuntu, with Linux 4.14.30-041430-generic │ │
│ │ 2 Ubuntu, with Linux 4.14.30-041430-generic (upstart) │ │
│ │ 3 Ubuntu, with Linux 4.14.30-041430-generic (recovery mode) │ │
│ │ 4 Ubuntu, with Linux 4.14.27-041427-generic │ │
│ │ 5 Ubuntu, with Linux 4.14.27-041427-generic (upstart) │ │
│ │ 6 Ubuntu, with Linux 4.14.27-041427-generic (recovery mode) │ │
│ │ 7 Ubuntu, with Linux 4.14.24-041424-generic │ │
│ │ 8 Ubuntu, with Linux 4.14.24-041424-generic (upstart) │ │
│ │ 9 Ubuntu, with Linux 4.14.24-041424-generic (recovery mode) │ │
│ │ 10 Ubuntu, with Linux 4.14.23-041423-generic │ │
│ │ 11 Ubuntu, with Linux 4.14.23-041423-generic (upstart) │ │
│ │ 12 Ubuntu, with Linux 4.14.23-041423-generic (recovery mode) │ │
│ │ 13 Ubuntu, with Linux 4.14.21-041421-generic │ │
│ │ 14 Ubuntu, with Linux 4.14.21-041421-generic (upstart) │ │
│ │ 15 Ubuntu, with Linux 4.14.21-041421-generic (recovery mode) │ │
│ └────↓(+)──────────────────────────────────────────────────────16%─────┘ │
│ │
├──────────────────────────────────────────────────────────────────────────┤
│ <Display Grub Boot> < Exit > │
└──────────────────────────────────────────────────────────────────────────┘
Khi hỗ trợ chuột mặc định được bật, bạn không thể sao chép màn hình vào bảng tạm mà phải sử dụng Print Screenđể chụp ảnh màn hình đồ họa. Để hỗ trợ sao chép và dán, bạn cần tắt hỗ trợ chuột bằng cách tìm kiếm các dòng sau:
--default-item "$DefaultItem" \
--no-mouse \
--menu "Menu Number ----------- Menu Name ----------" 24 76 16 \
Đối số --no-mouse
đã được chèn vào bên dưới --default-item
. Điều này có nghĩa là bạn mất hỗ trợ chuột nhưng đạt được độ phân giải tốt hơn và sao chép vào khả năng của clipboard bằng cách tô sáng văn bản và nhấn Ctrl+ C.
Hiển thị thông số khởi động grub
Sử dụng các phím điều hướng để tô sáng một tùy chọn và nhấn Enterđể xem các thông số khởi động cho nó:
menuentry 'Ubuntu, with Linux 4.14.27-041427-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.27-041427-generic-advanced-f3f8e7bc-b337-4194-88b8-3a513f6be55b' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root f3f8e7bc-b337-4194-88b8-3a513f6be55b
else
search --no-floppy --fs-uuid --set=root f3f8e7bc-b337-4194-88b8-3a513f6be55b
fi
echo 'Loading Linux 4.14.27-041427-generic ...'
linux /boot/vmlinuz-4.14.27-041427-generic root=UUID=f3f8e7bc-b337-4194-88b8-3a513f6be55b ro quiet splash loglevel=0 vga=current udev.log-priority=3 fastboot kaslr acpiphp.disable=1 crashkernel=384M-2G:128M,2G-:256M $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.27-041427-generic
}
Press <Enter> to continue
Mục menu Grub # 94
menuentry 'Windows Boot Manager (on /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
savedefault
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root D656-F2A8
else
search --no-floppy --fs-uuid --set=root D656-F2A8
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Press <Enter> to continue
Mục menu Grub # 96
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
Press <Enter> to continue
grub-display-lite.sh
cho máy chủ Ubuntu
Ubuntu Server và Lubfox không có dialog
gói được cài đặt theo mặc định như Ubuntu Desktop có. Một phiên bản khác đã được viết cho những người dùng này dựa trênwhiptail
gói được bao gồm theo mặc định trên hầu hết các bản phân phối Linux.
Nhược điểm của whiptail
ít chức năng hơn nhưng chúng không được sử dụng trong trường hợp này. Một nhược điểm khác có vẻ là ít màu sắc hơn nhưng điều đó có thể giúp đọc dễ dàng hơn đối với một số người. Có những lợi thế whiptail
hơndialog
như sao chép vào clipboard, hỗ trợ bánh xe cuộn chuột và có thể xử lý nhanh hơn.
grub-display-lite.sh
kịch bản bash
#!/bin/bash
# NAME: grub-display-lite.sh
# PATH: $HOME/bin
# DESC: Written for AU Q&A: /ubuntu//q/1019213/307523
# DATE: Mar 26, 2018.
# NOTE: "lite" version written for Ubuntu Server and Lubuntu which do
# not have `dialog` installed by default. `whiptail` is used
# instead. Nice consequences are better resolution, mouse scroll
# wheel and copy to clipboard support.
# $TERM variable may be missing when called via desktop shortcut
CurrentTERM=$(env | grep TERM)
if [[ $CurrentTERM == "" ]] ; then
notify-send --urgency=critical "$0 cannot be run from GUI without TERM environment variable."
exit 1
fi
# Version without upstart and recovery options displayed
awk -F\' '/menuentry / { print i++, $2}' /boot/grub/grub.cfg \
| grep -v upstart | grep -v recovery > ~/.grub-display-menu
# Version with upstart and recovery options displayed
#awk -F\' '/menuentry / { print i++, $2}' /boot/grub/grub.cfg \
# > ~/.grub-display-menu
MenuArr=()
while read -r line; do
MenuNmbr=${line%% *}
MenuName=${line#* }
MenuArr+=($MenuNmbr "$MenuName")
done < ~/.grub-display-menu
rm ~/.grub-display-menu
LongVersion=$(grub-install --version)
ShortVersion=$(echo "${LongVersion:20}")
DefaultItem=0
while true ; do
Choice=$(whiptail \
--title "Use arrow, page, home & end keys. Tab toggle option" \
--backtitle "Grub Version: $ShortVersion" \
--ok-button "Display Grub Boot" \
--cancel-button "Exit" \
--default-item "$DefaultItem" \
--menu "Menu Number ----------- Menu Name ----------" 24 76 16 \
"${MenuArr[@]}" \
>/dev/tty)
clear
if [[ $Choice == "" ]]; then break ; fi
DefaultItem=$Choice
for (( i=0; i < ${#MenuArr[@]}; i=i+2 )) ; do
if [[ "${MenuArr[i]}" == $Choice ]] ; then
i=$i+1
MenuEntry="menuentry '"${MenuArr[i]}"'"
break
fi
done
TheGameIsAfoot=false
while read -r line ; do
if [[ $line = *"$MenuEntry"* ]]; then TheGameIsAfoot=true ; fi
if [[ $TheGameIsAfoot == true ]]; then
echo $line
if [[ $line = *"}"* ]]; then break ; fi
fi
done < /boot/grub/grub.cfg
read -p "Press <Enter> to continue"
done
exit 0
Các grub-display-lite.sh
kịch bản bash là cơ bản giống như grub-display.sh
ngoại trừ không có thông báo lỗi nếu dialog
không được cài đặt. Ngoài ra một sốwhiptail
đối số có tên khác nhau.
grub-display-lite.sh
ảnh chụp màn hình
Màn hình màu dường như dễ đọc hơn so với grub-display
sử dụng dialog
gói:
Đây là hình ảnh dựa trên văn bản không cần sửa đổi để sao chép vào clipboard:
Grub Version: 2.02~beta2-36ubuntu3.15
┌─────────┤ Use arrow, page, home & end keys. Tab toggle option ├──────────┐
│ Menu Number ----------- Menu Name ---------- │
│ │
│ 55 Ubuntu, with Linux 4.13.9-041309-generic ↑ │
│ 58 Ubuntu, with Linux 4.10.0-42-generic ▒ │
│ 61 Ubuntu, with Linux 4.10.0-40-generic ▒ │
│ 64 Ubuntu, with Linux 4.10.0-38-generic ▒ │
│ 67 Ubuntu, with Linux 4.10.0-37-generic ▒ │
│ 70 Ubuntu, with Linux 4.10.0-28-generic ▒ │
│ 73 Ubuntu, with Linux 4.9.77-040977-generic ▒ │
│ 76 Ubuntu, with Linux 4.9.76-040976-generic ▒ │
│ 79 Ubuntu, with Linux 4.4.0-104-generic ▒ │
│ 82 Ubuntu, with Linux 4.4.0-103-generic ▒ │
│ 85 Ubuntu, with Linux 4.4.0-101-generic ▒ │
│ 88 Ubuntu, with Linux 4.4.0-98-generic ▒ │
│ 91 Ubuntu, with Linux 3.16.53-031653-generic ▒ │
│ 94 Windows Boot Manager (on /dev/nvme0n1p2) ▮ │
│ 95 Windows Boot Manager (on /dev/sda1) ▒ │
│ 96 System setup ↓ │
│ │
│ │
│ <Display Grub Boot> <Exit> │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Như đã đề cập ở trên, bạn có thể giảm 66% kích thước của menu grub được hiển thị ở đây xuống 66% khi xóa (upstart)
và (recovery)
tùy chọn menu. Đó là trường hợp ở đây nhưng kết quả là các dòng chi tiết hẹp hơn và các tiêu đề không xếp hàng hoàn hảo. Bạn có thể điều chỉnh các tiêu đề cột bằng cách thay đổi dòng này:
--menu "Menu Number ----------- Menu Name ----------" 24 76 16 \
đến một cái gì đó như thế này:
--menu " Menu Number ----------- Menu Name ----------" 24 76 16 \
cat /proc/cmdline
. Để xem các tùy chọn grub sẽ sử dụng vào lần tới khi bạn cập nhật menu grub sử dụnggrep GRUB_CMDLINE_LINUX /etc/default/grub
. Các cài đặt thứ hai đó sẽ được apt sử dụng hoặc bất cứ khi nàoupdate-grub
được chạy. Để xem tất cả các tùy chọn đơn giảnless /boot/grub/grub.cfg
hoặc tương tự.