🐧如何在CentOS / RHEL上禁用os-prober

什么是os-prober

os-prober软件包检测机器上所有可用的操作系统,并以通用的机器可读格式返回结果。

有时os-prober可能会导致某些特殊磁盘(例如Oracle ASM磁盘)出现问题。

本教程介绍了如何禁用os-prober。

禁用os-prober

创建新的GRUB配置文件时,grub2-mkconfig命令将调用os-prober。

在已加载的Oracle ASM LUN上运行grub更新会导致ASM磁盘超时。

您将在Oracle跟踪文件中看到以下错误:

ORA-15080: synchronous I/O operation failed to write block 567864873 of disk 6 in >disk group REDO
ORA-27061: waiting for async I/Os failed
Linux-x86_64 Error: 1: Operation not permitted

要禁用os-prober:1.必须将/ etc / default / grub文件中的GRUB_DISABLE_OS_PROBER变量设置为true。 例如:

# vi /etc/default/grub
GRUB_DISABLE_OS_PROBER=true

2.修改/ etc / default / grub后,应恢复GRUB配置。

-在基于BIOS的系统上:

# grub2-mkconfig -o /boot/grub2/grub.cfg

-在基于UEFI的系统上:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

结论

从grub信息页面上了解GRUB_DISABLE_OS_PROBER = true参数的行为:

'GRUB_DISABLE_OS_PROBER'
     Normally, 'grub-mkconfig' will try to use the external 'os-prober'
     program, if installed, to discover other operating systems
     installed on the same system and generate appropriate menu entries
     for them.  Set this option to 'true' to disable this.

创建grub.cfg时,grub2-mkconfig命令将扫描提供给系统的所有磁盘。 如果系统中有许多磁盘,则可能需要一些时间,并且系统将冻结。 因此,如果您的oracle数据库系统装有很多ASM磁盘,则建议禁用它。

Sidebar