如何使用 Ubuntu 修复损坏的 Windows NTFS 文件系统

当你的电脑启动时,你们中有多少人有过这种下沉的感觉? 你知道,在 Windows 死在你面前并拒绝打球之前,你的脑海中会出现一个轻微的小问题,说“这比平时要花更长的时间”。

在修复损坏的 Windows 安装时,Ubuntu 也有它的用途。 如果您碰巧破坏了 Windows 上的文件系统或主引导记录,请不要担心,一切都不会丢失。 您可以使用 Ubuntu 修复与 Windows 操作系统相关的问题。 这种技术应该适用于任何基于 Ubuntu 的 Linux 发行版。

下载、安装和启动 Ubuntu

那些已经拥有双启动 Ubuntu 和 Windows 机器的人可以跳过这一步。

如果您没有实时 USB 记忆棒,那么您将需要获得一个。 但首先,您必须下载官方的 Ubuntu 安装 ISO。

下载: Ubuntu ISO

完成后,现在是时候创建一个新的可启动 Ubuntu USB 了。 有多种工具可以从 ISO 文件创建可启动 USB,但您可以使用 balenaEtcher,因为它具有易于使用、直观的界面。 您需要做的就是选择 ISO 文件和媒体设备,然后点击 闪光.

如果您是双引导,那么这是在引导时选择 Ubuntu 而不是 Windows 的简单步骤。 对于实时 USB 记忆棒和 CD,您需要在 PC 启动时进入 BIOS 设置(通常通过按 F2 或者 ) 并安排您的启动设备以优先启动您的 USB 设备或 CD 驱动器,然后再启动您的主硬盘驱动器。

如果您已正确完成所有操作,您将看到 Ubuntu 引导加载程序出现。 从这里您将希望通过选择直接启动到实时操作系统 试试 Ubuntu. 一两分钟后,您会看到桌面出现,我们可以开始了。

修复损坏的 Windows NTFS 分区

幸运的是,您可以安排 NTFS 一致性检查以尝试从 Ubuntu 修复破烂的 Windows NTFS 分区,但您需要先安装一些软件包。 值得一提的是,这也适用于任何拒绝在 Ubuntu 中挂载的 NTFS 驱动器。

打开终端并通过键入以下命令安装 NTFS-3G:

sudo apt install ntfs-3g

您现在可以着手修复您的 Windows 安装。 首先,找到您的 Windows 分区。 在终端中,键入:

sudo fdisk -l

输出:

您正在寻找如下所示的条目:

/dev/sda9 * 638 12312 93773824 8.9G Microsoft basic data

重要的是 /dev/sda9 它告诉我们 Windows 分区的安装位置,“Microsoft 基本数据”让我们知道该分区是 Microsoft Windows 格式化设备。 您还可以通过查看分区的大小来识别 Windows 驱动器(8.9G)。

所以在这种情况下, /dev/nvme0n1p9 表示 Windows 位于 NVMe SSD 上,其分区号为 9。 通常,如果您的 Windows 分区位于硬盘驱动器上,则设备名称将为 /dev/sdax, 在哪里 X 是一个数字。

有了这些信息,您必须使用 ntfsfix 命令来尝试修复分区。 在终端中键入以下内容:

sudo ntfsfix /dev/<device name>

代替 与您的 Windows 分区(例如 /dev/nvme0n1p9) 并输入您的密码。 NTFS-3G 现在将安装您的驱动器并检查其一致性,发现的任何错误都应自动修复。

重新启动您的 PC 以评估情况,如果一切顺利,您将看到 Windows 启动没有任何问题。

修复损坏的主引导记录

如果您对 Windows 的引导记录有疑问,那么您也可以在 Ubuntu 中修复它。 假设您已经启动到 Ubuntu,打开终端并运行:

sudo os-prober

然后,通过在命令行中输入以下内容来重新生成 GRUB 配置文件:

sudo update-grub

GRUB 现在将识别存储设备上的 Windows EFI 分区并尝试将其添加到其条目中。 您现在可能想要重新启动您的机器,只要确保您取出任何 Live CD/USB 设备即可。

或者,您可以使用 LILO 引导加载程序。 首先通过键入以下命令将其安装到您的系统上:

sudo apt install lilo

Enter 继续安装的密码; 在此过程中,您可能会收到一些警告。

至此,您应该知道 Windows 安装分区的设备名称。 如果您错过了,请输入:

sudo fdisk -l

找到与您的 Windows 安装相关的“Microsoft 基本数据”分区并键入:

sudo lilo -M /dev/<device name> mbr

代替 与您的 Windows 分区(例如 /dev/sda2) 并击中 Enter. LILO 将尝试恢复您的主引导记录。 再次,重新启动系统以检查问题是否仍然存在。

从 Ubuntu 上的 Windows 分区恢复数据

如果您在安装 Windows 时遇到问题,并且您已经尝试了所有方法但仍然无法正常工作,那么您仍有希望。 不要忘记,您可以挂载分区并挽救您认为需要的尽可能多的数据。 使用终端,一一输入以下命令:

sudo mkdir /media/windows
sudo ntfs-3g -o force,rw /dev/<device name> /media/windows

代替 使用您的 Windows 分区位置,驱动器应该会在您的桌面上弹出。 mkdir 命令创建了一个将安装 Windows 文件系统的目录,然后使用 ntfs-3g 命令将文件系统安装到新创建的文件夹中。

将所有重要数据从 Windows 文件系统复制到您的 Linux 分区。 然后,您可以将其传输到可移动媒体并在解决 Windows 安装问题后将其恢复。

使用 Ubuntu 解决 Windows 问题

Ubuntu 最近保存了你的培根吗? 您几乎可以使用任何其他 Linux 系统修复发行版来解决 Windows 的此类问题。 SystemRescue 和 Ultimate Boot CD 等一些发行版完全专注于修复和修复与操作系统启动、文件系统等相关的问题。

如果 Ubuntu 桌面对您有吸引力,那么也许您应该考虑在您的 Windows 桌面上安装 Ubuntu。 或者更好的是,您可以使用 Windows 来双启动 Ubuntu,但请确保您首先清楚地了解与双启动相关的风险。