由于休眠无法挂载Windows(NTFS)文件系统


330

每当我启动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

您是否使它休眠或在看到错误消息之前关闭Windows?我也有这个问题,但是我确定我关闭Windows 8 Release Preview而不是使其休眠。您使用什么版本的Windows?
yanglifu90 2012年

Answers:


385

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

说明:为什么Linux无法打开休眠的Windows分区:

您看到此错误的原因是,您使Windows处于休眠状态,而不是以常规方式将其关闭(在Windows的较新版本中,休眠可能是默认选项)。

  • 休眠会将当前状态信息保存到硬盘,然后关闭计算机电源。
  • 关闭计算机电源会关闭所有程序并结束所有正在运行的进程,然后再关闭计算机电源。

当您通过休眠方式关闭Windows时,实际上是在暂停系统并将所有信息保存到一个名为的大文件中。hiberfil.sys这样,当您从休眠状态恢复时,所有应用程序和文件将完全按照您的方式离开。它还设置了一个标志,hiberfil.sys以使其他操作系统知道Windows 处于休眠状态。

ntfs休眠状态下对Windows()分区进行更改可能很危险-可能导致Windows无法从休眠状态恢复或恢复后崩溃。因此,ntfs-3g如果安装(打开)该分区的工具()看到休眠标志,则不会以读写模式安装该分区。这样,默认文件浏览器Nautilus将无法自动打开该分区,因此您会看到错误消息,因为它试图以读写模式打开它。

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

有三种挂载休眠的Windows分区的方法:

  1. 引导至Windows并通过完全关闭系统来关闭系统电源。然后,您可以引导回Ubuntu,并且在Nautilus中打开分区时,该分区将自动以读写模式安装。 请注意,默认情况下,“关闭”选项可能不是您的开始菜单中显示的选项。您可能需要单击其旁边的按钮以查看其他选项。

  2. 以只读模式手动挂载文件系统。

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

      ls /media

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

      sudo mkdir /media/windows

    • 接下来,使用以下命令以只读模式将分区安装到此文件夹:

      mount -t ntfs-3g -o ro /dev/sda3 /media/windows

      请注意,/media/windows如果您的挂载点称为其他名称,则应进行更改。

    • 现在,您将可以使用Ubuntu中的任何程序查看/打开Windows分区上的文件。但是,您将无法以只读模式写入分区或修改任何文件。
  3. 如果您需要以读写模式安装该分区,而又无法或不愿引导至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中有一项名为“ 快速启动”的新功能。如果启用了此功能(默认情况下为默认),则在选择关闭时Windows 8实际上不会完全关闭。而是执行“混合关闭”。这就像冬眠。这样可以更快地启动Windows 8备份。因此,您需要禁用此功能才能正确关闭它,并能够挂载Windows分区。为此,请启动Windows 8并执行以下操作:

注意:禁用快速启动很可能会使Windows 8花费更长的时间启动。没有“确切的”数字,但是可以说,如果启动Windows 8花费了10秒钟,则禁用此功能后现在需要50秒钟。

  1. 在小图标视图中打开控制面板,然后单击电源选项。(请参见屏幕截图1
  2. 单击选择电源按钮的功能。(请参见屏幕截图2
  3. 单击更改当前不可用的设置。(请参见屏幕截图3
  4. 取消选中打开快速启动(推荐)。(请参见屏幕截图4

点击保存更改。现在,关闭Windows 8并重新启动进入Ubuntu。

如果仍然无法正确挂载,则可能需要完全关闭休眠模式。打开提升的命令提示符(右键单击快捷方式,单击“以管理员身份运行”),然后输入:

powercfg /h off

来源:快速启动-在Windows 8中打开或关闭


8
这些都不适合我。我唯一能够在ubuntu上挂载Win 8分区的方法是在Windows中按“重新启动”,然后启动ubuntu。
Yuri Ghensev

3
您好,正如您提到的,我更改了Windows 8.1的座位。但不幸的是,我仍然遇到以前的错误信息。请帮助我,
mr_azad

2
有此链接tuxera.com/community/ntfs-3g-manual/#fastrestart可能有用---建议powercfg /h off在Windows上发出命令。
Rmano 2014年

3
我禁用了“快速启动”选项,我总是通过重新启动Windows来启动到Fedora,但它仍然说“它处于不安全状态”,还有其他事情要做吗?
arielnmz 2014年

2
我和@arielnmz有相同的确切问题。我根据“解决方案(仅适用于Windows 8)禁用了“快速启动”,但仍然无法在Ubuntu 14中将其R / W挂载。我可以将其RO挂载,而不能将RW挂载。知道为什么这对其他人有用但对我不有用吗?
Bill The Ape 2014年

146

编辑:您不要这样做MIGHT产生危险的后果和Windows可能无法启动或损坏时启动文件系统。


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

sudo ntfsfix /dev/sdXY

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

ntfsfix修复了一些基本的NTFS不一致之处,重置了NTFS日志文件,并计划了首次引导进入Windows的NTFS一致性检查。


7
稍微加一点解释将是非常好的:-)当然,这里有手册页,但是由于您是在此处编写的,因此最好对其进行进一步的改进,但要解释此命令的作用。
詹达斯2014年

2
我尝试过,但仍然返回“ Windows
Marco Lackovic 2014年

2
真好!这应该是选择的答案……
so.very.tired 2014年

18
希望这样做。否则,当您恢复休眠的Windows会话时,将导致文件系统损坏。
psusi

12
我同意@psusi:这非常危险,可能会导致所有数据丢失,就像这里
Fabby 2015年

49

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

sudo ntfsfix /dev/sdXY

XY分区在哪里。例如:sda2sdb1

如果您无法进入Win8,这也可以使用。


3
我不确定从Ubuntu修复NTFS分区对于休眠快速启动Windows 8.1是个好主意。相反,我从Windows 8.1内解决了该问题:powercfg / h off
Bill The Ape 2014年

我这样做了,并收到一个错误“ Windows
Erel Segal-Halevi

19

我的解决方案是在中调用mntwindows脚本/etc/rc.local。该脚本将检查休眠状态,以及是否将休眠安装为只读。为了确保始终可以调用该脚本,我将其放入/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

很好的解决方案。非常感谢。它对我有用的是一台古老的eMachines E442,它在关机时意外被废弃了。+1
伊恩·刘易斯

17

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

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

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


这正是我的问题所在,从Windows重新启动以进入Linux而不是关机是一种很好的方法,可以验证这是您的正确解决方案。下面的ntfsfix解决方案对我不起作用,而这一解决方案对我来说有效。
sage88

1
Windows 10上同样的问题
Postadelmaga

13

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

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

前面提到的警告是,您仍然希望真正关闭Windows,而不是为了从Linux轻松访问而重新启动。


我在Windows 8.1中禁用了“快速启动”。它没有帮助。我只能挂载RO。真奇怪
比尔猿猴


9

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


3
我相信shutdown /s /t 0足够了……不需要使用武力
马修·塞恩斯伯里

我尝试过的@Matt shutdown /s /t 0。这行不通。尽管我在此之前禁用了快速启动。我只能挂载该NTFS分区RO。
比尔猿猴

@root shutdown /f /s /t 0也不起作用。自从发布此答案以来,在Ubuntu 14.04或Windows 8.1中都必须进行了某些更改。
Bill The Ape 2014年

1
@BillTheApe我继续在滚动版本的Arch Linux上使用此技术。我谦虚地建议您的问题出在其他地方
Matthew Sainsbury 2014年

1
@马特你是对的。该问题确实存在于其他地方:禁用快速启动+ shutdown /f /s /t 0对于Windows 7而言已足够。对于Windows 8.1而言,这已不再足够。除了 Windows 7所需的功能外,Windows 8.1还需要执行以下步骤:powercfg / h off
Bill The Ape 2014年

9

只是为了完成,这是另一个将分区挂载为只读(对休眠的Windows分区有用)的命令:

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

如果您具有使用文件管理器安装分区的权限(例如,如果您是管理员),则无需使用即可运行此命令sudo

最新的Ubuntu版本(例如13.04和13.10)提供了此功能。

如果udisksctl没有,那么也许udisks是。它具有不同的参数,因此请检查联机帮助页。


1
我喜欢这个!:D
Jeggy

1
如果您不想再次启动Windows,这是一个很好的解决方案。
哥达德

是的,它对我有用!我的窗户没有启动,所以这是唯一的出路:)
samjoe

7
  • 引导windows os并重新启动它。(不关机)。

  • 在grub菜单中选择ubuntu并启动它。ubuntu启动后,现在打开ntfs hard drive partition,它将打开。


3
请注意,即使您无法登录Windows(例如,由于密码丢失),此操作也有效。您可以从Windows“开始”屏幕重新启动。
戴夫·伯顿

以及如果这是您只想清理然后存档的死Windows设备上的硬盘驱动器,该如何安装呢?
道格拉斯·加斯凯尔

7

以我的经验,上面的adempewolff受欢迎且有用的答案是必要的,但还不足以允许我挂载Windows NTFS分区以便用Ubuntu编写。按照其他地方的说明,在尝试安装Ubuntu之前,我关闭了“快速启动”,并且也删除了“关闭”菜单上的“休眠选项”。

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

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

powercfg /h off

您可以使用以下方法检查结果:

powercfg /a

进行此更改后,无论我是通过关闭还是重新启动退出Windows,我都可以从Ubuntu中自由访问Windows 8.1分区。


我发现我以后可以反向进行此操作,并且仍然可以访问该分区(但是,如上所述,始终保持不选中“快速启动”,并且从不要求Windows休眠)。可以预期的相反的命令是:

powercfg /h on

我假设Windows安装过程中遗留了一些东西,需要通过以这种特定方式关闭休眠模式进行引导来清除它。

据我所知,没有理由取消这样的第一步-离开可能会提供一些额外的安全性powercfg /h off

有关Windows NTFS处理程序的更多信息,请参见Ubuntu手册页


我怀疑powercfg如果您没有禁用手动休眠功能,即使我可能错了,您也不必搞乱……
SamB 2014年

6

对于Windows 8+

您需要禁用“快速启动”功能。引用“如何操作”:

按下Windows + X或右键单击“开始”菜单并选择“电源选项”,打开电源选项。在“电源选项”窗口中,单击“选择电源按钮的功能。”

在此处输入图片说明

如果这是您第一次弄乱这些设置,则需要单击“更改当前不可用的设置”以使“快速启动”选项可用于配置。

在此处输入图片说明

滚动到窗口底部,您应该看到“打开快速启动(推荐)”

在此处输入图片说明

取消选中 “快速启动”框。

然后,关闭Windows 10,您应该能够从Ubuntu挂载NTFS分区。


如何从这里获取极客报价。


这几乎是公认答案中Windows 8和10的部分内容。
muru

@muru - 耸肩这有截图
Android开发人员

耸耸肩,嗯,答案也是如此-列表中的数字是屏幕截图的链接
muru

6

它变得更加简单(Windows 8 +

只需强制关机,或者您可以说完全重启Windows系统,然后重新启动到Ubuntu OS。

好吧,我该怎么做?

很简单:Shift+ 关机

i,e Shift在单击Windows中的“ 关机”按钮时将其完全关闭,请按住该键。

当然,这会使您的Windows下一次启动慢一些。:)


4

您可以以只读模式挂载它,为此,首先必须创建一个目录作为挂载点:

sudo mkdir /media/*youruser*/newdisk

稍后,通过以下方式安装驱动器:

sudo mount -t "ntfs" -ro "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda4" "/media/*youruser*/newdisk"

*用您的用户名更改单词。/dev/sda4可能也有所不同,具体取决于分区是安装Windows 8的分区。

注意值取为您的特定错误信息,其他用户需要的错误消息ARGS,改变-o通过-ro并输入相应的用户名。

另外,请注意,使用这种方法不能在Windows驱动器中编辑,写入或创建新文件。


2

要添加答案,您可以进入Windows 7或Windows 8(W8:这是默认的关机操作,从某种意义上说,这并不是真正的关机),请打开具有超级用户权限的命令行,然后键入powercfg -h off

需要注意的是,现在您的Windows计算机将根本无法休眠。但是,您将可以挂载Windows分区而无需进行任何操作。


2

因为您是从Windows 8系统启动,所以很有可能发生这种情况。他们所做的就是制造它,以便在关闭计算机时真正进入休眠状态,以便在再次打开计算机时可以更快地启动。

您需要做的是进入Windows 8的“控制面板”部分,导航至电源选项并禁用“快速启动”选项,这样,当您关闭计算机时,您实际上已经关闭了系统,因此文件已关闭。分区上的文件将可以被访问和编辑。


1

@abhishek正确地回答了问题,我不仅遇到了ntfs挂载问题,而且从Windows 8.1重启到Ubuntu后,wifi也无法正常工作。最好的解决方案是关闭Windows 8.1中的快速启动。转到电源管理,然后按选择电源按钮的作用->更改当前不可用的设置。然后向下看窗口,找到一个标志“打开快速启动(推荐)”并关闭。点击保存更改,现在您将不会遇到此问题!


1

我通过在Windows 10中删除hiberfil.sys解决了此问题

powercfg /h off

然后回头

powercfg /h on

我尝试了第一个答案,但仍然有效,但是-重新启动后问题又回来了


1

最后,我可以按照Arch Wiki的配方来解决它:

  • 开机进入Windows
  • 以管理员身份运行 powercfg /h off
  • 关机视窗

/etc/fstab在第一次尝试失败后,我也更改为UUID以引用NTFS分区,在该尝试中我未使用该powercfg命令,但通过单击GUI禁用了该命令。不确定,为什么使用UUID应该有什么不同(在Wiki中,没有进一步说明)。但是至少它又能正常工作了。


来源:Arch Wiki(NTFS-3G:元数据保留在Windows缓存中,拒绝挂载):

问题是由于Windows 8中引入的称为“快速启动”的功能所致。启用快速启动后,所有已安装分区的部分元数据都将还原为上一次关闭时的状态。结果,在Linux上所做的更改可能会丢失。在Windows 8或10下选择“关闭”或“休眠”时,任何NTFS分区都可能发生这种情况。但是,通过选择“重新启动”离开Windows显然是安全的。

要允许写入其他操作系统上的分区,请确保禁用快速重启。这可以通过以管理员身份发出以下命令来实现:

   powercfg /h off

您可以查看当前设置Control Panel> Hardware and Sound> Power Options> System Setting> Choose what the power buttons do。该框Turn on fast startup应被禁用或丢失。

如果即使遵循本指南也无法安装NTFS分区,请尝试对所有NTFS分区使用UUID而不是/ etc / fstab中的设备名称。这是一个fstab示例


0

Windows 10和Windows 8都对关闭很有趣。在Windows中删除快速启动选项,如果使用Windows 10,请确保从Windows 8重新安装看起来像房子的home选项。然后,当您要进入Linux时,请使用它关闭而不是重新启动,否则错误将继续弹出,并且在Linux中无法访问一个驱动器...或系统上不止一个Windows驱动器...由于我有一个驱动器,因此我用于在Linux和Windows之间共享文件。


0

我解决了我的问题

$ sudo apt-get install ntfs-config

$ sudo mount -o rw /dev/sdXY

将sdXY替换为Windows分区,例如sda3

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.