安装最新更新后,似乎安装的新版本内核(3.8.0-29)无法正常启动。
每当我尝试使用这个新内核进行启动时,我都会收到一条错误消息,指出安装时出现错误/boot/efi
。
这只会发生在新内核中,因为使用旧内核版本启动可以正常工作。
如果这有帮助,我有一台带有 UEFI 的笔记本电脑,并且我双启动 Ubuntu 13.04 和 Windows 8。
编辑:我尝试了 Rod Smith 答案中的所有方法,但问题仍然存在
确切的错误信息是:
挂载 /boot/efi 时发生错误。
按 S 跳过安装或按 M 进行手动恢复
按 S 只会将我带到终端登录屏幕,而按 M 则会将我带到恢复终端。
以下是您要求我运行的命令的结果:
$ grep efi /etc/fstab
# /boot/efi was on /dev/sda2 during installation
UUID=F433-DF4C /boot/efi vfat defaults 0 1
$ sudo blkid
/dev/sda1: LABEL="WINRE_DRV" UUID="4A46311E46310C67" TYPE="ntfs"
/dev/sda2: LABEL="SYSTEM_DRV" UUID="F433-DF4C" TYPE="vfat"
/dev/sda3: LABEL="LRS_ESP" UUID="5034-7FB2" TYPE="vfat"
/dev/sda5: LABEL="Windows8_OS" UUID="989E38469E381F66" TYPE="ntfs"
/dev/sda6: LABEL="LENOVO" UUID="32EE3B04EE3AC041" TYPE="ntfs"
/dev/sda7: LABEL="PBR_DRV" UUID="14243C89243C703A" TYPE="ntfs"
/dev/sda8: UUID="b5377bd7-1953-4cb0-b30d-9ee5a466760c" TYPE="ext4"
/dev/sda9: UUID="be7e2af0-3cc7-4e3c-82a1-e28e3d4b4ba6" TYPE="swap"
/dev/sdb1: LABEL="CRUZER" UUID="28A2-35DE" TYPE="vfat"
虽然在我的系统上两者看起来很相似,/dev/sda2
但有一个带有“启动”标志,并且将 fstab 中的条目更改为 UUID 并没有什么区别。/dev/sda3
/dev/sda2
/dev/sda3
答案1
我刚刚将 Ubuntu 13.04 系统更新到内核 3.8.0-29,没有遇到任何问题。我怀疑您遇到了文件系统损坏。这在与 Windows 8 双启动的系统上很常见,因为 Windows 8 有一项名为“快速启动”的功能。此功能本质上将关机操作变成了挂起到磁盘的操作。这在单启动计算机上运行良好,但当计算机与另一个操作系统双启动时,结果就是危险的文件系统问题,至少在操作系统之间共享的任何文件系统上(包括 EFI 系统分区 [ESP])。要解决此问题,请启动 Windows 并禁用快速启动。请注意,此功能不是与固件中的快速启动选项相同;在固件中禁用此功能不会不是在 Windows 8 中禁用它。
如果禁用快速启动但问题仍然存在,那么您可以尝试对 ESP 进行文件系统检查,如下所示dosfsck /dev/sda1
。(不过,Linux 中的设备文件可能不同。使用parted
或 GParted 查找设置了“启动标志”的 FAT 分区,或使用gdisk
查找类型代码为 EF00 的分区。)
如果禁用快速启动并修复文件系统后问题仍然存在,请尝试以下诊断:
grep efi /etc/fstab
sudo blkid
比较结果——该/etc/fstab
文件定义了分区的安装位置,因此搜索该文件efi
应该会显示有关系统如何安装 ESP 的详细信息。例如,在我的系统上,它显示以下内容:
$ grep efi /etc/fstab
# /boot/efi was on /dev/sda1 during installation
UUID=FFB3-46B6 /boot/efi vfat defaults 0 1
该blkid
命令会生成有关您计算机的所有文件系统的信息。您需要将它显示的 ESP(通常是/dev/sda1
、/dev/sda2
或/dev/sda3
)与 中的内容进行比较/etc/fstab
。例如:
$ sudo blkid
/dev/sda1: SEC_TYPE="msdos" LABEL="ESP" UUID="FFB3-46B6" TYPE="vfat"
/dev/sda2: LABEL="Fred" UUID="421258c1-e9b1-4b1b-9dd7-60b82e75f8c3" TYPE="ext4"
/dev/sda3: UUID="9108d33b-855d-49ba-8b9e-90f981a597ea" TYPE="swap"
在这种情况下,/dev/sda1
是 ESP——它是一个 FAT ( TYPE="vfat"
) 文件系统,其序列号与/etc/fstab
( UUID="FFB3-46B6"
) 中的序列号匹配,因此一切正常。序列号不匹配或其他细节可能会导致您遇到的问题。如果您需要更多帮助,请使用此信息和精确的您看到的错误信息。
答案2
我刚刚在使用 boot-repair 移动到 UEFI 时遇到了类似的问题。听起来很傻,但我只需在 UUID 值周围加上双引号,然后执行sudo mount -a
(或重新启动),错误就会消失。所以我会将您的 /etc/fstab 条目从
UUID=F433-DF4C /boot/efi vfat defaults 0 1
到
UUID="F433-DF4C" /boot/efi vfat defaults 0 1