beg*_*ner 5 grub2 grubrescue 14.04
我正在使用ubuntu 14.04,Grub 版本是2.02~beta2-9ubuntu1. 我已经尝试了很长时间了。我看到了这个问题,但无法以这种方式工作。无论如何,我有解决方案,但不确定它是否正确或是否有任何安全风险。请建议。
我想将 GRUB 配置为:-
我关注了Ubuntu Docs和许多其他博客,但所有博客都基于更早的 GRUB2 版本,2.02~beta2-9ubuntu1因此无法按照文档中的建议编辑 grub 脚本。按照文档,我尝试编辑菜单项,但每次遇到的问题都是:Authentication was needed to boot the OS too.
从问题和Ubuntu 文档中获得帮助,我设法得到了我想要的东西,但请建议我是否正确,如果我的配置真的安全。主要是当安装新内核时,GRUB 配置也必须编辑或不编辑。
1. 创建散列密码
grub-mkpasswd-pbkdf2
提供您的密码,您将收到哈希值。
2. 创建 GRUB 认证
在文件 /etc/grub.d/40_custom 最后添加这些条目,其中
set superusers="user1"
password_pbkdf2 user1 GIVE-GRUB-PASSWORD-HASH-HERE
export superusers
Run Code Online (Sandbox Code Playgroud)
将 GIVE-GRUB-PASSWORD-HASH-HERE 替换为作为grub-mkpasswd-pbkdf2.
3. 对文件 /etc/grub.d/10_linux 中的菜单项应用身份验证
添加--users ''到以下几行,以便您拥有:-
echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --users '' \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
Run Code Online (Sandbox Code Playgroud)
和
echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' --users '' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
Run Code Online (Sandbox Code Playgroud)
添加--unrestricted到以下行,以便您拥有:-
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
Run Code Online (Sandbox Code Playgroud)
4. 更新 Grub
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
编辑
5. 重启系统
之前忘记添加了;之后您需要重新启动系统。
sudo reboot
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3677 次 |
| 最近记录: |