# ntfsfix命令
# 问题背景
最近遇到了一个什么问题呢,linux自动挂载硬盘后,变成了只读文件系统,无法创建和修改文件
查看挂载信息,
mount | grep data
# /dev/sdb3 on /media/lx/data type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
手动umount然后mount时报错,
# The disk contains an unclean file system (0, 0).
# Metadata kept in Windows cache, refused to mount.
# Falling back to read-only mount because the NTFS partition is in an
# unsafe state. Please resume and shutdown Windows fully (no hibernation
# or fast restarting.)
# Could not mount read-write, trying read-only
# ntfs-3g-mount: failed to access mountpoint /media/lx/data: No such file or directory
以上报错的背景是,这个电脑是双系统,这个分区在windows
下也能访问,从报错信息来看是Metadata kept in Windows cache, refused to mount.
磁盘的元数据没有被正常的释放。查了很多资料都没有讲明白。
# 解决办法
在ubuntu
论坛上搜到一个有用的回答https://askubuntu.com/questions/462381/cant-mount-ntfs-drive-the-disk-contains-an-unclean-file-system
使用ntfsfix
命令来对有问题的分区进行修复。
sudo ntfsfix /dev/sdb3
修复后,再次挂载
mount /dev/sdb3 /media/mount_point
# 命令详解
ntfsfix
是一个用于修复NTFS文件系统的命令行工具,属于ntfs-3g
软件包。它主要用于在Linux
环境中处理NTFS
分区的常见问题,尤其是在Windows
系统未正常关机后,导致NTFS
分区出现不一致或“脏”标志的情况。
ntfsfix命令可以执行以下操作:
- 修复基本的NTFS不一致性
- 重置NTFS日志文件
- 清除“脏”标志,使得NTFS分区可以在Linux下正常挂载
安装方法
在使用ntfsfix之前,需要确保ntfs-3g软件包已安装。可以通过以下命令在Ubuntu或Debian系统上安装:
sudo apt-get install ntfs-3g
NTFS(New Technology File System)
是由微软开发的一种文件系统,主要用于Windows NT
及其后续版本(如Windows 2000
、XP
、Vista
、7、8和10)。它于1993年首次引入,旨在取代较旧的FAT
(File Allocation Table)文件系统,提供更高的性能、可靠性和安全性。