Windows 8 volume compatibility considerations with prior versions of Windows

Summary

This article describes several design changes introduced with Windows 8 which change the supported boot configurations for users which utilize multiple operating systems on their personal computer, or for users which physically move storage devices with NTFS volumes between Windows 8 and a prior version of Windows.

Background

As detailed in the Building Windows 8 blog, Windows 8 introduced much faster boot times as a result of the introduction of “Hybrid Boot”. With the new model, Windows 8 will log off active users, but instead of terminating the kernel session, the system is hibernated. This means that the memory state of running system processes, devices, and file systems are saved to the Hiberfile instead of being dismounted and shutdown. On resume, the Hiberfile is read which resumes the memory state, drivers are initialized, and the user session is prepared. By not having to perform a full boot, the time necessary to start your system dramatically decreases.

Also with Windows 8, there has been work done in the NT File System (NTFS) to reduce the I/O count of log file writes.  NTFS uses a log file to record changes to file system metadata before they are actually applied and persisted to disk – this is the basic principle of write-ahead logging. This method helps ensure consistency of on-disk metadata structures in the event of an unexpected unclean dismount (for example caused by a power interruption). In order to reduce the I/O count of log file writes, it was necessary to change the way records are written, and as a result, there was a format change and version number was incremented from version 1.1 to 2.0.

While these two changes are fundamentally designed to work together to deliver better performance, there are inherent dependencies on Windows 8 that can result in incompatibilities with systems with multiple versions of Windows installed in certain configurations and boot scenarios, or for users which physically move NTFS volumes between Windows 8 and a prior version of Windows.

Additional Background
As discussed in the prior section, a change was made to the NTFS Log File structure in Windows 8 to reduce I/O counts, improving system performance, and with potentially reduced power consumption. However, a side effect of this change is that the new log format is unrecognizable with prior versions of Windows, which may result in a prior version of NTFS marking the volume as corrupt (since the contents of the log is in an unrecognized format). This will trigger a chkdsk run upon reboot to ensure that file system metadata is consistent, which will clear the corrupted state of the log file and return the file system to a clean state.

To help prevent prior versions of Windows mounting a NTFS volume with the new log file version, we’ve added logic to the NTFS driver in Windows 8 which does the following:

  • When an NTFS volume is cleanly dismounted (such as on a full shutdown, a reboot, or a safe remove), NTFS will “downgrade” the log file structure and version number to one that is recognized by all prior versions of Windows. This helps ensure that when a storage device with a NTFS volume is cleanly removed from Windows 8 for use in another operating system, it can be attached without the NTFS volume being marked as corrupted.
  • When an NTFS volume is mounted (such as on boot, or when a storage device is attached to the system with a caching policy set to “Optimize for Performance”), NTFS will “upgrade” the log file structure and version to one that is only recognizable by Windows 8. This helps ensure that by using the new log file structure in Windows 8, your device will operate with optimal performance, and with potentially reduced power consumption. NTFS will also upgrade the log file structure and version of any internally-attached storage devices on boot (or after a hot-swap).

NOTE: Most USB Flash keys or Flash Media Cards with  a caching policy set to “Optimize for Quick Removal” will not be upgraded to the new log structure and version number and do not have the potential for down-level incompatibility. These devices typically report themselves as “Removable Media” and “Hot-Pluggable”.

Impact to Windows Boot Scenarios

When a system with multiple versions of Windows installed is resumed from a Hybrid Boot state, the boot process will fully restore Windows 8 and remount previously active volumes before providing a selection screen to choose another version to boot. If the user selects an alternate version, the system is rebooted (which allows for active file systems to dismount and in turn downgrade the log file structure and version to one that is compatible with all prior versions of Windows) and the system will load the desired version. In most scenarios, this will not result in a previous version of Windows mounting a NTFS volume with an unrecognized log file structure and version number.

However, as part of the design of Hybrid Boot, the Windows 8 kernel is not fully shutdown unless a restart is requested, thus any mounted file systems do not have an opportunity to dismount when the machine is Hibernated. As a result, active file systems will not be down-graded to the compatible log version 1.1 after the Hibernate. Thus, removing a physical drive containing active file systems from a Windows 8 machine after the system is Hibernated, and connecting that drive to a prior version of Windows will result in the volume being marked as corrupted. A full chkdsk run will be required to clear the corrupted state of the volume, which will return it to a healthy state.

If you anticipate that you will be physically moving storage devices with a caching policy set to “Optimize for Performance”, or storage devices attached through SATA or SAS between Windows 8 and a prior version of Windows, it is recommended that you either disable Hybrid Boot, or to set a registry key to prevent NTFS from upgrading the Logfile structure and version number to 2.0 upon mount. Details on how either of these procedures, how you can determine if your volume has been upgraded to the new Logfile structure, and how to determine your storage device’s caching policy follows in this article.

Supported Multi-OS Boot Configurations
As Hybrid Boot introduces a fundamental change to the way Windows 8 is started, the following details the supported configurations for booting Windows 8:

  • Utilizing the Windows 8 boot loader to boot multiple Windows versions, including Windows 8, is supported. To ensure that the Windows 8 boot loader is utilized, ensure that you install Windows 8 on your system after you have installed a prior version of Windows.
  • Utilizing a non-Windows 8 boot loader to boot Windows 8 is not supported.
    • You can encounter this scenario most easily if you install a prior version of Windows to a partition after you have installed Windows 8. This may result in the Windows 8 boot loader being overwritten, and replaced with the boot loader from the prior version of Windows.
  • Utilizing a 3rd party boot loader that is not Hybrid Boot aware is not supported.

Resolution Summary

  • If you intend to move storage devices with a caching policy to “Optimize for Performance”, or any internally-attached storage devices, between Windows 8 and a prior version of Windows, it is recommended that you either disable Hybrid Boot, or disable NTFS Log file upgrade.
  • If you are moving storage devices with a caching policy to “Optimize for Quick Removal”, and which are attached through USB, between Windows 8 and a prior version of Windows, you do not need to disable Hybrid Boot, or disable NTFS Log file upgrade. Instead, it is recommended that prior to disconnecting the device from your system, you utilize the  Safe Removal mechanism in the Windows Notification Tray.
  • If you are moving USB attached Flash Memory sticks or Flash Media Cards which are reported as “Hot Pluggable” and “Removable Media”, you do not need to take any further action. NTFS will not upgrade the Log file structure and version number on these types of devices in Windows 8.
  • With Hybrid Boot enabled in Windows 8, a “Shutdown” will cause the system to Hibernate. As detailed in Microsoft KB <placeholder for article publishing>, it is not recommended that you remove a storage device from a Hibernated system, attach it to another system (running any operating system version, including Windows 8), reattach the device on the Hibernated system, and resume the system. If you are intending to remove a storage device from the system, ensure that you first utilize the Safe Removal mechanism in the Windows Notification Tray.

Detailed Resolution Steps

Determining if your volume has been upgraded to Logfile version 2.0

Important! This section, method, or task contains steps that can potentially change key file system behavior. Therefore, make sure that you follow these steps carefully.

Note: These steps are only applicable to systems running Windows 8 or Windows Server 2012.

  1. Open the Start Screen by pressing the Windows Key or by navigating to the top right corner of your screen, summoning the Charms bar, and clicking the Windows icon.
  2. Type in “cmd”.
  3. Right click the “cmd” icon, and at the bottom of the screen, click “Run as Administrator”.
  4. If prompted, accept the prompt to run the program.
  5. Type “fsutil fsinfo ntfsinfo <the drive letter of your volume”; example: fsutil fsinfo ntfsinfo C:                                                         
  6. You should see output similar to the below.
    • If you see the entry “LFS Version” as 2.0, than your volume has been upgraded to the high performance Logfile structure only compatible with Windows 8.
    • If you see the entry “LFS Version” as 1.1, than your volume is using a Logfile structure compatible with previous versions of Windows.

 
Checking the Logfile version Number

Determining your storage device’s caching policy

Important! This section, method, or task contains steps that can potentially change key system behavior and settings. Therefore, make sure that you follow these steps carefully.

  1. Open the Start Screen by pressing the Windows Key or by navigating to the top right corner of your screen, summoning the Charms bar, and clicking the Windows icon.
  2. Type in “devmgmt.msc”.
  3. Right click the “devmgmt” icon, and at the bottom of the screen, click “Run as Administrator”.
  4. If prompted, accept the prompt to run the program.
  5. Navigate to the “Disk drives” item, and expand it to detail all of the storage devices attached to the system.
  6. Right click on the storage device of interest to you, and press “Properties”.
  7. The below properties page should show up under the “Policies” tab.
  8. This specific device is a USB-attached Hard Disk Drive, which by default has a property to optimize for Quick Removal. It is recommended that prior to disconnecting the device from your system, you utilize the  Safe Removal mechanism in the Windows Notification Tray.


Caching Properties Page

Disabling Windows Hybrid Boot

To disable Windows Hybrid Boot, and to have your system perform a full shutdown upon either pressing the Power Button or clicking the “Shutdown” option in the Charms bar, please follow the below steps.

Note: These steps are only applicable to systems running Windows 8.

  1. Open the Start Screen by pressing the Windows Key or by navigating to the top right corner of your screen, summoning the Charms bar, and clicking the Windows icon.
  2. Type in “power”.
  3. Click “Settings” on the right.
  4. Click “Change what the power buttons do”.
  5. The below screen should be presented to you. You may need to provide Administrative permissions to change the settings.
  6. Uncheck “Turn on fast startup (recommended)”.
  7. Press “Save changes” and Close the Window.


Disabling Hybrid Boot

Disabling NTFS Log File Upgrade

Important! This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756  How to back up and restore the registry in Windows

Note: These steps are only applicable to systems running Windows 8 or Windows Server 2012.

To turn off the behavior of NTFS upgrading the log file structure and version number to 2.0 upon a mount of a NTFS volume in Windows 8, please follow the below steps. Note that this registry key does not persist the upgrade behavior to the volume, it only changes the behavior of the NTFS driver on the local system.

  1. Open the Start Screen by pressing the Windows Key or by navigating to the top right corner of your screen, summoning the Charms bar, and clicking the Windows icon.
  2. Type in “regedit.exe”, and launch the application, allowing it to make changes to your computer if prompted.
  3. Navigate using the tree on the left pane to: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\
  4. Look for a REG_DWORD entry with the name “NtfsDisableLfsUpgrade”. If it does not exist, create it.
  5. Changing the value to a non-zero value (we recommend a value of 1) will prevent NTFS from upgrading the Logfile structure and version number to 2.0 upon a volume mount. Resetting the value to zero will return the system to the default behavior to upgrade the Logfile structure and version number to 2.0 upon a volume mount.
  6. Close the Registry Editor and perform a system Restart (not Shutdown) to downgrade all mounted NTFS volumes to a log file structure and version number compatible with prior versions of Windows. Upon the next boot of Windows 8, NTFS will no longer upgrade the log file structure and version number to 2.0 if the above key was set to a non-zero value.