Has Microsoft improved Scandisk, CHKDSK and Defrag in Windows 7?

Is there only interface design change or something internally has changed? Most of the time I could see that Scandisk is unable to check OS partition as there are no rights. It schedules the task to be run at the time of Windows start. The ScanDisk that runs from console looks the same old buddy.


Solution 1:

Microsoft blog about defrag for W7

Among the other changes under the hood in Windows 7 are the following: Defragmentation in Windows 7 is more comprehensive – many files that could not be re-located in Windows Vista or earlier versions can now be optimally re-placed. In particular, a lot of work was done to make various NTFS metadata files movable. This ability to relocate NTFS metadata files also benefits volume shrink, since it enables the system to pack all files and file system metadata more closely and free up space “at the end” which can be reclaimed if required.

If solid-state media is detected, Windows disables defragmentation on that disk. The physical nature of solid-state media is such that defragmentation is not needed and in fact, could decrease overall media lifetime in certain cases.

By default, defragmentation is disabled on Windows Server 2008 R2 (the Windows 7 server release). Given the variability of server workloads, defragmentation should be enabled and scheduled only by an administrator who understands those workloads.


[see this article for W7 and Server 2008R2][2]

Chkdsk performance improvements In Windows Server 2008 R2, enhancements to the command-line tool Chkdsk increase the availability of volumes by reducing the amount of time it takes to perform a Chkdsk run. Chkdsk scales with the amount of available RAM in the system. Running Chkdsk on a server running Windows Server 2008 R2 is significantly faster than on a server running Windows Server 2008 or systems with similar configurations.

Also this blog

CHKDSK was updated in Windows 7 and Windows Server 2008 R2 to improve how it caches metadata, also known as Block Cache. A significant portion of a CHKDSK run is the scan phase, where it seeks different locations on disk to verify information from file system metadata objects. By caching larger blocks of the disk in RAM, CHKDSK execution time is reduced by reducing disk seeks. The Block Cache feature also reduces the need to re-access data from the disk, reducing the total device I/O time, and therefore, the overall CHKDSK execution time. The Block Cache feature may cause CHKDSK to consume a significant amount of memory, which is not usually a concern in Windows file servers, but reduces the amount of disk I/O and therefore significantly improves performance. The net result is greatly reduced execution time in common scenarios.

An independent review of chkdsk in XP compared to W7

http://kkomp.com/2010/11/29/the-chkdsk-function-in-windows-7/

.

"It schedules the task to be run at the time of Windows start"

This is normal for anything other than a query.

I usually run it from an elevated command prompt:
http://www.blogsdna.com/2168/windows-7-how-to-open-elevated-command-prompt-with-administrator-privileges.htm

As you can see here I just did a chkdsk with no parameter (switch), so it just did a query of the file system condition. As you can see it did not find any problems, so no need to actually run it with the f or r switch to fix anything.

text in Bold are the actual commands I ran

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>chkdsk /?

Checks a disk and displays a status report.


CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B]


  volume          Specifies the drive letter (followed by a colon),
                  mount point, or volume name.

  filename        FAT/FAT32 only: Specifies the files to check for fragmentation
.

  /F              Fixes errors on the disk.

  /V              On FAT/FAT32: Displays the full path and name of every file
                  on the disk.

                  
/R   On NTFS: Displays cleanup messages if any.
              Locates bad sectors and recovers readable information
                  (implies /F).

  /L:size         NTFS only:  Changes the log file size to the specified number
                  of kilobytes.  If size is not specified, displays current
                  size.

  /X              Forces the volume to dismount first if necessary.
                  All opened handles to the volume would then be invalid
                  (implies /F).

  /I              NTFS only: Performs a less vigorous check of index entries.

  /C              NTFS only: Skips checking of cycles within the folder
                  structure.

  /B              NTFS only: Re-evaluates bad clusters on the volume
                  (implies /R)


The /I or /C switch reduces the amount of time required to run Chkdsk by
skipping certain checks of the volume.


C:\Windows\system32>chkdsk

The type of the file system is NTFS.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  208640 file records processed.
File verification completed.
  223 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  60 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
  270776 index entries processed.
Index verification completed.
  0 unindexed files scanned.
  0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  208640 file SDs/SIDs processed.
Security descriptor verification completed.
  31069 data files processed.
CHKDSK is verifying Usn Journal...
  33787520 USN bytes processed.
Usn Journal verification completed.
Windows has checked the file system and found no problems.

474923004 KB total disk space.

172607400 KB in 169122 files.

88640 KB in 31070 indexes.

0 KB in bad sectors.

322960 KB in use by the system.

65536 KB occupied by the log file.

301904004 KB available on disk.

4096 bytes in each allocation unit.

118730751 total allocation units on disk.

75476001 allocation units available on disk.


C:\Windows\system32>