内核更新 Ubuntu 13.04 后无法挂载 /boot/efi

内核更新 Ubuntu 13.04 后无法挂载 /boot/efi

安装最新更新后,似乎安装的新版本内核(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

相关内容