You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu重启时自动执行ntfsfix修复指定NTFS分区?

如何在Ubuntu重启时自动执行ntfsfix修复指定NTFS分区?

我太懂这种糟心的情况了——双系统下Windows的快速启动或者休眠总能把NTFS分区搞成只读状态,每次都要手动敲命令修复,还要反复挂载,实在太折腾人了!下面给你两个靠谱的解决方案,选一个适合你的就行:

方案一:用systemd服务在开机时自动运行ntfsfix

这个方法会在Ubuntu启动、挂载分区之前自动执行ntfsfix,帮你搞定分区的只读问题。

  1. 创建一个systemd服务配置文件
    打开终端,执行命令编辑服务文件:

    sudo nano /etc/systemd/system/ntfsfix-work.service
    

    然后把下面的内容粘贴进去,注意对应你自己的分区路径和挂载点(你的是/dev/nvme0n1p4和/media/Work):

    [Unit]
    Description=Fix NTFS partition /dev/nvme0n1p4 before mount
    After=local-fs-pre.target
    Before=local-fs.target
    DefaultDependencies=no
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/ntfsfix /dev/nvme0n1p4
    ExecStartPost=/usr/bin/mount -o rw,uid=1000,gid=1000,umask=022,exec /dev/nvme0n1p4 /media/Work
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    

    简单解释下:ExecStart负责修复分区,ExecStartPost负责修复完成后自动挂载分区,确保它以读写模式生效。

  2. 启用并启动服务
    执行下面的命令让系统识别这个服务,并且设置开机自启:

    sudo systemctl daemon-reload
    sudo systemctl enable ntfsfix-work.service
    

    之后重启Ubuntu,分区就会自动完成修复并挂载成读写模式了。

方案二:修改fstab挂载选项,自动处理休眠文件

其实还有更简单的方法——直接在/etc/fstab里添加remove_hiberfile选项,这样Ubuntu挂载时会自动移除Windows的休眠文件,不需要手动跑ntfsfix。

  1. 编辑fstab文件
    打开终端执行:

    sudo nano /etc/fstab
    

    把你原来的那条挂载条目修改成:

    /dev/nvme0n1p4 /media/Work ntfs-3g defaults,uid=1000,gid=1000,umask=022,exec,remove_hiberfile 0 0
    

    这里把ntfs改成了ntfs-3g(Ubuntu现在默认用这个工具挂载NTFS分区),并且加上了remove_hiberfile选项——它会自动删除Windows的休眠文件,让分区能正常以读写模式挂载。

  2. 测试挂载
    执行下面的命令重新挂载分区,验证是否生效:

    sudo umount /dev/nvme0n1p4
    sudo mount /media/Work
    

    之后重启系统,分区应该就能自动以读写模式挂载了。

⚠️ 注意:使用remove_hiberfile选项会丢失Windows的休眠状态,下次进Windows需要正常开机,而不是从休眠恢复。不过既然你本来就不想每次进Windows关机,这个应该是可以接受的。

备注:内容来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 09:37:59