Меню личинки дисплея и опции без перезагрузки?

Я хотел бы отобразиться grub меню из командной строки. Также, чтобы выбрать опцию меню начальной загрузки личинки и нажать Enter для наблюдения, какие предварительные драйверы ядра загружаются и параметры начальной загрузки передали при загрузке ядра.

Причины сделать это из командной строки:

  • Перезагрузка для наблюдения grub меню занимает время.
  • Это неудобно сделать снимок grub меню и размещает изображение на веб-сайтах. Это - более легкий захват снимка экрана, когда Ubuntu в порядке.
  • Кому: edit копайте пункт меню с e и сделайте снимок, является часто трудным, потому что экран трудно считать. С этой функцией Вы могли скопировать и вставка вместо этого.
  • Это могло бы быть более легкое использование этой функции для раскрытия всех версий ядра, а не apt list --installed | grep linux-image или ls /boot/vml*.
  • Быстро видеть номер меню личинки ценно для grub-reboot и grub-set-default команды.

Как я могу нарисовать меню личинки из командной строки, посмотрите внутренние числа записи меню личинки и отобразите параметры начальной загрузки для данной опции?

12
задан 5 April 2018 в 20:30

3 ответа

Обновленный 7 мая 2018

Разработка сценария: сценарий Bash для клонирования Ubuntu к новому разделу для тестирования 18.04 LTS обновляет, я обнаружил, что Вы получаете некоторые смехотворно долгие пункты меню, который заставляет меню порочить:

4>8  Ubuntu, with Linux 4.14.30-041430-generic (recovery mode) (on /dev/nvme0n1p8)

Это было зафиксировано сегодня путем усечения строк дольше, чем 68 символов.

Обновленный 5 апреля 2018

Это обновление представляет grub-menu.sh намного превосходящая версия к предыдущему ответу (все еще доступный ниже). Новые функции меню личинки:

  • Дисплеи копают 2 числа записи меню. т.е. 0, 1, 1>0, 1>1 ... 2, 3
  • Короткая версия по умолчанию без (upstart) и (recover mode) опции подменю могут быть установлены.
  • Параметр 1 может быть передан как short или long переопределять значение по умолчанию.
  • заголовки столбцов, динамично отформатированные на основе short или long установка.

Выстрел Цветного экрана (короткая версия)

grub-menu.sh

Текстовый Снимок экрана (долгая версия)

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 сценарий удара

Предыдущие версии grub-display.sh и grub-display-lite.sh требуемый много опций тонкой настройки в коде. grub-menu.sh только имеет одну опцию настроить:

# Default for hide duplicate and triplicate options with (upstart) and (recovery mode)?
HideUpstartRecovery=false

Установите значение к true или false.

Формат по умолчанию может быть переопределен при вызове использования сценария:

grub-menu.sh short

или:

grub-menu.sh long

Код:

#!/bin/bash

# NAME: grub-menu.sh
# PATH: $HOME/bin
# DESC: Written for AU Q&A: https://askubuntu.com/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

Предыдущие версии (не рекомендуемый)

Ниже исходный ответ, где числа записи меню следовали за личинкой 1 формат.

grub-display.sh дисплеи копают пункты меню и параметры

Не полагаясь на приложения сторонних производителей можно использовать сценарий удара для отображения grub меню и параметры начальной загрузки для любой данной опции. Параметры начальной загрузки являются больше, чем просто cat /proc/cmdline значения. Они также включают драйверы, загруженные, прежде чем Linux будет загружен.

grub-display.sh сценарий удара

Вот полная распечатка программ, которую можно скопировать и вставить:

#!/bin/bash

# NAME: grub-display.sh
# PATH: $HOME/bin
# DESC: Written for AU Q&A: https://askubuntu.com/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

Отметьте пользователям Сервера Ubuntu

Этот сценарий удара был разработан для Рабочего стола Ubuntu. Для Сервера Ubuntu и других Дистрибутивов Linux, которые не имеют dialog пакет установлен по умолчанию, другой названный сценарий grub-display-lite.sh включен ниже. Та версия использование whiptail вместо dialog.

Сокращение размера меню на 66%

Сокращать список пункта меню личинки отобразилось, можно удалить (upstart) и (recovery) опции. Сделать этот некомментарий эти строки:

# 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

Снимки экрана

Вот то, на что похоже при вызове из командной строки. К сожалению, я не смог скопировать и вставить меню и должен был использовать Print Screen:

grub-display.sh.png

Выключите поддержку мыши копии и вставки

 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       >                │  
       └──────────────────────────────────────────────────────────────────────────┘  

Когда поддержка мыши по умолчанию включена, Вы не можете скопировать экран в буфер обмена, но должны использовать Print Screen для снимка графического экрана. Чтобы поддерживать копию и вставить Вас, должны отключить поддержку мыши путем поиска этих строк:

    --default-item "$DefaultItem" \
    --no-mouse \
    --menu "Menu Number       ----------- Menu Name ----------" 24 76 16 \

Аргумент --no-mouse был вставлен ниже --default-item. Это означает, что Вы освобождаете поддержку мыши, но получаете лучшее разрешение и копируете в способность к буферу обмена путем выделения текста и нажатия Ctrl+C.

Параметры начальной загрузки личинки дисплея

Используйте клавиши навигации, чтобы выделить опцию и нажать Enter для наблюдения параметров начальной загрузки для него:

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

Запись меню личинки № 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

Запись меню личинки № 96

menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
Press <Enter> to continue

grub-display-lite.sh для сервера Ubuntu

Ubuntu Server и Lubuntu не имеет dialog пакет, установленный по умолчанию как Рабочий стол Ubuntu, имеет. Другая версия была записана для этих пользователей на основе whiptail пакет, который включен по умолчанию на большинстве дистрибутивов Linux.

Недостаток whiptail меньше функций, но они не используются в этом случае. Другой недостаток, кажется, меньше цветов, но это может помочь читать для некоторых людей. Существуют преимущества для whiptail dialog такой как копия к буферу обмена, поддержке колесика прокрутки мыши и вероятно более быстрой обработке.

grub-display-lite.sh сценарий удара

#!/bin/bash

# NAME: grub-display-lite.sh
# PATH: $HOME/bin
# DESC: Written for AU Q&A: https://askubuntu.com/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

grub-display-lite.sh сценарий удара является в основном тем же как grub-display.sh кроме нет никакого сообщения об ошибке если dialog не установлен. Также некоторые whiptail аргументы имеют различные имена.

grub-display-lite.sh снимки экрана

Цветной экран, кажется, легче считать, чем grub-display который использует dialog пакет:

grub-display-lite.sh

Вот основанное на тексте изображение, для которого не нужны никакие модификации для копирования в буфер обмена:

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>                      │ 
        │                                                                          │ 
        └──────────────────────────────────────────────────────────────────────────┘ 

Как упомянуто выше Вас может уменьшить размер меню личинки, отображенного здесь на 66% при удалении (upstart) и (recovery) пункты меню. Такой имеет место здесь, но как следствие строки детали становятся более узкими, и заголовки приводят в порядок не строку отлично. Можно настроить заголовки столбцов путем изменения этой строки:

    --menu "Menu Number       ----------- Menu Name ----------" 24 76 16 \

к чему-то вроде этого:

    --menu "      Menu Number ----------- Menu Name ----------" 24 76 16 \
12
ответ дан 23 November 2019 в 03:40

This is what you need, it also has other options.Используйте настройщик Grub. он же sudo apt install grub-customizer.

1
ответ дан 14 June 2020 в 07:04

Альтернативный способ предварительного просмотра меню grub (не такой мощный, как ответ с наибольшим количеством голосов, но я думаю, что может быть полезно добавить эту альтернативу) — установить пакет grub-emu (он доступен в репозитории Ubuntu), запустив в терминале команду: sudo apt-get install grub-emu

Согласно https://packages.ubuntu.com этот пакет наверняка доступен начиная с Ubuntu 16.04 и по-прежнему доступен сейчас, когда я работаю Убунту 20.04.

Одно замечание: чтобы перемещаться по меню с помощью клавиатуры, вам нужно, чтобы оконный терминал, из которого вы запускаете grub-emu, был на переднем плане.

enter image description here

См. изображение: удерживая терминал на переднем плане, вы можете использовать стрелки и кнопки Enter для проверки каждого элемента в списке. Чтобы закрыть grub-emu, вы можете нажать «c», а затем написать «exit». Я использую его для проверки своих настроек цвета (когда они мне надоели и я хочу их изменить) и для проверки времени ожидания (для активации элемента, когда не выбран iem)

1
ответ дан 14 June 2020 в 07:49

Другие вопросы по тегам:

Похожие вопросы: