正如标题所述,我正在尝试安装 Ubuntu 16.10,以便我可以与现有的 Windows 7 安装双启动 Ubuntu。我正在从 USB 驱动器安装,但一直收到错误:
Unable to install GRUB in /dev/sda. Executing 'grub-install/dev/sda' failed.
This is a fatal error.
我的情况如下:
我目前有:
- 硬盘 #1:Windows 7 64 位 (750 GB)
- HDD #2:用于额外文件的 NTFS 分区(700 GB)和 Ubuntu 16.10(300 GB)
- SSD #1:未格式化 (120 GB)
在 GRUB 安装失败之前,我已经成功安装 Ubuntu 16.10。
我想将 Ubuntu 安装在 1 TB 驱动器的 300 GB 分区上。我似乎无法让 Ubuntu 成功安装 GRUB。
虽然这是一个常见的错误,但我似乎找不到处于完全相同情况的人(显然 Windows 8 及更高版本与 Ubuntu 的运行方式不同并可能导致其他问题,而遇到此问题的其他帖子似乎试图在 Windows 7 上安装 Ubuntu 作为替代方案而不是双启动选项)。
我不想把 Ubuntu 放在 SSD 上(最终我将在那里重新安装 Windows 7,但那是另一天的项目)。
如果有帮助的话,我可以提供屏幕截图(或者至少是屏幕截图)。
该lsblk -a
命令产生了以下结果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop1 7:1 0 0 loop
sdd 8:48 1 57.7G 0 disk
└─sdd1 8:49 1 57.7G 0 part /cdrom
sdb 8:16 0 698.7G 0 disk
├─sdb2 8:18 0 698.6G 0 part
└─sdb1 8:17 0 100M 0 part
loop6 7:6 0 0 loop
loop4 7:4 0 0 loop
sr0 11:0 1 38M 0 rom /media/ubuntu/SAMSUNG SSD
loop2 7:2 0 0 loop
loop0 7:0 0 1.4G 1 loop /rofs
sdc 8:32 0 931.5G 0 disk
├─sdc2 8:34 0 1K 0 part
├─sdc5 8:37 0 16G 0 part [SWAP]
├─sdc1 8:33 0 651.5G 0 part
└─sdc6 8:38 0 264.1G 0 part
sda 8:0 0 111.8G 0 disk
loop7 7:7 0 0 loop
loop5 7:5 0 0 loop
sr1 11:1 1 1024M 0 rom
loop3 7:3 0 0 loop
答案1
首先,用来lsblk -a
确定你的 Ubuntu 驱动器挂载点是什么。
从您提供的输出来看,您的 1 TB 驱动器是/dev/sdc
。当 grub 询问您安装驱动器时,您应该向它提供此信息。我将在下面解释这一点。
然后,只需使用 Ubuntu LiveCD 重新安装 Grub,如下所述这里
引导加载程序和驱动器。
引导加载程序(例如 Grub)会自行安装在驱动器的主引导记录 (MBR) 中。这是驱动器的前 500 KB,由 BIOS 在启动期间读取。
Windows 7 在 中安装了自己的引导程序/dev/sdb
,所以我们必须将其保留在那里,这样它就不会打扰我们。如果您想单独启动 Windows,比如在另一台 PC 上,它仍然很有用。
/dev/sda
是您的 SSD。这就是 grub-install 返回此错误的原因:其中没有任何操作系统或分区。希望如此,因为在这里安装 grub 意味着如果您拔下 SSD,那么 Ubuntu 将无法再启动!
通过在 中安装 Grub /dev/sdc
,即使拔下所有其他驱动器,您仍可以启动 Ubuntu。Grub 还将添加从 Windows 启动的条目,即使它位于另一个驱动器上。只是不要忘记在 BIOS/UEFI 中将您的 1 TB 驱动器定义为主 HDD。