有没有办法这样设置 Ubuntu:
如果我无法以模式挂载文件系统,则在同一目录中rw
以模式挂载它。ro
结果,我不应该遇到系统无法挂载文件系统的通知(跳过或手动修复通知)。因此,当我启动系统时,我应该以 rw 或 ro 模式挂载我的 ntfs 分区,具体取决于 Windows 是否处于休眠状态。
fstab 条目:
#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane ntfs defaults,errors=remount-ro 0 1
“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.
我有 ubuntu 13.10 和 win8。我使用 uefi 安全启动。
答案1
首先,您需要使用以下命令找到设备 ID:
sudo fdisk -l
在系统下找到格式化为 NTFS 的设备,并记住设备 ID(应该看起来像 /dev/sda2)。然后创建挂载目录并挂载它。
mkdir Windows
sudo mount -o ro /dev/sdaX Windows
(将 X 替换为您的设备 ID)
答案2
我找到了一种方法,可以在发生任何错误时以只读模式挂载休眠的 Windows 分区
我希望它也能对你有用。下面我将描述如何操作。
/etc/rc.local
在任何编辑器中以 root 权限打开文件。sudo gedit /etc/rc.local
最后添加以下几行:
sudo mount /dev/sda7 /media/Dane if [ $? -eq 14 ] then sudo mount -o ro /dev/sda7 /media/Dane fi exit 0
如果
exit 0
已经写入,则删除重复项。确保这/etc/sda7
是您在发生错误时要挂载的 Windows 分区,并且已经有一个目录,名为 已Dane
在 中创建/media
。如果没有,则进行/dev/sdaX
相应更改并创建目录。现在使用以下命令进行更新:
sudo update-rc.d -f /etc/rc.local
我不确定是否需要这个命令,但只需执行它给出的每条消息即可。
现在,当 Windows 处于休眠状态时,最终重新启动系统。
稍微描述一下:
文件中写入的命令/etc/rc.local
实际上在系统启动之前和之后执行,因此充当启动。脚本中的第一个命令将尝试挂载分区并获取其返回的错误代码。因此,当发生任何错误时,$? 为 14。当分区已挂载并尝试再次挂载时,$? 为 16...
如果出现问题请回复。我会等待您的回复。
答案3
这是我的解决方案,但不是最好的。
我只是将第二个条目添加到 fstab 中,并使用 nobootwait 选项。如果第一个条目不起作用,则第二个条目起作用,系统不会报告任何消息。如果第一个条目起作用,则第二个条目由于第一个条目而不起作用。我们将看看它是否能正常工作 :D
#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane ntfs defaults,nobootwait,errors=remount-ro 0 1
UUID=D0B43178B43161E0 /media/Dane ntfs suid,dev,exec,auto,nouser,async,nobootwait,ro 0 2