当前位置: 首页>>技术教程>>正文


由于休眠状态,无法安装Windows(NTFS)文件系统

, , , ,

问题描述

每当我启动Ubuntu时,都会收到一条消息,指出它无法挂载我的Windows分区,并且我可以选择等待,跳过或手动挂载。

当我尝试通过Nautilus进入Windows分区时,我收到一条消息,说这个分区处于休眠状态,我需要进入文件系统并正确关闭它,这是我没有遇到的问题,因此我不知道为什么会发生这种情况。

这是我的分区表,如果需要更多数据,请告诉我。

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    20000767     9999360   83  Linux
/dev/sda2        20002814   478001151   228999169    5  Extended
/dev/sda3   *   478001152   622532607    72265728    7  HPFS/NTFS/exFAT
/dev/sda4       622532608   625141759     1304576   82  Linux swap / Solaris
/dev/sda5        20002816   478001151   228999168   83  Linux

最佳解决办法

已提交bug关于您正在看到的Nautilus对话框,因为它建议可能导致数据丢失的潜在危险选项。请不要在此对话框中运行该命令,除非您想删除保存的Windows会话并可能丢失未保存的工作。

Explanation: Why Linux can’t open hibernated Windows partitions:

You are seeing this error because you hibernated Windows instead of turning it off the normal way (in newer versions of Windows, hibernate might be the default option).

  • Hibernating saves the current state information to the hard disk and then powers down the computer.
  • Shutting down the computer closes all programs and ends all running processes before powering down the computer.

When you turn off Windows by hibernating it, you are essentially pausing the system and saving all of that information (into a big file called hiberfil.sys) This way when you resume from hibernation all of your applications and files will be exactly how you left them. It also sets a flag in hiberfil.sys to let other Operating Systems know that Windows is hibernated.

Making changes to your Windows (ntfs) partition while it is hibernated could be dangerous–it could cause Windows to not resume from hibernation or to crash after resuming. Because of this, the tool (ntfs-3g) that mounts (opens) the partition will not mount it in read-write mode if it sees a hibernation flag. As such, Nautilus, the default file browser, will not be able to automatically open this partition–hence the error message that you see–because it is trying to open it in read-write mode.

所有版本的Windows的解决方法:

有三种安装休眠Windows分区的方法:

  1. 启动进入Windows并关闭系统,完全关闭系统。然后,您可以引导回Ubuntu,并且在Nautilus中将其打开时,分区将自动以read-write模式挂载。请注意,”Shut Down”选项可能不是默认情况下在开始菜单中显示的选项。您可能需要点击旁边的按钮来查看更多选项。

  2. 手动将文件系统安装为只读模式。

    • 使用以下命令检查/media文件夹中是否有用于Windows分区的装入点(用于装入分区的文件夹):ls /media

    • 如果您没有看到Windows分区的文件夹,则应使用以下命令创建一个文件夹:sudo mkdir /media/windows

    • 接下来,使用以下命令将分区以read-only模式挂载到此文件夹上:mount -t ntfs-3g -o ro /dev/sda3 /media/windows请注意,如果您的挂载点被调用其他名称,则应更改/media/windows

    • 现在,您将能够使用Ubuntu中的任何程序查看/打开Windows分区上的文件。但是,您将无法写入分区或修改任何文件,因为它处于只读模式。

  3. 如果您需要以read-write模式安装分区,并且无法或无法启动到Windows并完全关闭,则还有第三种选择。但是,这里没有包含它,因为它完全删除了hiberfil.sys,并且会导致您在休眠的Windows程序中丢失所有未保存的信息。以下是man ntfs-3g关于将用于执行此操作的选项的引用。

    remove_hiberfile
                  Unlike in case of  read-only  mount,  the  read-write  mount  is
                  denied  if  the  NTFS  volume is hibernated. One needs either to
                  resume Windows and shutdown it  properly,  or  use  this  option
                  which  will  remove  the  Windows hibernation file. Please note,
                  this means that the saved Windows  session  will  be  completely
                  lost. Use this option under your own responsibility.
    

解决方案(仅适用于Windows 8和10):

Windows 8中有一项名为Fast Startup的新功能。如果启用了此功能(默认情况下),则在选择关机时,Windows 8实际上并不会完全关闭。相反,它执行”hybrid shutdown”。这就像冬眠;它使得启动Windows 8的速度更快。因此,您需要禁用此功能才能正确关闭此功能,并能够装入Windows分区。为此,请启动您的Windows 8并:

Note: disabling Fast Startup will most likely make your Windows 8 take a longer time to boot. There are no “exact” numbers, but let’s say that if it took you 10 seconds to boot into Windows 8, it will now take you 50 seconds after disabling this feature.

  1. 在小图标视图中打开控制面板,然后单击电源选项。 (见screenshot 1)

  2. 点击选择电源按钮的功能。 (见screenshot 2)

  3. 点击更改当前不可用的设置。 (见screenshot 3)

  4. 取消选中打开快速启动(推荐)。 (见screenshot 4)

点击保存更改。现在,关闭Windows 8并重启到Ubuntu。

如果您仍然无法在未发生错误的情况下进行安装,则可能需要完全关闭休眠模式。打开提升的命令提示符(右键单击快捷方式,单击“Run as Administrator”),然后输入:

powercfg /h off

来源:Fast Startup – Turn On or Off in Windows 8

次佳解决办法

即使无法访问Windows,也可以在终端中使用ntfsfix

sudo ntfsfix /dev/sdXY

XY是分区,例如, a2(/dev/sda2)或b1(/dev/sdb1)

ntfsfix修复了一些基本的NTFS不一致性,重置了NTFS日志文件并安排了第一次启动到Windows的NTFS一致性检查。

第三种解决办法

如果要终止休眠会话,请在终端中运行此命令(按Ctrl + Alt + T打开终端)

sudo ntfsfix /dev/sdXY

XY是分区。例如:sda2或sdb1

如果你无法进入Win8,这也是有效的。

第四种办法

我的解决方案是在/etc/rc.local中调用mntwindows脚本。这个脚本会检查是否为休眠状态,如果休眠状态为只读状态。为了确保脚本始终可以被调用,我将它放在/bin中并将其标记为可执行文件。脚本的内容如下

sudo mount /dev/sda[Partition Number] /media/[Any existing folder name]

#Mounts Windows
if [ $? -eq 14 ]
then
  echo "Windows is sleeping, I'm mounting as read-only"
  sudo mount -o ro /dev/sda[Partition Number] /media/[Any existing folder name]
fi

第五种办法

这是因为Windows 8的快速启动功能。

临时解决方案将返回到Windows并重新启动系统(而不是关闭)。永久解决方案是禁用快速启动。

您可以使用本指南在Windows 8中禁用快速启动:http://itsfoss.com/solve-ntfs-mount-problem-ubuntu-windows-8-dual-boot/

第六种办法

Windows 8添加了”fast startup”功能。它确实使Windows在关闭后启动速度更快,但作为副作用,它最终会使文件系统处于休眠状态。

要在Win 8中禁用此功能,请在设置下搜索“选择电源按钮的功能”,单击屏蔽以解锁复选框,然后可以从此处启用或禁用快速启动。

前面提到的警告,你想真的关闭Windows,而不是重新启动,以便从Linux轻松访问,仍然适用。

第七种办法

对于Windows 10,我想出了如何关闭快速启动。做了一个屏幕录像来解决这个问题。转到控制面板>硬件和声音>电源选项>系统设置然后点击“更改当前不可用的设置”,并从“启用快速启动”中删除勾号。来源:http://blog.shahariaazam.com/fast-startup-turn-on-or-off-in-windows-10

第八种办法

在Windows 8上,这是正常的。您需要通过输入shutdown /f /s /t 0通过cmd关闭Windows 8,然后才能工作。

第九种办法

为了完成,下面是另一个命令,将分区挂载为read-only(对于休眠Windows分区非常有用):

udisksctl mount --block-device /dev/sda3 --options ro

如果您有权使用文件管理器装载分区(例如,如果您是管理员),那么您应该能够在不使用sudo的情况下运行此命令。

这在最新的Ubuntu版本中可用(如13.04和13.10)。

如果udisksctl不可用,那么可能是udisks。它有不同的论点,所以请查看联机帮助页。

第十种办法

根据我的经验,上面的adempewolff的流行和有用的答案是必要的,但还不足以让我安装Windows NTFS分区以便用Ubuntu编写。正如其他地方指示的,我在尝试安装Ubuntu之前关闭了快速启动功能,并在”Shutdown”菜单上删除了休眠选项。

我仍然无法写入Ubuntu的Windows分区。

我发现我还必须启动Windows 8.1,启动Windows授权的命令行(右键单击左下方的Windows按钮以轻松访问此选项),通过Windows授权框允许它,然后输入命令:

powercfg /h off

您可以通过以下方式查看结果:

powercfg /a

进行这一更改后,我可以从Ubuntu免费访问Windows 8.1分区,无论是通过关闭还是重新启动退出Windows。


我发现后来我能够反转这个并仍然可以访问这个分区(但是像上面一样保持快速启动不被检查,并且从不要求Windows休眠)。可以预见的是,扭转它的命令是:

powercfg /h on

我假设从Windows安装中遗留下来的东西需要通过以这种特定方式关闭休眠来引导来清除。

据我所知,应该没有理由撤销这样的第一步 – 它可能会提供一些额外的安全措施离开powercfg /h off

有关更多信息,请参阅Ubuntu man page for the Windows NTFS handler

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/108.html,未经允许,请勿转载。