几个月前,在我的UEFI启动计算机上,我使用LVM分区方案安装了一个全新的 Ubuntu 18.04.1 LTS 。
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
??sda1 vfat 79DE-0D6B /boot/efi
??sda2 LVM2_member ZBlrfj-ZwAJ-2T3b-gUHr-eKVw-nhIi-9bQQTs
??ubuntu--vg-root ext4 e85edc94-cc00-42c5-8994-cbb835e8e315 /
??ubuntu--vg-swap_1 swap e699c892-4046-4d0b-957a-f936cc4c9973 [SWAP]
Run Code Online (Sandbox Code Playgroud)
每次启动的前几个月都按预期进行,这意味着只有在系统未正确关闭的情况下才会显示 GRUB 启动菜单。所以众所周知的记录失败功能似乎工作正常。
但是,几周前,在系统升级到 Ubuntu 18.04.2 LTS 后,GRUB 启动菜单开始在每次启动时显示,超时时间为 30 秒。当然,从长远来看,这很烦人:-(
在检查了 grub 配置文件后,/boot/grub/grub.cfg我发现记录失败功能被声明为关于 LVM 的使用已损坏?!recordfail 功能被禁用,因此,GRUB 在每次引导时都会显示引导菜单。
set recordfail=1
# GRUB lacks write support for lvm, so recordfail support is disabled.
Run Code Online (Sandbox Code Playgroud)
我/etc/grub.d/00_header在check_writable()函数中进一步的 GRUB 配置生成脚本中找到了这个永久禁用的记录失败功能的来源。
abstractions="$(grub-probe …Run Code Online (Sandbox Code Playgroud)