Is there a way to get the results of chkdsk with the /f switch to a .txt file instead of having to go to the event viewer?

EDIT: I want to get the output of what chkdsk fixed, not just what errors have been shown.

PS: Im using Windows XP.


You can use redirection.

Run chkdsk over a command window(cmd):

  1. Click on Windows Start buttom / type "cmd" and open a new cmd window.

  2. Type the following comand(without the ""):

    "chkdsk > log.txt"

Then all the content shown on cmd output will be written to the log.txt file.

Here is the print screen of the results performed with this command at my system(Portuguese Windows version):

enter image description here

  • If the machine was on and running, and you run chkdsk /f in cmd, it will ask to restart the machine to run chkdsk. When you go to restart the machine, the session is killed. If I understand correctly, won't doing chkdsk >> log.txt only output the message prior to the actual chkdsk application running? – Mechaflash Aug 24 '11 at 18:16
  • On boot time you cannot schedule to pipe to a txt or even save the results, but you can add the command chkdsk > log.txt to a script and run it everytime you boot the system. – Diogo Aug 24 '11 at 18:26
  • 1
    Sorry, I think I misunderstood your first comment. If you run chkdsk with /f argument it will ask you for schedule the chkdsk task to the next boot in order to correct defective clusters. chkdsk without arguments will verify your disk for errors and give a error report. If you got erros on report you can run /f argument, if dont, you can use chkdsk without arguments piping to the .txt log to see if there are errors, you will get the same information that would have if was on boot time. – Diogo Aug 24 '11 at 18:51
  • 5
    Just a minor point on terminology, what you are demonstrating is 'output redirection' using the > operator, not strictly a pipe. A pipe is when the output of one program is used as the input to another, as in 'piped from one program to another' using the | operator. – MrWhite Aug 24 '11 at 19:05
  • 1
    @Diogo_Rocha, it is /r, not /f that scans for bad clusters. – psusi Aug 24 '11 at 19:18

I found where Windows XP stores the output of the chkdsk run on boot. It stores the output in C:\Bootex.log


EDIT: On a side note. I'll share this with everyone

To automate chkdsk via batch file, you can use the following commands:

echo y|chkdsk /f
shutdown -r -t 00

then you can retrieve the Bootex.log from C:\ afterwards.

EDIT2: Not sure what the default behavior is but it seems that it is hit and miss with whether or not a bootex.log exists. I saw a post on another website stating that bootex.log is supposed to be erased before login, unless autochk.exe encounters an error or if autochk.exe is canceled before it is finished. But I've seen the log there without either conditions being met.

  • The link is broken("Sorry, but we couldn't find the page that you requested."). Can you verify if it is right? – Diogo Aug 24 '11 at 19:58
  • cut off a number at the end =/ it should work now – Mechaflash Aug 24 '11 at 20:14
  • and yes yes I know it says "IN windows 2000" but it still applies to windows xp. tested and found it with the output file after the system reboot. – Mechaflash Aug 24 '11 at 20:14

Expanding on crokusek's answer, you can access the chkdsk full log file in Drive:/System Volume Information/Chkdsk/Chkdsk*.log.

To get to the files from Explorer you have to give yourself read permission on System Volume Information and its Chkdsk subdirectory.

  1. First go to Folder & search options (Organize menu in Explorer window), View tab, and uncheck Hide protected operating system files. This will allow you to see the System Volume Information folder in the root directory.
  2. Right click on System Volume Information -> Properties -> Security tab. Click Continue.
  3. On the dialog that opens, click Add.
  4. Write your username and click Check names. The name should transform to hostname\username.
  5. Click OK everywhere. Some errors will pop up about denied access to some folders. Ignore them and click Continue. This will add read, execute and list permission to your user.
  6. Repeat from step 2 for the Chkdsk folder.

At least for Windows 7, the output of chkdsk appears:

1) In Event Viewer but it can be truncated if it is very long.

2) Drive:/System Volume Information/ChkDsk/Chkdsk*.log

These seem to work even if chkdsk is run during boot up sequence.

For #2, I had to use cygwin to get into the directory so maybe someone can post a link on how get it in there another way. Simply opening explorer as Admin does not work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.