再谈grub2菜单隐藏的问题

升级了linux内核之后,发现grub菜单又被覆盖了,于是打开/etc/default/grub文件:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=UUID=94418005-fdde-4c50-8fc9-06aace00e102 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
注释掉GRUB_HIDDEN_TIMEOUT和,并将GRUB_HIDDEN_TIMEOUT_QUIET选项设置为false即可。
再次更新,可以使用命令:
grub2-editenv - unset menu_auto_hide
默认第一个选项:
grub2-set-default 0
grub2-reboot 0
另外,可以手工通过长按shift键获取到grub2的菜单
RPM打包是个非常工程化的事情。
一般情况下,需要有debuginfo以及debugsource的包,可以用来定位线上问题;
如何在RPM打包的时候,能够打出debuginfo以及debugsource的包呢?
需要有几个条件:
1,编译时必须有 -g 选项;
2,spec文件中必须有 %build 段,来说明,哪怕空也行;
3,没有使用debuginfo的宏定义为nil;

解决grub2菜单自动隐藏

安装了fedora31之后,发现grub2引导菜单变成了自动隐藏,这样无法切换操作系统了,于是想办法解决,发现grub2的环境配置文件(/boot/efi/EFI/fedora/grubenv):
# GRUB Environment Block
saved_entry=0f9c7531424f4eaa8e6a0539697a2593-5.3.7-301.fc31.x86_64
menu_auto_hide=1
boot_success=1
kernelopts=root=UUID=d234abd9-fa35-4827-affd-257592feb5fb ro resume=UUID=94418005-fdde-4c50-8fc9-06aace00e102 rhgb quiet
boot_indeterminate=0
发现menu_auto_hide为1,表示自动隐藏,于是修改成:
menu_auto_hide=0
并重新在/boot/grub2生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
一般不覆盖掉/boot/efi/EFI/fedora/grub.cfg,这样如果修改有问题,还可以有恢复的机会 :)

fedora31发布了

国内很低调的,在百度上搜索不到相关新闻,但fedora31还是如期的发布了,比以往延期发布,说明fedora工程组的工程管理上做到了不错的效果。:)
最新的fedora31有哪些新功能呢?
1,默认采用CgroupsV2了,提供统一的层次结构;控制组提供了更好的一致性、驱动的灵活性等;同时容器和工具接口也发生了变化;
2,移除了默认的python2,采用了python3作为默认python,在下个版本中python2将成为历史;
3,发布了最新的GLIBC2.30,支持动态链接器的"--preload"参数以预加载共享对象,以替代LD_PRELOAD环境变量;支持Unicode 12.1;更好的支持POSIX线程以及Arm性能优化;
4,gawk version5作为默认里程碑版本,增加了namespace功能;
5,放弃对32位架构系统的支持;
6,使用新的且更好的压缩算法zstd代替xz,当前rpm包管理器已经采用此压缩方式;
7,古老的perl语言仍然在坚持,最新的版本是5.30,后面的小版本是代表有多少年头了么? :)

fedora30 发布了

从fedora诞生以来,已经跨越了30个版本,几乎半年一个版本,也已经有了15个年头,感谢fedora工程项目组给Linux开源带来了新的活力,令全世界的fedora爱好者一直追随,这里我们来看看有fedora30带来了哪些新的变化呢?
  •  GNOME 3.32:且为了更好的管理linux操作系统服务,Fedora Server版本将ansible内置;
  • GCC 9:要知道,现在RHEL7.6才GCC4.x,横跨了5个版本;
  • Bash 5.0:一个大版本的升级,体验一下
  • PHP 7.3:支持更全面的引用传递,性能大幅度提升,比上一个版本提升22%;
找到 /opt/VBoxGuestAdditions-6.0.4/src/vboxguest-6.0.4/vboxsf/vfsmod.c,将
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0)
# include <linux/mount.h>
#endif
修改成
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
# include <uapi/linux/mount.h> /* for MS_REMOUNT */
#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0)
# include <linux/mount.h>
#endif
即可。

关于grub2引导分区不识别的问题

最近thinkpad的bios由于安全原因,升级了一下版本,发现windows10又进入不了。

这个问题以前也出现过,后面采用insmod 分区类型,找到启动文件解决,但这次连分区也无法识别,且在grub2命令行输入exit,无法通过windows boot manager启动。

linux下fedora系统仍然ok,观察windows分区里的启动文件也没有破坏,说明是引导的问题,但grub2的命令set root='(hd0, gpt3)'已经无法识别分区(fc.c:120 unkown filesystem),但blkid可识别uuid,于是乎改变加载方式,使用搜索命令查找UUID来强制获取分区:

menuentry 'Win 10 (loader) (on /dev/nvme0n1p3)' --class windows --class os $menuentry_id_option 'osprober-chain-F0FAC47EFAC44319' {
insmod part_gpt
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 F0FAC47EFAC44319
else
search --no-floppy --fs-uuid --set=root F0FAC47EFAC44319
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

启动windows正常,重启发现linux启动项没有了,于是乎将bios的启动顺序改变 fedora > windows boot manager 即可。

所有的引导选项又回来了。:)

日本东京之行

12月初去了一趟日本东京,陪夫人去看东方神起的演唱会。

亲人之殇

悼念我的大舅舅

windows10恢复之路

虽然linux系统以及生态逐步完善,但Windows上的Office等办公软件还是无可替代

作为fedora的骨灰级爱好者,每次版本更新,都会体验其中,但不幸的事情发生了,这次升级到fedora28之后,发现grub2启动项里面的Windows 10选项没有了,于是乎开始了系统的捣鼓,windows10恢复之路正式开始。

Archives

Pages

Powered by Movable Type 7.0.4