我最近下载了官方的centos/7 Vagrant Cloud VM。在通过密钥重新启动期间尝试访问其 GRUB2 菜单时e,我遇到了输入用户名 + 密码的提示。
我在该 VM 的官方页面、宣布它的博客文章以及任何这些 git 存储库中都没有找到提到的这个:
也许我在某个时候修改了它,不再记得用于保护 GRUB2 启动菜单的用户名和密码。
在任何一种情况下,与其进一步寻找这个,我怎样才能简单地将 GRUB2 中的凭据更改为我想要的任何内容?
我最近下载了官方的centos/7 Vagrant Cloud VM。在通过密钥重新启动期间尝试访问其 GRUB2 菜单时e,我遇到了输入用户名 + 密码的提示。
我在该 VM 的官方页面、宣布它的博客文章以及任何这些 git 存储库中都没有找到提到的这个:
也许我在某个时候修改了它,不再记得用于保护 GRUB2 启动菜单的用户名和密码。
在任何一种情况下,与其进一步寻找这个,我怎样才能简单地将 GRUB2 中的凭据更改为我想要的任何内容?
由于您通常可以
sudo
在启动 Vagrant VM 时访问 root,因此您可以简单地登录并成为 root,如下所示:成为 root 后,您可以通过以下两种方式之一将凭据重置为您想要的任何内容。
RHEL & CentOS 7.2+ & Fedora
从 RHEL 和 CentOS 7.2+ 和 Fedora 开始,有一个帮助脚本/工具,
grub2-setpassword
它包含在其中,极大地简化了执行此操作的过程。要使用它,您需要执行以下操作:
完成上述操作后,将在此文件中自动为您设置密码
/boot/grub2/user.cfg
::您可以通过如下方式查找 GRUB2 如何在基于 CentOS 的发行版上使用此文件
/etc/grub.d
:该文件的内容:
啊,所以默认用户将是“root”。很好,如果我们要重新启动我们的虚拟机并尝试使用我们提供的密码凭据“root”
grub2-setpassword
:我们现在可以进入菜单:
Ubuntu 16.04+
在其他不提供脚本
grub2-setpassword
的发行版上,这个过程有点复杂,但并不可怕。1.生成加密密码
您需要使用 GRUB2 工具来加密您的密码:
2. 将密码添加到 GRUB2 配置
然后获取该命令的输出,
grub.pbkdf2.sha512.10000.....
并将其复制/粘贴到文件中。注意:我们将用户名设置为“root”,它可以是任何你想要的。如果您更改它,请务必在两行 (
superusers="root"
&password_pbkdf2 root ...
) 上进行更改。3. 重建 GRUB2
grub.cfg
现在我们需要重新生成我们的
grub.cfg
:这将获取所有内容
/etc/grub.d
并将其合并到一个新的grub.cfg
. 所以我们的40_custom
部分grub.cfg
将从这个开始:对此:
参考