Windows uses a boot
status “C:\Windows\bootstat.dat” file to record the fact that it has progressed
through various stages and stores information about the last successful boot
and shutdown. This allows the Boot Manager, and the Startup Repair tool to detect
abnormal shutdown and offer the user recovery and diagnostic boot
options. The bootstat.dat is a hidden system file and can only be changed
by windows bootmanager. I explored all available option using bcdedit and there
is no way to read the file content or clear the “unclean shutdown” flag from
it. The only thing you can do using bcdedit is change the location of file or
turn on/off bcd entry session preservation.
Actually, the behavior
you are seeing after vss based backup and restore is not really a dirty bit issue. This looks like a normal
behavior because when we took the vss snapshot windows was in running state. So
as per bootstat.dat file, the state of windows is running in backed up
snapshot. And now when we are running it after restore then windows think it
was not shutdown properly. So for windows point of view, the shutdown was
unexpected because per bootstat file, last windows state was running.
The fact that windows
does not allow to change bootstat.dat log file so I think there is no good way
to fix this behavior. We can try backing up this file when Windows is in shutdown
state and then overwrite the existing file in backup vhd. But again this is not
a clean solution and we may leave vhd in to non-bootable state if the timestamp
of two files are way off.
I also tried taking
normal windows image backup (which also uses vss snapshots and create VHD) and
after restore it had the same behavior (showed windows recovery screen upon
first boot).
No comments:
Post a Comment