插入新的操作系统条目后,GRUB2 要求输入密码

插入新的操作系统条目后,GRUB2 要求输入密码

昨天我安装了一个新的 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 没有检测到我在外部驱动器上安装的操作系统时,它对我有用。

相关内容