如何在 EFI 系统分区上运行 CHKDSK?

如何在 EFI 系统分区上运行 CHKDSK?

我尝试在戴尔笔记本电脑上双启动 Ubuntu 和 Windows 10。出现 grub-install 错误。检查日志文件后,一位启动板专家建议我的 EFI 系统分区已损坏,我需要在 ESP 上运行 chkdsk。

关联:bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/170316‌​7

不幸的是,我找不到任何清晰的资源来解释这一点。请向我解释适当的程序。

答案1

造成这种情况的根本原因很可能是 Windows 快速启动和休眠功能。请参阅这里这里有关如何在 Windows 中禁用这些功能的信息。作为背景,这些功能将关机操作转变为挂起到磁盘的操作。这具有减少后续启动时间的预期效果。不幸的是,不良后果是,在操作系统之间共享分区变得不安全,因为当非 Windows 操作系统启动时,它们将处于不一致的状态;然后当 Windows 启动时,它将不知道如何处理非 W​​indows 操作系统所做的任何更改。因此,可能会导致文件损坏。这可能会影响 EFI 系统分区 (ESP),Windows 和 Ubuntu 引导加载程序都存储在其中。对于您来说,我推测这些功能处于活动状态(默认情况下处于活动状态),这导致了 Ubuntu 认为的文件系统损坏。

如果我没记错的话,解决方案是禁用这些功能。您可能需要重新启动 Windows 才能使更改生效。此后,您应该能够安全地读取和写入 ESP。

如果禁用这些功能后分区仍然损坏,则可以使用 Linux 原生工具修复 FAT 文件系统。dosfsck您可以使用它代替CHKDSKWindows 中的,但您需要将-a选项传递给它,如sudo dosfsck /dev/sda1检查/dev/sda1;或使用更高级的选项来批准单个更改。也就是说,如果您看到文件系统损坏,您可能需要先备份分区。使用文件级备份工具(例如cptarzip)应该足够了。如果文件系统修复操作使情况变得更糟,备份将为您提供后备方案。(当然,这假设所有文件都已成功读取和备份!)在这种情况下,您可以创建一个新的文件系统并恢复所有文件。

我从未尝试CHKDSK在 Windows 中使用 ESP。我的怀疑可以按如下方式进行:

  1. 打开行政人员命令提示符窗口。
  2. 在该窗口中键入mountvol E: /S以安装 ESP 。(更改为您喜欢的任何内容。)E:E:
  3. 键入CHKDSK E:以运行检查。

正如我所说,我还没有尝试过,所以我不能保证它会起作用。如果我对你的问题的原因的判断是正确的,那么即使文件系统损坏,仅此过程也是无用的;你仍然需要禁用快速启动和休眠,以使系统在多引导环境中安全使用。

答案2

在 Windows 上,我使用 DISKPART 为 EFI 系统分区分配一个字母。启动 DISKPART,然后键入LIST DISK查找磁盘,然后键入SELECT DISK <N>(驱动器号在哪里)。按照相同的步骤找到正确的分区(即LIST PARTITION后跟SELECT PARTITION <N>),然后只需键入ASSIGN LETTER = X让 Windows 将分区安装到字母 X。

然后以管理员权限打开 CMD。运行CHKDSK X: /f /r

然后,我再次尝试安装 Ubuntu,并且安装成功!

答案3

我最近在安装 Ubuntu 18.04 和 Windows 10 时遇到了类似的问题。Linux 系统日志指示创建目录 /boot/efi/EFI/ubuntu 时出现问题。因此,我在 Windows 中运行了 chkdsk,发现 ESP 已损坏。它通过删除分区中的 Ubuntu 条目解决了该问题。然后我从实时磁盘重新安装了 Ubuntu,一切顺利。

相关内容