如何自动将休眠的 NTFS 挂载为只读?

Pio*_*otr 6 filesystem fstab ntfs

有没有办法以这种方式设置 Ubuntu:

如果我无法以rw模式挂载文件系统,则将其以ro模式挂载在同一目录中。

结果我不应该遇到系统无法挂载文件系统的通知(跳过或手动修复通知)。因此,当我启动系统时,我应该以 rw 或 ro 模式安装我的 ntfs 分区,这取决于 Windows 是否处于休眠状态。

fstab 条目:

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,errors=remount-ro 0        1
Run Code Online (Sandbox Code Playgroud)

"mount -a" 结果:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda7': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.
Run Code Online (Sandbox Code Playgroud)

我有 ubuntu 13.10 和 win8。我使用 uefi 安全启动。

Sau*_*mar 1

我找到了一种方法,可以在发生任何错误时以只读模式挂载休眠的 Windows 分区

我希望它也对你有用。我在下面描述如何做到这一点。

  • /etc/rc.local在任何编辑器中以 root 权限打开文件。

    sudo gedit /etc/rc.local
    
    Run Code Online (Sandbox Code Playgroud)
  • 现在最后添加以下行:

    sudo mount /dev/sda7 /media/Dane
    if [ $? -eq 14 ]
    then
      sudo mount -o ro /dev/sda7 /media/Dane
    fi
    exit 0
    
    Run Code Online (Sandbox Code Playgroud)

    如果exit 0已经写入则删除重复项。确保这/etc/sda7是您在发生错误时要挂载的 Windows 分区,并且已经存在一个名为Danecreate in 的目录/media。如果没有,则进行/dev/sdaX相应更改并创建目录。

  • 现在使用以下命令更新:

    sudo update-rc.d -f /etc/rc.local
    
    Run Code Online (Sandbox Code Playgroud)

    我不确定是否需要这个命令,但只要执行它给出的每条消息即可。

  • 现在,最后在 Windows 休眠时重新启动系统。

一点描述:

文件中写入的命令/etc/rc.local实际上在系统启动前后执行,因此充当启动。脚本中的第一个命令将尝试挂载分区并获取它返回的错误代码。那么$? 发生任何错误时为 14。$?当分区已安装并尝试再次安装时为 16...

如果出现问题请回复。我会等待你的回复..