![插入新的操作系统条目后,GRUB2 要求输入密码](https://linux22.com/image/865032/%E6%8F%92%E5%85%A5%E6%96%B0%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%9D%A1%E7%9B%AE%E5%90%8E%EF%BC%8CGRUB2%20%E8%A6%81%E6%B1%82%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81.png)
昨天我安装了一个新的 Ubuntu 系统,并在另一个分区安装了 Android-x86。然后我按照这教程添加 Android-x86 条目。我的 40_custom 文件:
#! /bin/sh -e
cat << EOF
menuentry "Android-x86 r1" {
set root='(hd0,6)'
linux /android-4.4-r1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 acpi_sleep=s3_bios,s3_mode SRC=/android-4.4-r1
initrd /android-4.4-r1/initrd.img
}
EOF
当我运行update-grub
命令时,一切都很顺利,条目已成功创建。但是当我重新启动系统并尝试访问我的 Android-x86 时,grub2 要求输入用户和密码。我从未为我的 grub2 设置任何用户或密码,甚至没有要求它保护我的 Android-x86 菜单项。这里有什么问题?谢谢。
答案1
简短回答:grub 可能已损坏。您可以按照说明进行操作这里进行修复或者重新安装。
简而言之:
- 你从 live(本例中为 ubuntu)cd/usb 启动
- 挂载安装 grub 的分区(参见编辑...)
- 绑定 grub 需要访问的目录以检测其他操作系统
- 安装、检查和更新 grub
编辑:该链接已失效,因此我在此提供所需的步骤:
要挂载安装 GRUB 的分区,您必须:sudo mount /dev/sdXY /mnt
sdX 是驱动器,sdXY 是安装 GRUB 的分区。
一旦挂载,要绑定目录 grubs,您需要:sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
然后,我们用 chroot :
sudo chroot/mnt
安装、检查并更新 grub(您只需提供驱动器号,而不是分区。例如 /dev/sda 而不是 /dev/sda2):
grub-install /dev/sdX,grub-install –重新检查/dev/sdX。
grub-install /dev/sdX grub-install --recheck /dev/sdX
退出 chroot 系统并卸载所有内容:
退出 && sudo umount /mnt/sys && sudo umount /mnt/proc && sudo umount /mnt/dev/pts && sudo umount /mnt/dev && sudo umount /mnt
稍长的答案:
我一直试图在一台旧笔记本电脑上安装 8 种不同的操作系统(win7 + 7 种不同的 GNU/Linux 发行版),在安装过程中以及 grub 的行为方式上遇到了各种问题。昨天,除了一个 grub 条目外,它开始要求输入用户名/密码(在此之前它运行正常)。按照链接中的说明操作后,一切都恢复正常。
尝试安装 Android 并运行update-grub
以让 grub 找到新内核并更新菜单。
答案2
您是否尝试过使用 grub 定制程序?https://launchpad.net/~danielrichter2007/+archive/ubuntu/grub-customizer
尝试备份您当前的自定义设置,然后将其删除。安装 grub 定制程序,看看它是否检测到您的 android 安装。当更新 grub 没有检测到我在外部驱动器上安装的操作系统时,它对我有用。