mrk*_*nck 6 partitioning boot grub2 lvm
几个月前,在我的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 --target=abstraction "${grubdir}")"
for abstraction in $abstractions; do
case "$abstraction" in
diskfilter | lvm)
cat <<EOF
# GRUB lacks write support for $abstraction, so recordfail support is disabled.
EOF
return 1
;;
esac
done
Run Code Online (Sandbox Code Playgroud)
如您所见,作者声明了两个模块diskfilter并lvm制动了记录失败功能,从而导致每次启动时都会出现令人讨厌的 30 秒超时。
到目前为止,这就是现状,一切似乎都按预期工作......但是,为什么记录失败功能首先运行良好?是否存在未解决的错误,这是禁用它的原因?我是地球上唯一一个运行这个引导加载程序和分区方案的人吗?我很期待,有人可以解开这个谜团。
提前致谢
/EDIT我不想只是摆脱烦人的 GRUB 启动菜单超时。相反,我想了解这种行为的潜在问题在哪里。
我也是刚刚注意到这个问题。似乎与1月9日起的这一变化有关
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1800722
看起来已经提交了一个错误来修复原始错误修复引起的问题
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1815002
| 归档时间: |
|
| 查看次数: |
2656 次 |
| 最近记录: |