我的硬盘快报废了,上面安装了 Windows 8。我有一些非常重要的文件需要转移到 Ubuntu 上。我的 Ubuntu 安装在单独的物理硬盘上。
当我通过 Ubuntu 单击我的一个 Windows 8 分区(有两个)时,收到以下错误消息:
Error mounting /dev/sdb1 at /media/dugi/Store: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdb1" "/media/dugi/Store"' exited with non-zero exit status 14:
The disk contains an unclean file system (0, 0). Metadata kept in
Windows cache, refused to mount. Failed to mount '/dev/sdb1':
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 修复或备份此硬盘上的重要数据?这是我直接访问这些硬盘的唯一方法 - Windows 8 系统将无法再启动。
非常感谢您的帮助。
答案1
这不是分区问题。这仅意味着 Windows 8 以不安全的方式关闭(使用 Windows 时关闭电源、您休眠或暂停 Windows 8 会话或以任何其他方式关闭 Windows 而不是以正常方式关闭 Windows)。
在 Windows 8 中,微软在关机时引入了一项“新”功能,它实际上不是关闭 PC,而是将其休眠。该功能称为“快速启动”,其花哨说法是“您实际上不是在关机,而是在休眠”。
当与 Linux 系统相关时,休眠功能的作用是告诉 Linux(在本例中为 Ubuntu),该分区不可写入。因此,为了避免出现问题,Ubuntu 不允许您在正确关闭分区之前挂载该分区。休眠功能会创建您尝试关闭 Windows 时 Windows 的“状态”。
因此,您所做的任何更改都将被删除,只要您再次启动 Windows(由于休眠)
如果您遇到以下问题之一:
- 关闭 Windows 8 后从 Ubuntu 复制到 Windows 8 时丢失数据
无法从 Ubuntu 访问 Windows 分区磁盘包含不干净的文件系统
这很可能是 Windows 8 中一个名为快速启动其行为类似于休眠,并保留系统快照,因此启动时加载速度会更快。由于它保留快照,因此在执行假关机后,从 Ubuntu 复制或更改到 Windows 8 中的任何内容都将丢失(除了 [此处][12] 发现的其他问题)。
摘自使用 UEFI 安装 Ubuntu 和预装的 Windows
Windows 8 中的解决方案是:
控制面板-->电源选项-->选择电源按钮的功能
在这里点击“更改当前不可用的设置”,你应该看到如下内容:
取消选中“开启快速启动”选项
此后,您可以正确关闭 Windows,这将设置位,告诉 Linux 它已正确关闭。由于这次没有进行休眠,您将能够在两个系统之间挂载和读取/写入分区。
注意:强制安装 Windows 系统可能会给您的 Windows 系统带来更多问题。
强制安装 Windows 8 分区(警告:您将丢失休眠数据)
有一种选项我通常会尽量避免,即强制安装 Windows 8,但问题是您将丢失所有休眠数据。如果您不关心休眠的内容,请继续。
我们将使用remove_hiberfile
与ntfs-3g
命令。
例如:sudo ntfs-3g /dev/sda1 /mnt -o remove_hiberfile
例如:sudo mount -t ntfs-3g -o remove_hiberfile /dev/sda1 /mnt
remove_hiberfile 将从 Windows 中删除所有休眠数据(休眠文件)。因此请注意。
答案2
“使用‘ro’挂载选项以只读方式挂载卷。”只读意味着您可以从中提取文件。那么,如果您只想提取文件,为什么不遵循该建议呢?
命令如下:
sudo mount -t ntfs-3g /dev/sdb1 /media/dugi/Store -o ro,noatime
(请注意ro
readonly 和 -o 中的任何选项都不能有空格,除了 -o 之后的空格)
否则您将需要 Windows 来检查光盘,因为光盘似乎认为它处于休眠状态(并且您需要一个正常工作的 Windows 来启动它)