overlayroot и grub2 - меню grub всегда отображается

overlayroot и grub2 - меню grub всегда отображается

Я использую overlayroot, настроенный как overlayroot=tmpfs:swap=1,recurse=0в моем /etc/overlayroot.conf.

overlayroot работает как и ожидалось. Мне удалось обновить grub, просто отключив overlayroot и включив его снова, когда я хочу (я настраиваю образ, поэтому я делаю довольно много изменений по ходу дела)

Проблема в том, что при перезагрузке меню grub появляется на 30 секунд, независимо от того, как я установил конфигурацию grub. О, и я должен упомянуть, каждый раз, когда я запускал update-grub и не был в режиме только для чтения.

Вот мой конфиг grub. Я тоже пробовал, но безрезультатноGRUB_DISABLE_OS_PROBER=true

# 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=0
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"

# Disable OS Prober for selecting dual boot scenarios.
GRUB_DISABLE_OS_PROBER=true

Я думаю, что происходит следующее: overlayroot изменяет точки монтирования. Поэтому, когда overlayroot отключен, он загружается, не показывая меню grub, тогда как при включении он видит больше точек монтирования и решает загрузить меню.

Я также попробовал принятый ответ в этом посте:https://serverfault.com/questions/549166/how-to-update-grub-on-a-system-running-overlayrootОднако я все еще получаю ошибку «/usr/sbin/grub-probe: ошибка: не удалось получить канонический путь к `/dev/mmcblk0p2'».

решение1

Хорошо, решено, отключите overlayroot и добавьте следующее:

/etc/default/grub

GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Затем обновите grub.

update-grub

Повторно включите overlayroot и перезагрузите компьютер.

Связанный контент