将 GRUB 引导加载程序安装到硬盘失败

将 GRUB 引导加载程序安装到硬盘失败

我正在 IBM 3650 M2 上安装 Ubuntu Server 12.04 LTS,该服务器带有一个硬件 raid5,其中包含三个分区:

sda1 /boot - 1 GB, ext3
sda2 lvm - 1 TB, ext4
sda3 swap - 24GB

在 GRUB 安装期间,我收到一条消息,提示安装程序无法在硬盘上加载 GRUB,并返回到安装程序菜单。

答案1

请提供有关 GRUB 安装失败原因的更多信息。

当没有关于 GRUB 安装失败原因的信息时,很难提出可能的解决方案。请尝试以下操作:

  1. 启动 Ubuntu Live CD 或 USB
  2. 挂载你的 LVM 分区(/dev/sda2
  3. 运行命令cat syslog | grep grub
    syslog日志文件在/var/syslog哪里/dev/sda2
  4. 通过编辑命令的输出将其添加到您的问题中

GRUB 安装问题是否与 UEFI 有关?

我的理解是IBM 3650 M2使用 UEFI BIOS。您在安装 GRUB 时遇到的问题是否可能与此有关?如果是,以下链接之一可能会有所帮助。

答案2

我遇到了类似的问题。按下Alt+F4切换到安装程序输出,我可以看到Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea.

根据 的输出,我的 USB 磁盘被检测为/dev/sda,而我的目标硬盘被检测为。/dev/sdbcat /proc/partitions

因此我通过在会话中激活 shellAlt+F2并运行以下命令来修复此问题:

chroot /target grub-install /dev/sdb

然后我切换回安装程序(Alt+F1)并点击“继续不使用引导加载程序”。

安装完成后(我拔掉了 USB 驱动器),系统会提示我grub>,所以我按照说明进行操作这里,如下所示(假设您的启动盘是/dev/sda

grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
grub> set root=(hd0,msdos1)
grub> ls /
lost+found/ etc/ ...
grub> ls /boot
config-3.11.0-26-generic ...
grub> linux /boot/vmlinuz-   # press Tab
                             # then add the following
          root=/dev/sda1
grub> initrd /boot/initrd    # press Tab
grub> boot    

系统启动后,登录然后:

sudo update-grub
sudo grub-install /dev/sda

重新启动以检查其是否正常工作:

sudo shutdown -r now

答案3

我似乎遇到了同样的问题。似乎安装软件失败了。错误返回,无法安装,然后我无法继续其他任何事情。

我相信它是悬挂在安装部分上。

您无法使用服务器 CD 修复此问题。我曾尝试挽救安装,但对我不起作用。我发现它非常有问题!

您需要一张 Live CD 才能完成此操作。从 CD 启动,然后按Crl+ F1。这将使您进入启动会话。

然后只需执行以下操作

sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt/ /dev/sda
*edit* at this point, also ensure that if /usr and /var are on seperate partitions that you mount them to /mnt/usr and /mnt/var
*edit 2* whithin the chroot you need to have /dev /run and /proc available for update-grub to work, use the following to acheive that: for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
sudo chroot /mnt
sudo update-grub
sudo reboot

这样就应该能解决这个问题。

另外还有一个警告,如果你安装了 64 位,那么你将需要一个 64 位,反之亦然,否则你将在 chroot 期间收到错误。(就像我一样)

答案4

我通过在 NVMe SSD 上使用带有 Windows 10 的 ASUS Crosshair vi hero 并在第二个 SSD 上使用 Ubuntu 18.04 解决了引导加载程序无法安装到此位置的问题。

  1. 在 BIOS 的“启动”页面下,禁用快速启动

  2. 在 CSM 页面中选择“AUTO”

相关内容