Is it possible to exclude specific partitions from Windows's Fast Startup?

1

I have three hard drives, one for Windows, one for Linux, and one that - ideally - would be shared, alas, disabling Fast Startup very significantly slows down the booting process.

I know it is not likely to be possible, but if anyone knows for sure, it's probably here.

Llamageddon

Posted 2018-10-04T10:36:27.500

Reputation: 1 267

Answers

2

Combing @Mokubai's answer with

This gives a workable solution (for me). I've set up a shutdown script that unmounts the shared drive, so Linux can mount it cleanly (read-write). When Windows boots, a startup script mounts the shared drive again.

This retains most of the advantages from fastboot but also allows for sharing drives between OS'es.

Update: As Mokubai commented, the Shutdown and Startup scripts do not get run when using fast startup.

wensveen

Posted 2018-10-04T10:36:27.500

Reputation: 121

While I did mention why and that unmounting was an option I didn't actually elaborate on how which I see was a bit shortsighted of me. Does this actually get run at a "fast startup" shutdown (I.e. minimal shutdown+hibernate)? I thought "shutdown" in the context of fast startup would be reboot rather than user logoff... – Mokubai – 2019-09-17T13:52:43.183

@Mokubai You're right, sorry. The shutdown/startup scripts actually do not get run at a fast startup shutdown. Pretty frustrating. Maybe there's another event you can hook in to... – wensveen – 2019-09-26T07:04:06.070

It seems that in addition to startup/shutdown there is also login/logoff that you could use instead: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn789190(v%3Dws.11) I'd expect that might be more what is needed.

– Mokubai – 2019-09-26T07:17:50.137

That may be a viable solution in a single-user environment. I'm also looking at Task Scheduler triggers, Begin the task: On an event has a lot of options, but I wouldn't know which event to pick. – wensveen – 2019-09-26T07:24:20.410

1

Fast startup can not be disabled on a per-drive basis because the feature does not actually care about drives.

All fast startup does is hibernate the core of the operating system, that includes any drivers or file systems that are mounted before the operating system goes into hibernation.

If you want a drive to be "excluded" from fast startup then you will need to unmount the drive before shutting your system down. This is obviously most easily achieved via a removable drive, but can also be done via the "disk management" control panel in Windows.

If the disk is not cleanly unmounted then Windows may still hold metadata in memory and have marked the disk as "dirty", preventing you from working with it in Linux.

If you know you are wanting to work in Linux then you can reboot your system, which shuts Windows down "normally" and does not do a "fast startup", and then cut the power after the reboot but before Linux boots.

Mokubai

Posted 2018-10-04T10:36:27.500

Reputation: 64 434

"If the disk is not cleanly unmounted then Windows may still hold metadata in memory and have marked the disk as "dirty", preventing you from working with it in Linux." ... wow, really? This sounds like a terrible idea. – Attie – 2018-10-04T11:29:01.950

3@Attie - It's how suspend has worked for nearly 15 years. – Ramhound – 2018-10-04T12:11:06.257

2@Attie the answer is simple though, don't use hibernate or suspend or related technologies such as "fast startup". Every suspend/hibernate will retain some disk or hardware state information, otherwise hibernate cannot work. – Mokubai – 2018-10-04T12:19:34.793

Interesting, thanks both... I would have expected such states to be considered more vulnerable, and thus flushing all I/O to disk would be a key step!... but this isn't a technical review, so happy to leave it there :-) – Attie – 2018-10-04T14:29:39.030

But it's not fundamentally impossible, is it? To have the OS unmount a volume or two behind the scenes while suspending. I wish it was a feature. – Llamageddon – 2018-10-05T21:13:55.190

@Llamageddon not really. The Windows core OS doesn't know what drivers, antivirus or other programs might intentionally have open or in use on any given drive before going into hibernation. Flushing and unmounting drives would mean invalidating file handles for every program using the disk which could result in programs crashing at best and serious system instability at worst. You could argue that it shouldn't be the case for "removable disks" but fixed disks cannot make that assumption. – Mokubai – 2018-10-05T21:19:39.447