如何在硬盘上的 ntfs 分区上运行 fsck?

如何在硬盘上的 ntfs 分区上运行 fsck?

几年前,我将台式电脑从 Windows 换成了 Ubuntu 14.04 LTS。我将 Ubuntu 操作系统(root+home+swap)安装在之前分配给 C 分区的空间中,而其他分区(D、E、F 和 G)则保持不变。因此,包含新操作系统的分区现在具有 ext4 文件系统,而其他分区则继续使用 ntfs。这已经足够满足我的需求了。

然而,最近我第一次尝试在硬盘的 ntfs 分区上运行 fsck,并收到以下消息:

fsck from util-linux 2.20.1
fsck: fsck.ntfs: not found
fsck: error 2 while executing fsck.ntfs for /dev/sda5

当我尝试在也有 ntfs 的外部硬盘上运行 fsck 时,返回的消息是:

fsck from util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb

和:

无法读取超级块,或者超级块未描述有效的 ext2/ext3/ext4 文件系统。如果设备有效,并且确实包含 ext2/ext3/ext4 文件系统(而不是交换或 ufs 或其他文件系统),则超级块已损坏,您可以尝试使用备用超级块运行 e2fsck:e2fsck -b 8193 或 e2fsck -b 32768

有人可以解释一下发生了什么吗以及如何在 ntfs 分区和设备上运行 fsck?

答案1

首先,确保您已经ntfs-3g安装。

您可以尝试按照以下帖子中的最佳答案进行操作@微

fsck.ntfs通常只是一个链接,指向Ubuntu 标准安装中已有的ntfsfix软件包中的一个实用程序。ntfsprogs

您可以在 fsck.ntfs 和 ntfsfix 之间建立一个符号链接,以永久解决此问题:

sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g

请记住,此实用程序来自逆向工程过程,并不是管理文件系统的最佳选择,NTFS 文件系统不属于 GNU/linux 世界。

来源: fsck 找不到 fsck.ntfs

相关内容