我按照以下方式操作
- 运行 grub-mkpasswd-pbkdf2 获取字符串
- nano /boot/grub/grub.cfg
- 添加两行
- 设置超级用户=“putyourusernamehere”
- 密码 putyourusernamehere grub.pbkdf2 (省略)
当我重新打开计算机时,它无法工作,如何在 Debian 中使用 grub 2 密码保护?
答案1
Debian 8(jessie)将 Grub 2 密码参数存储在目录中/etc/grub.d/
。此目录中只有脚本用于生成配置文件。
因此,您可以创建一个新的脚本(例如/etc/grub.d/01_users
),其内容如下:
#!/bin/bash
cat <<EOF
set superusers="putyourusernamehere"
password putyourusernamehere grub.pbkdf2 grub.pbkdf2.sha512.10000.3450C89...
EOF
以上所有行都是文件的一部分,因为它是一个脚本,其输出将进入最终的配置文件。由于它是一个脚本,因此只有当它是可执行的时才会被处理(chmod a+x ...
)。
作为选择,您可以将所需的行放入已调整为输出其自身内容的现有文件中。在这里,您可以看到如何/etc/grub.d/40_custom
使用 tail 命令替换 shell,从第三行开始返回脚本内容:
#!/bin/sh
exec tail -n +3 $0
set superusers="putyourusernamehere"
password putyourusernamehere grub.pbkdf2 grub.pbkdf2.sha512.10000.3450C89...
在某些 Ubuntu 衍生版本(例如 Mint 19)中,密码格式发生如下变化:
#!/bin/sh
exec tail -n +3 $0
set superusers=putyourusernamehere
password_pbkdf2 putyourusernamehere grub.pbkdf2.sha512.10000.3450C89...
您可能希望将“--unrestricted”添加到您想要无需密码启动的菜单项中。例如在文件中10_linux
:
10_linux:CLASS="--class gnu-linux --class gnu --class os --unrestricted"
最后启动update-grub2
生成最终的配置文件/boot/grub/grub.cfg
。
答案2
读这。基于 Debian 的操作系统 Ubuntu 的官方文档。也许它能有所帮助