4

With Windows XP, after each power faillure, windows would run chkdsk to check the hard drive. However, i do not see this pattern with Windows 7, even after a power faillure. Does that mean it does not need one or do i need to run it manually?

1
  • Have you heard of SFC? I think that may provide the answer you need. Wikipedia
    – bacord
    May 26, 2011 at 16:14

1 Answer 1

9

NTFS has become much more of a "journalling" filesystem seemingly during the lifetime of Windows XP and has adopted a lot of features that make chkdsk unnecessary. Together these technologies mean that running chkdsk is largely unnecessary as the state of the filesystem is much easier and faster (e.g can be done quickly during boot) to determine and restore to a "known-good" state.

Windows Vista introduced Transactional NTFS which appears to be similar in principle to a journalled filesystem where specific check-disk type events should be rare or unnecessary. Essentially when the filesystem is mounted it is easy for the driver to find out what happened before the power failure and very quickly determine whether to roll-back, roll-forward or simply discard changes.

(I believe the major changes appeared in Vista as I have not seen chkdsk run at boot since moving from XP)

As mentioned in the comments there are cases where these systems do not protect you and it is entirely possible for your system to become corrupt to the point where chkdsk is necessary, especially when using file systems that do not support these advanced features such as the FAT filesystem used on Flash memory sticks. These features are there to reduce how often chkdsk is required during boot by making it easier to determine the filesystem state prior to unexpected power down.

As a side note I have even started resizing a disk using the disk management console, realised that I had to power down the machine mid-resize as it was taking a long while. I assumed it was at a point where I data loss was guaranteed, but when I rebooted I found everything was perfectly in-tact, back the way it was before and nothing was corrupt or missing. I don't recommend trying this at home as you could loose everything, but "yay" for Microsoft protecting me against my own stupidity.

From Wikipedia:

NTFS Log

NTFS is a Journaling file system and uses the NTFS Log ($LogFile) to record metadata changes to the volume.

It is a critical functionality of NTFS (a feature that FAT/FAT32 does not provide) for ensuring that its internal complex data structures (notably the volume allocation bitmap, or data moves performed by the defragmentation API, the modifications to MFT records such as moves of some variable-length attributes stored in MFT records and attribute lists), and indices (for directories and security descriptors) will remain consistent in case of system crashes, and allow easy rollback of uncommitted changes to these critical data structures when the volume is remounted.

And

Transactional NTFS

As of Windows Vista, applications can use Transactional NTFS to group changes to files together into a transaction. The transaction will guarantee that all changes happen, or none of them do, and it will guarantee that applications outside the transaction will not see the changes until they are committed.

It uses similar techniques as those used for Volume Shadow Copies (i.e. copy-on-write) to ensure that overwritten data can be safely rolled back, and a CLFS log to mark the transactions that have still not been committed, or those that have been committed but still not fully applied (in case of system crash during a commit by one of the participants).

6
  • 1
    Fantastic answer!
    – user76211
    May 26, 2011 at 16:23
  • 3
    Just because these features are improved with the latest versions of NTFS, this DOES NOT mean File system corruption can not occur. Chkdsk on Windows 7 may be required from time to time especially if unexpected power loss is common.
    – Jeff F.
    May 26, 2011 at 16:34
  • 1
    FAT filesystems, which many USB drivers are formatted with, do not support these advanced features. If you power off your Windows 7 system suddenly with a flash drive inserted and while it's writing files to the flashd drive, you'll likely see it on next reboot. Don't do this on a flash drive with important files on it.
    – LawrenceC
    May 26, 2011 at 16:34
  • @Jeff & @ultrasawblade both very good points, I'll amend accordingly.
    – Mokubai
    May 26, 2011 at 16:39
  • @Mokubai Is it true that NTFS uses logical journaling instead of physical journaling (so data corruption is still possible)?
    – Pacerier
    Jul 5, 2012 at 11:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .