我最近在主机上设置了 Linux,以便与我现在正在合作的研究小组兼容,并与 Windows 10 实现双启动。安装后,grub 作为命令行出现,但看不到任何一个操作系统。
我按照教程这里我使用下面的代码成功启动了 Linux
grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
grub> initrd /boot/initrd.img-3.13.0-29-generic
grub> boot
将根目录替换为正确的目录,以及正确的 linux 和 initrd 文件。
问题是每次启动机器时我都必须输入这个。我尝试了页面底部关于“永久修复”的代码,但没有用。到目前为止,我也没有办法回到我的 Windows 分区。
答案1
按照您描述的方式启动 Ubuntu,然后运行sudo grub-install /dev/sda && sudo update-grub
。重新启动进行测试。
答案2
针对 Ubuntu 18+ 和 Windows 10 的解决方案:
问题在于您的 BIOS 是 UEFI 模式,而您的 ubuntu 正在以传统模式加载 HDD。您可以使用以下命令进行确认:
-d /sys/firmware/efi ] && echo "Installed in UEFI mode" || echo "Installed in Legacy mode"
确认后,您需要将 Ubuntu 转换为 UEFI 模式:
注意:如果您的计算机已正确启动,请不要执行此过程。仅当您认为您意外地在 BIOS/CSM/传统模式下安装了 Ubuntu 并且希望它以 UEFI/UEFI 模式启动时才使用此过程:
启动 Boot-Repair,点击“高级选项”,转到“GRUB 位置”选项卡。
如果您没有看到“Separate /boot/efi partion”行,则表示您的 PC 没有任何 UEFI 分区。在这种情况下,退出 Boot-Repair,然后创建一个 UEFI 分区(请参阅上面的“创建 UEFI 分区”段落)。
- 如果您看到“单独的 /boot/efi 分区”行,请勾选它然后单击“应用”按钮。
- 设置您的 BIOS,以便它以 UEFI 模式启动 HDD(请参阅上面的“以 UEFI 或传统模式设置 BIOS”段落)。
答案3
我通常使用一个名为 Boot Repair 的实用程序。以下是 Linux 社区的 Boot Repair 页面:https://help.ubuntu.com/community/Boot-Repair