无法安装 GRUB,运行“grub-install --force 失败

无法安装 GRUB,运行“grub-install --force 失败

我正在尝试在 Lenovo Yoga 2 Pro 上的单独分区上安装 Ubuntu 14.04 以及 Windows 8.1。我为交换空间分配了 10GB,为 Ubuntu 本身分配了 90GB。

每当我尝试安装 Ubuntu 时都会收到一条错误消息:

Unable to install GRUB in /dev/sda Executing grub-install /dev/sda failed. This is a fatal error.

另外详细地我收到以下消息:

ubuntu kernel: [ 1946.372741] FAT-fs (sda2): error, fat_get_cluster: invalid cluster chain (i_pos 0).

ubuntu grub-installer: error: Running 'grub-install --force failed.

有人能提出解决方案吗?

答案1

在安装过程中,您是否将分区设置为 EFI 启动分区?如果没有,则很可能是问题所在。这是我在安装任何 Linux 发行版以与 Windows 8.1 双启动时使用(并推荐)的过程。为了使用此过程,Ubuntu 需要位于 UEFI 可启动媒体上(例如 GPT FAT32 UFD、DVD/CD 或其他支持 UEFI 的媒体)。

如果您希望 Ubuntu 与 Windows 8.1 位于同一磁盘上,请按照以下步骤操作:

1)关闭 Windows 快速启动

2) 您需要缩小 Windows 8.1 主分区。这可能比较棘手,因为Windows 需要特定的分区方案如何使用。我给你看一张图:

[(Windows RE 工具)(EFI 系统分区)(Microsoft 保留分区)(Windows 8.1)(其他)]

您可以使用自己喜欢的工具来编辑这些分区。我更喜欢 Gparted,但任何好的磁盘分区工具都可以处理这个问题。 备份您的 Windows 安装首先。然后,调整 Windows 8.1 分区的大小,以便有足够的空间安装其他操作系统。我更喜欢给任何 Linux 发行版留出大约 100 GB 的空间。

3) 下载您的 Ubuntu iso 并将其放在某些媒体上(CD/DVD/USB/(在此处插入您喜欢的媒体))。

4)关闭UEFI中的安全启动和快速启动。 请勿打开传统启动(如果您的主板仅支持 UEFI 启动且未启用安全启动和快速启动。)

5) 插入安装介质并在剩余的空间中安装 Ubuntu。确保对于 EFI 启动分区(您可以在分区菜单中选择此项),安装程序使用 Windows 8.1 已创建的 EFI 系统分区。该分区应该类似于 sdx2,但可能会有所不同。 请勿重新格式化该分区! 你只需要告诉安装程序将其用作 EFI 分区。它会将 Ubuntu 的 grubx64.efi 引导加载程序放在此位置。

6) 完成后,继续正常安装并根据需要设置分区。安装完成后,您应该能够轻松启动 Ubuntu。

如果您尝试修复现有的 Ubuntu 安装(以 UEFI 模式安装),则需要执行以下操作:

sudo apt-get 安装 grub-efi-amd64

sudo modprobe efivars

sudo grub-install /dev/sdx (x 是安装 Debian 的驱动器)

sudo 更新 grub

从那里,UEFI应该使用 Grub-EFI 作为引导加载程序。我还没有找到让 Windows 8 引导加载程序看到并允许 Debian 启动的方法。YYMV。

到目前为止,我想我已经重写了(也就是复制/粘贴)这个过程大约四次了。现在我应该做一个 wiki 了。

答案2

我认为你的文件系统不太好。

因此我建议您使用以下命令检查您的文件系统。

sudo fsck.vfat -a /dev/sda2

当 /dev/sda2 已挂载时,在使用 fsck.vfat 命令之前,必须先用以下命令将其卸载。

sudo umount /dev/sda2

相关内容