我尝试了很多次在桌面上用新磁盘安装 Ubuntu 14.04。但 grub 一直不起作用。重启后总是进入救援 grub 命令行,并显示消息可以“打开”磁盘(见图 1)。
我的系统具有以下硬盘结构。
最后一次尝试是安装最新的 Ubuntu 15.04,当磁盘格式化后准备安装系统时,它向我显示了一条关于 UEFI 的消息,比如我按下使用 UEFI 或类似的东西(我不记得消息说了什么)但重启后还是同样的问题。我忘了说,当我在硬盘上安装 ubuntu 时(预览安装),我没有遇到任何安装或 grub 问题。编辑:我的主板是 Gigabyte GA-H87-HD3 sudo blkid 的结果
ubuntu@ubuntu:~$ sudo blkid
/dev/sda1: LABEL="System Reserved" UUID="F84AA0AF4AA06C56" TYPE="ntfs" PARTUUID="13e39544-01"
/dev/sda2: UUID="2EB6A8A9B6A872CF" TYPE="ntfs" PARTUUID="13e39544-02"
/dev/sdb1: UUID="adac9a65-e121-4000-a2e4-9000372dfee3" TYPE="ext4" PARTUUID="be40ea1a-8031-4024-b8f9-782801d8e085"
/dev/sdc1: UUID="9CA29CF6A29CD65C" TYPE="ntfs" PARTUUID="3a0ff180-01"
/dev/sdd1: LABEL="New Volume" UUID="5CA815C4A8159E18" TYPE="ntfs" PARTUUID="57980e32-01"
/dev/sdi1: LABEL="UUI" UUID="C2F4-1EFA" TYPE="vfat"
/dev/loop0: TYPE="squashfs"
/dev/sdb2: UUID="185c13af-c626-4db3-a276-410f64711637" TYPE="swap" PARTUUID="06bd4ae4-38b1-4cbc-bc88-8a66c87ab77d"
答案1
首先,尝试在“安装前尝试”模式下启动安装介质,打开终端窗口,然后输入:
sudo blkid
此命令将生成有关磁盘分区的信息,如下所示:
/dev/sda2: LABEL="SSD_ESP" UUID="E231-242F" TYPE="vfat"
/dev/sda3: UUID="5028fa50-0079-4c40-b240-abfaf28693ea" TYPE="ext4"
/dev/sda4: UUID="65e70569-536a-4b50-b7c7-9267359447e8" TYPE="reiserfs"
扫描此输出,查找第一个屏幕截图中“无此设备”错误的 UUID 值(长十六进制数)。如果您能找到该特定数字,则表明出于某种原因,GRUB 无法找到您的 SSD,但 Ubuntu 可以。当 SATA 设备插入固件无法访问但 Linux 可以访问的端口时,可能会发生这种情况。在这种情况下,将磁盘移至主板上的另一个 SATA 端口可能会有所帮助。查阅手册以了解哪些物理端口由哪些磁盘控制器芯片组控制。如果您的其他磁盘之一没有可启动的操作系统,您可能只需交换电缆即可。
如果您在输出消息中没有看到 UUID blkid
,则表明您的 GRUB 配置已损坏。如果您从以前的安装中启动旧 GRUB,则可能会发生这种情况。如果 GRUB 安装脚本有错误,也可能会发生这种情况。(看起来您的EFI 系统分区位于另一个物理磁盘上,而不是您的 Ubuntu 启动分区上,这种情况很不寻常,可能会触发很少有人遇到的错误。)我想到两个可能的解决方案/解决方法:
- 在 Ubuntu live disk 中,运行引导修复。此工具可以修复许多 GRUB 问题,但不能保证成功,特别是当问题是 GRUB 错误时。
- 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器,准备一个介质,然后启动它。(如果您还没有禁用安全启动,则可能需要禁用它。)这应该为您提供启动 Ubuntu 和磁盘上任何其他操作系统的选项。如果您可以启动所有操作系统,请启动 Ubuntu 并安装 rEFInd PPA 或 Debian 包。这应该将 rEFInd 设置为您的主启动管理器,绕过 GRUB。