我知道这个问题已被问过多次,但是对我来说似乎没有一个答案有用。
我有 win 10 和 Ubuntu。但没有双启动菜单。GRUB 不会在启动中显示。它会自动启动到 Windows,如果我在启动时进入 BIOS 并从启动菜单中选择我的 HDD,它就会启动到 Ubuntu!
问题是如何修复 GRUB 并让它在启动时显示操作系统选择菜单?
在 GRUB 定制器中,它也不显示 Windows。
我做了什么:在空白硬盘上,我安装了 win 10,禁用了 fastboot,从 USB 闪存安装了 UBUNTU 16。在安装 Ubuntu 时,没有“与 Windows 启动管理器一起安装 Ubuntu”选项,因此我选择了其他选项并成功安装了 ubuntu。
这是我的硬盘:
user@ubuntpc:~$ sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
NAME FSTYPE SIZE MOUNTPOINT LABEL
sda 2,7T
├─sda1 128M
├─sda2 ntfs 1T HD1
├─sda3 ntfs 1T HD2
├─sda4 ntfs 713,2G HD3
└─sda5 swap 33,2G [SWAP]
sdb 232,9G
├─sdb1 ntfs 450M Recovery
├─sdb2 vfat 99M
├─sdb3 16M
├─sdb4 ntfs 99,5G
├─sdb5 ext4 75G /
└─sdb6 ntfs 57,9G
(我有 3TB HDD,仅将其用于 UBUNTU SWAP 和 DATA 文件。我有 250 GB SSD,我将它用于 Windows 和 ubuntu 操作系统)。
答案1
因此我找到了错误并解决了它。
原因:安装 ubuntu 时我没有停用安全启动。[我认为] 或者也可能是 asus mobo CRM(传统模式)对于装有 ubuntu 的 USB 闪存处于活动状态。
这导致 win 在 EFI 中,而 ubuntu 在 legacy 中。
解决方案:我遵循了这个指导
$ sudo mount /dev/sdb5 /mnt
$ sudo mkdir -p /mnt/boot/efi
$ sudo mount /dev/sdb2 /mnt/boot/efi
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys
$ sudo mount --bind /run /mnt/run
$ modprobe efivars
$ sudo chroot /mnt
# apt-get install grub-efi-amd64
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --no-floppy --debug
相应地更改了 sdb?。
它成功了。计算机现在显示启动管理器,其中包含 win 和 ubuntu 选项。