步骤一:生成密码的 GRUB2 密码的 SHA512 值
# grub2-mkpasswd-pbkdf2
Enter password:
Reenter password:
PBKDF2 hash of your password is
grub.pbkdf2.sha512.10000.
B857B79D02FF55CA3A69B8485C1A4A427424630C804CC8A89134520A34E056D7882A778F6BC8AD856CB95DF8B99BE25F9FEAD899D826BB3915FB20BAD682D10A.4A1CF49B7F815A0578031CCA2CE98C66BDFBEAB0AE2721531BB54AFC6CFFA990FBD9062F41C006376C283B717FEC1BD9BB1AFB882AF91B5F4A812459D7974D1F
(补充:这里以生成 eternalcenter 的 GRUB2 SHA512 值为例)
(注意:grub.pbkdf2.sha512.10000……. 后面的一长串字母和数字其实是 1 行,这里因为是显示问题所以看上去是多行)
步骤二:创建 GRUB2 密码文件
# vim /etc/grub.d/40_custom
创建以下内容:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.
B857B79D02FF55CA3A69B8485C1A4A427424630C804CC8A89134520A34E056D7882A778F6BC8AD856CB95DF8B99BE25F9FEAD899D826BB3915FB20BAD682D10A.4A1CF49B7F815A0578031CCA2CE98C66BDFBEAB0AE2721531BB54AFC6CFFA990FBD9062F41C006376C283B717FEC1BD9BB1AFB882AF91B5F4A812459D7974D1F
export superusers
set unrestricted_menu="y"
export unrestricted_menu
(
补充:
1) 登录用户 root
2) 登录密码 eternalcenter
3) 这里的 grub.pbkdf2.sha512.10000.B857B…… 是由步骤一生成的
)
(
注意:
1) password_pbkdf2 root 和 grub.pbkdf2.sha512.10000…… 其实是 1 行,中间只有 1 个空格,应该写成 password_pbkdf2 root grub.pbkdf2.sha512.10000……,这里因为是显示问题所以看上去是 2 行
2) password_pbkdf2 root grub.pbkdf2.sha512.10000……. 后面的一长串字母和数字其实是 1 行,从 export superusers 开始才是独立的 1 行,这里因为是显示问题所以看上去是多行
)
步骤三:修改 /etc/default/grub 参数
# vim /etc/default/grub
在这一行里:
GRUB_CMDLINE_LINUX_DEFAULT="......"
添加:
GRUB_CMDLINE_LINUX_DEFAULT="...... rd.shell=0 showopts LANG=C/g"
步骤四:让刚刚创建的 GRUB2 密码文件生效
# grub2-mkconfig -o /boot/grub2/grub.cfg
步骤五:测试 GRUB2 Bootloader 密码
5.1 重启系统
5.2 进入到 GRUB2 Bootloader 模式
当启动系统时,左下角出现以下内容时按下 “E” 键
C: Command Line E: Edit Entry
参考文献:
https://www.suse.com/support/kb/doc/?id=000019331