Unable to mount Windows (NTFS) filesystem due to hibernation
Whenever I boot Ubuntu, I get a message that it cannot mount my windows partition, and I can choose to either wait, skip or manually mount.
When I try to enter my Windows partition through Nautilus I get a message saying that this partition is hibernated and that I need to enter the file system and properly close it, something I have done with no problem so I don't know why this happens.
Here's my partition table, if any more data is needed please let me know.
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 1 21 Answers
A bug has been filed about the Nautilus dialog you are seeing as it recommends a potentially dangerous option that could result in data loss. Please do not run the command in this dialog unless you want to delete your saved Windows session and potentially lose unsaved work.
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.systo 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.
Workaround for all versions of Windows:
There are three ways to mount a hibernated Windows partition:
Boot into Windows and power down the system by shutting it down completely. You may then boot back into Ubuntu and the partition will mount in read-write mode automatically when you open it in Nautilus. Note that the "Shut Down" option may not be the one displayed in your start menu by default. You may need to click the button next to it to see further options.
Manually mount the filesystem in read only mode.
Check to see if you have a mount point (folder for mounting your partition in) for your Windows partition in the folder
/mediausing this command:ls /mediaIf you don't see a folder for your Windows partition, you should create one with the following command:
sudo mkdir /media/windowsNext, mount the partition in read-only mode onto this folder with this command:
mount -t ntfs-3g -o ro /dev/sda3 /media/windowsNote that you should change
/media/windowsif your mountpoint is called something else.- Now you will be able to view/open files on your Windows partition using any program in Ubuntu. However you will not be able to write to the partition or modify any files as it is in read only mode.
If you need to mount the partition in read-write mode and are not able to or willing to boot into Windows and shut it down completely there is a third option. However, it is not included here because it completely deletes
hiberfil.sysand will cause you to lose all unsaved information in the hibernated Windows programs. The following is a quotation fromman ntfs-3gabout the option that would be used to do this.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.
Solution (only for Windows 8 and 10):
There is a new feature in Windows 8 called Fast Startup. If this feature is enabled (which it is by default), Windows 8 does not actually completely shutdown when you choose shutdown. Instead, it does a "hybrid shutdown". This is something like hibernating; it makes booting Windows 8 back up faster. So, you need to disable this feature to be able to shut it down properly, and be able to mount the Windows partitions. To do this, boot into your Windows 8 and:
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.
- Open Control Panel in the small icons view and click on Power Options. (see screenshot 1)
- Click on Choose what the power buttons do. (see screenshot 2)
- Click on Change settings that are currently unavailable. (see screenshot 3)
- Uncheck Turn on fast startup (recommended). (see screenshot 4)
Click on Save changes. Now, shutdown Windows 8 and boot back into Ubuntu.
If you still aren't able to mount without getting errors, you may need to turn off hibernation completely. Open an elevated Command Prompt (right click on the shortcut, click on “Run as Administrator”), and input:
powercfg /h offSource: Fast Startup - Turn On or Off in Windows 8.
23EDIT: DOING THIS MIGHT HAVE DANGEROUS CONSEQUENCES and Windows might fail to boot or corrupt the filesystem upon booting.
Use ntfsfix in the terminal, even if you can't access Windows
sudo ntfsfix /dev/sdXYwhere XY is the partition, e.g. a2 (/dev/sda2) or b1 (/dev/sdb1)
ntfsfix repairs some fundamental NTFS inconsistencies, resets the NTFS journal file and schedules an NTFS consistency check for the first boot into Windows.
12If you want to terminate the hibernated session, run this command in a Terminal(press Ctrl+Alt+T to open Terminal)
sudo ntfsfix /dev/sdXYwhere XY is the partition. ex: sda2 or sdb1
This also works if you couldn't get into Win8.
3It's because of Windows 8's fast startup feature.
Temporary solution would be to go back in Windows and restart the system (instead of shutdown). Permanent solution is to disable fast startup.
You can use this guide to disable fast startup in Windows 8:
3My solution was to call a mntwindows script in /etc/rc.local. This script would check for hibernation and if hibernated mount as read only. In order to make sure the script may always be called I placed it in /bin and marked it as executable. The contents of the script are as follows
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 2 Windows 8 adds a "fast startup" feature. It does make Windows start up faster after a shutdown, but as a side effect it ends up putting your filesystem in that hibernating state.
To disable this feature in Win 8, search for "choose what the power buttons do" under settings, click the shield to unlock the checkboxes, and you can enable or disable the fast startup from there.
The caveat mentioned earlier, that you want to really shutdown Windows and not restart to get easy access from Linux, still applies.
1For windows 10, I figured out how to turn off the fast startup. Did one screencast to solve that. Go to Control Panel > Hardware and Sound > Power Options > System Settings Then click on 'Change Settings that are currently unavailable' and remove tick from 'Turn on fast startup'. Source :
0on Windows 8 it's normal.
You need to shut down Windows 8 via cmd by entering shutdown /f /s /t 0 then it might work.
Just for completion, here is another command to mount a partition as read-only (useful for hibernated Windows partitions):
udisksctl mount --block-device /dev/sda3 --options roIf you have permission to mount the partition using the file manager (if you are an administrator, for example), then you should be able to run this command without using sudo.
This is available in the newest Ubuntu versions (like 13.04 and 13.10).
If udisksctl isn't available, then maybe udisks is. It has different arguments, so check the manpage.
In my experience adempewolff's popular and helpful answer above was necessary, but not sufficient, to allow me to mount my Windows NTFS partition for writing with Ubuntu. As instructed elsewhere I turned Fast Startup off before trying to install Ubuntu and I removed the Hibernate Option on the "Shutdown" menu, too.
I still couldn't write to my Windows partition from Ubuntu.
I found I also had to boot Windows 8.1, start a Windows authorized command line (right click on the Windows button on the bottom left to get to this option easily), allow it through the Windows authorization box, and then enter the command:
powercfg /h offYou can check the results with:
powercfg /aAfter making this change I was able to freely access the Windows 8.1 partition from Ubuntu, whether I quit Windows by shutting down or by restarting.
I found that I was able to later reverse this and still access the partition (but keeping Fast Startup unchecked at all times, as above, and never asking for Windows hibernation of course). The command to reverse it is, predictably:
powercfg /h onI assume something was left over from Windows installation that needed to be cleared by booting with hibernation turned off in this particular way.
There should be no reason to undo the first step like this as far as I know--it may provide a bit of extra safety to leave powercfg /h off.
See the Ubuntu man page for the Windows NTFS handler for a bit more information.
1For Windows 8+
You need to disable the "Fast Startup" feature. To quote the How-To-Geek:
Open up your power options by hitting Windows+X or right-clicking your Start menu and selecting Power Options. In the Power Options window, click “Choose what the power buttons do.”
If this is the first time you’ve messed with these settings, you’ll need click “Change settings that are currently unavailable” to make the Fast Startup option available for configuration.
Scroll to the bottom of the window and you should see “Turn on fast startup (recommended)"
Uncheck the "fast startup" box.
Then, shut down Windows 10, and you should be able to mount the NTFS partition from Ubuntu just fine.
How-To-Geek quotation taken from here.
3It has become even more simple (Windows 8+)
Just force shutdown or you can say complete shutdown your windows system before rebooting to Ubuntu OS.
Well how will I do that?
Very simple: Shift + Shutdown
i,e Hold Shift key while you click the Shutdown button in Windows to shutdown it completely.
Of course it will make your windows boot little slower next time. :)
Boot into Windows and then restart it. Don't shut down.
In the grub menu select "Ubuntu" and press Return. After the Ubuntu has booted up, open the NTFS partition. It should now open.
You can mount it in read only mode For it, first you have to create a directory as mount point:
sudo mkdir /media/*youruser*/newdiskLater, mount the drive with:
sudo mount -t "ntfs" -ro "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda4" "/media/*youruser*/newdisk"Change words with *, with your user name. /dev/sda4 could be also different, depending on the partition is the one where windows 8 is installed.
Note the args values are taken for your particular error message, for other users take the error message, change -o by -ro and type appropriate user name.
Also, note, with this method, you cannot edit, write or create new files in the windows drive.
To add to the answer you can go into Windows 7 or Windows 8 (W8: this is the default power-off action, it isn't a true shutdown in a sense), open a command line with super user privileges and type powercfg -h off.
The caveat is now you Windows computer will not be able to Hibernate at all. However, you will be able to mount your Windows partitions without doing surgery on it.
It is more than likely that this is happening because you are booting from a Windows 8 system. What they have done is make it so that when you turn off your computer it really goes into hibernation for a quicker boot when you switch it on again.
What you will need to do is to go into the Control Panel section of Windows 8, navigate to power options and disable the quick start up option so that when you shut down, you will actually have shut down your system and as a result the files on the partition will be able to be accessed and edited.
In the end, I could solve it by following the recipe from the Arch Wiki:
- Boot into Windows
- As an administrator, run
powercfg /h off - Shutdown Windows
I also changed /etc/fstab to a UUID to refer to the NTFS partition, after a first attempt failed, where I did not use the powercfg command but disabled it by clicking through the GUI. Not sure, why using a UUID should make any difference (in the Wiki, it is not explained further). But at least it is working again.
Source: Arch Wiki (NTFS-3G: Metadata kept in Windows cache, refused to mount):
The problem is due to a feature introduced in Windows 8 called "fast startup". When fast startup is enabled, part of the metadata of all mounted partitions are restored to the state they were at the previous closing down. As a consequence, changes made on Linux may be lost. This can happen to any NTFS partition when selecting "Shut down" or "Hibernate" under Windows 8 or 10. Leaving Windows by selecting "Restart", however, is apparently safe.
To enable writing to the partitions on other operating systems, be sure fast restart is disabled. This can be achieved by issuing as an administrator the command:
powercfg /h offYou can check the current settings on
Control Panel>Hardware and Sound>Power Options>System Setting>Choose what the power buttons do. The boxTurn on fast startupshould either be disabled or missing.If you cannot mount your NTFS partition even when following this guide, try using the UUID instead of device name in /etc/fstab for all NTFS partitions. Here's an fstab example.
@abhishek ansvered correctly, I had not only ntfs mount problem, wifi didn't work after rebooting from Windows 8.1 to Ubuntu too. The best solution is to switch fast boot in Windows 8.1 off. Go to power management and press Choose what the power buttons do -> Change settings that are currently unavailable. Then look down the window, find a flag "Turn on fast startup (recommended)" and switch in off. Click Save changes, so now you wont have this problem!
I solved this (in Windows 10) by removing the hiberfil.sys by
powercfg /h offthen turn it back
powercfg /h onI tried with the first answer and it worked, but - the problem came back after rebooting
Windows 10 and Windows 8 both act funny about shutting down. Delete the fast boot option in Windows and if using Windows ten, make sure you reinstall the home option, which looks like a house, from Windows 8.. Then use it to shut down, not restart, when you want to go into Linux, or the error will continue to pop up, and when in Linux you cannot access the one drive... Or more than one Windows drive on my system... As I have one drive I use for sharing files between Linux and Windows.
I solved my problem with
$ sudo apt-get install ntfs-configand
$ sudo mount -o rw /dev/sdXYreplace the sdXY with your windows partition e.g. sda3