Windows 8 has a severe internal bug in several of its drivers, notably :
- for handling large disk partitions (more than about 2 TB : the bug is in ntfs.sys notably it will immediately fail with a BSOD as soon as backup starts : Windows backup apparently uses (in ntfs.sys) a 32-bit variable to test the amount of free disk space, and gets some random negative value, and then fails to allocate some buffers and ntfs.sys gets a NULL pointer that it tries to reference, causing a fatal exception that causes the system to go to BSOD as NTFS.SYS MUST NOT be terminated!). This affects users with large disks (e.g. those trying to install the 64-bit version of Windows 8 over a large RAID volume). But it can also cause AVAST to hang as well (as it also depends on ntfs.sys). NTFS.SYS does not work correctly in its 64-bit version (visible this system driver was incorrectly compiled and has mixed 32-bit and 64-bit compile-time flags.
- in a new API related to DirectX11, where WinSat fails with 64-bit processors and NVIDIA display drivers (a new DDK API with DDI 1.1 apparently requires that WDDDM display drivers MUST report their shadow memory as "*_SEGMENT3" structures instead of "*_SEGMENT" structures in previous WDDM versions; MSDN says that this API is new to Windows 8, OK, but it does not require drivers to support it, and WinSat will fail the API returns a "not supported" error. This new API is just there to indicate how virtual memory segments are mapped to hardware memory segments, as before, but this new structure has had its members swapped with flags at the begining instead of at and, for only adding a new member containing the size of the segment to save in case of hibernation; if this API is not supported because there's nothing to save in case of hibernation, WinSat should not complain and repeat itself constantly every 3 minutes trying to perform the same test! It should use the previous supported API 'using "*_SEGMENT" and assume that the whole reported memory segment is to save to the hibernation; this is in fact very strange because it makes this false assumption only if you are running a multicore Windows kernel, so you can paliate the problem in WinSat by first disabling all cores but 1 and disabling hyperthreading, the time to run WinSat once; then you can reboot with all cores enabled in the BIOS and hyperthreading enabled.
These bugs all occur in the 64 bit version of Windows 8 (and most Windows 8 PC sold for tablets or subnotebooks are running a 32-bit version).
In summary : Windows 8 does not work with its 64-bit installation ! These bugs are critical, and still not solved (some OEMs are trying to implement their own patches differently and not compatible with each other ! Microsoft should instead develop corrections to its kernel and instruct the OEMs to remove thier attempted patches.
So : don't use Windows 8 in 64-bit mode for now, if you have a multicore CPU or hyperthreading CPU, or if you have partitions larger than 2 TB.