Comment 20 for bug 1043149

bcbc (bcbc) wrote :

I still fail to see why this is a bug in wubi or ntfs-3g. The way I see it is that Windows8 chooses to hibernate by default on shutdown (unless fast-start is disabled), without the knowledge of the user. The fact that the user is unaware of it, doesn't change the fact that it's hibernated. So it's correct for ntfs-3g to refuse to mount it.
Also, the fact that Microsoft consider "Restart" a true restart and "Shut down" a hidden, system hibernation is not intuitive or logical (to me).

The problem with Wubi and hybrid sleep, is in my mind a windows 8 bug. Since in this case, it's Shutdown (not restart) that cleans up the mess left behind by the hybrid sleep. Now suddenly Restart is the inferior option that leaves a quasi-hibernated state.

Why would it be up to ntfs-3g to try to interpret this mess and what should it do with a system-hibernated state versus a user-hibernated state?

For Wubi, it's probably easy enough to check and switch off 'hybrid sleep' to get around the issue, but I think it's unlikely that Microsoft intended this and maybe they'll fix it.

1. this shows that Windows 8 shut down is intentionally hibernating

"Now here’s the key difference for Windows 8: as in Windows 7, we close the user sessions, but instead of closing the kernel session, we hibernate it. Compared to a full hibernate, which includes a lot of memory pages in use by apps, session 0 hibernation data is much smaller, which takes substantially less time to write to disk. If you’re not familiar with hibernation, we’re effectively saving the system state and memory contents to a file on disk (hiberfil.sys) and then reading that back in on resume and restoring contents back to memory. Using this technique with boot gives us a significant advantage for boot times, since reading the hiberfile in and reinitializing drivers is much faster on most systems (30-70% faster on most systems we’ve tested)."

2. That same link talks about "Restart" being the full reset (which is not the case after hybrid sleep):
" Also, choosing Restart from the UI will do a full shutdown, followed by a cold boot."