如何防止更改 grub 菜单

Ran*_*ert 0 startup boot grub2 root

当您启动机器并按 shift 调出 grub 菜单,然后按 e 在以 开头的菜单中进行更改时setparams 'Ubuntu, with Linux 3.16.0-30genric',您如何防止人们对该菜单进行更改,例如添加ro recovery nomodeset

Ter*_*nce 5

如果您在超级用户和密码指定部分查看此页面,您会看到它特别指出:

注意:12.04 LTS 中的 GRUB 2 1.99 不保护子菜单,即。命令行、条目编辑和条目访问不受保护!请参阅错误 718670。

但是,他们声称解决方法是将内容添加export superusers/etc/grub.d/00_header文件中。该示例看起来像以下添加到文件底部的行:

cat << EOF
set superusers="user1"
password user1 password1
export superusers
EOF
Run Code Online (Sandbox Code Playgroud)

将这些行添加到您的用户信息后,更新 grub 以使设置生效:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

我刚刚在我自己的系统上测试了这个,一旦我选择Advanced Options它就要求输入用户名和密码。但是,一旦您输入它,它就会为该会话存储,您可以编辑所有行,甚至是主要的 Ubuntu 条目。如果我重新启动系统,然后按下eUbuntu 的第一个条目,它会要求输入用户名和密码。

注意:如果有人将主机引导到 Live 媒体,这不会提供保护。 防止这种情况的唯一方法是使用完整的驱动器加密,但这是另一个主题。

希望这可以帮助!