GRUB(GRand Unified Bootloader)是经常使用的一款开源启动加载器,用于启动计算机操作系统。GRUB支持多种操作系统,如Linux发行版、FreeBSD、OpenBSD、NetBSD、Mac OS X以及Windows。GRUB有用户友好的文本或图形界面,用户可以在启动时选择不同的内核或操作系统。GRUB主要特点如下。
GRUB可用于管理多个操作系统的启动,用户能在启动时选择不同操作系统。且GRUB是模块化设计,开发者可以根据需要添加或移除功能。此外,还支持多种文件系统,如ext2/3/4、 ReiserFS、JFS、XFS、NTFS等,都可以在不同的文件系统上读取启动文件。
GRUB一般位于位于/boot/grub/grub.cfg文件中,是一个简单的配置文件,可以用来定义启动时的菜单项和内核参数,还可以从网络文件系统(如NFS)启动,这对于远程启动和网络安装非常有用。
GRUB支持多种语言,包括Unicode字符,使得它在全球范围内都能使用。大多数Linux发行版默认的启动加载都是它,因具有灵活性和强大的功能,所以GRUB成为管理复杂启动环境的理想选择。
GRUB可以配置为要求密码保护,增加了系统的安全性。如果想GRUB设置密码保护,可以参考以下步骤(适用于CentOS 7.x及以上版本)!
需要先生成加密密码。运行以下命令然后系统会提示输入并确认密码,再显示一个PBKDF2 hash,这就是加密密码。
grub2-mkpasswd-pbkdf2
输入密码确认后,会输出类似以下结果:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.<encrypted_hash>
这里需要记下<encrypted_hash>的部分,后面还会使用到。然后开始编辑GRUB的配置文件,编辑/etc/grub.d/40_custom文件(不存在则创建该文件),并添加以下内容,其中<encrypted_hash>替换为上一步中获得的加密密码:
set superusers="root"
password_pbkdf2 root <encrypted_hash>
保存并关闭文件。
重新生成GRUB配置,让更改生效:
grub2-mkconfig -o /boot/grub2/grub.cfg
这会根据/etc/grub.d/目录下的脚本重新生成/boot/grub2/grub.cfg文件。重启系统。
Reboot
重启后,要输入密码才可以访问GRUB菜单继续编辑。当然有个情况不能忽视,就是密码忘记了,需要清楚或者更改,需要安装介质启动系统,选择选择“Rescue installed system”进入救援模式。
根据提示选择语言和键盘。
在救援模式下,使用chroot命令切换到系统环境,并使用grub2-setpassword命令来清除密码:
grub2-setpassword
提示输入密码时,直接按回车键就可以清楚密码。
需要关注的是GRUB的应用可能会因为Linux发行版不同而有所差异,基本流程是类似,执行步骤前确保具有适当权限,操作前也要做好数据备份。如果需要更多的技术指导可以咨询华纳云官网技术人员。