问题描述
每当我启动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 inhiberfil.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分区的方法:
-
启动进入Windows并关闭系统,完全关闭系统。然后,您可以引导回Ubuntu,并且在Nautilus中将其打开时,分区将自动以read-write模式挂载。请注意,”Shut Down”选项可能不是默认情况下在开始菜单中显示的选项。您可能需要点击旁边的按钮来查看更多选项。
-
手动将文件系统安装为只读模式。
-
使用以下命令检查
/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分区上的文件。但是,您将无法写入分区或修改任何文件,因为它处于只读模式。
-
-
如果您需要以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.
-
在小图标视图中打开控制面板,然后单击电源选项。 (见screenshot 1)
-
点击选择电源按钮的功能。 (见screenshot 2)
-
点击更改当前不可用的设置。 (见screenshot 3)
-
取消选中打开快速启动(推荐)。 (见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。