Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a hard drive that shows up in Disk Management as having two partitions.

One of the partitions says 69.71GB and that's it. The other says 4.82GB and, underneath that, Healthy (OEM Partition).

I'm trying to do chkdsk on the 69.71GB partition and am unsure of how to do it without a drive letter.

It's an NTFS partition that's gotten corrupted. Linux's ntfsfix spits out a bunch of errors so I'm thinking chkdsk might be better.

share|improve this question
1  
Why can't you just assign a drive letter to it? –  Zoredache Dec 13 '12 at 8:17

7 Answers 7

Try this.

Open a command prompt. Execute the mountvol command which will tell you all the volumes on your system and give you the GUID of them.

\\?\Volume{eb38d03b-29ed-11e2-be65-806e6f6e6963}\
    *** NO MOUNT POINTS ***

\\?\Volume{eb38d03c-29ed-11e2-be65-806e6f6e6963}\
    C:\

\\?\Volume{41ae7a1c-9849-11e2-be7a-0026b9dc157c}\
    F:\

I bet the one you won't have a drive letter but Windows should still give it a GUID if it's a valid and recognized partition.

Then run CHKDSK in this fashion:

chkdsk "\\?\Volume{eb38d03c-29ed-11e2-be65-806e6f6e6963}"

Worked on my system but my volume had a drive letter. Use /f and other switches as appropriate.

share|improve this answer
    
It doesn't work when there's no mounting point or a drive letter. –  DevAntoine Jan 12 at 14:03
1  
This didn't work here. It just checked the current disk. –  clst Jul 14 at 12:11
    
Oh well, I figured it was a long shot. :( –  ultrasawblade Jul 14 at 13:07

Ultimately, you should be able to run chkdsk on a volume, as per the chkdks documentation (instead of a drive letter or mount point, you simply pass it the volume name). However, it's probably easier and more reliable to just assign the partition a drive letter or mount point.

Under Windows, you need to assign a partition a mount-point to use chkdsk on it. You can use the Computer Management snap-in (Start -> Run -> compmgmt.msc) or DISKPART to do this (see below for DISKPART instructions). If you go with the Computer Management method, go to the Disk Management section, where you need to assign the partition either:

  1. A drive letter (i.e. X:)
  2. A mount path (i.e. X:/MyDisc/)

After this, you should be able to run chkdsk on the particular mount-point of interest. The easiest and most reliable would probably be to mount it as a drive letter.


Alternatively, you can use DISKPART to assign the partition a letter. Fire up DISKPART, and type LIST DISK to find the disk, followed by SELECT DISK <N> (where <N> is the drive number). Follow the same steps to find the proper partition (i.e. LIST PARTITION followed by SELECT PARTITION <N>), and then simply type ASSIGN to have Windows mount the partition at the next new drive letter.

share|improve this answer
    
I can list the partitions on the bad drive but when I try to assign the partition it just hangs. Any ideas? –  neubert Dec 14 '12 at 0:45
    
@neubert as a next step, I would use TestDisk to attempt to find the partitions (and check their integrity), and finally to see if you can browse the drive (it has a file recovery mode you can use to browse partitions). –  Breakthrough Dec 14 '12 at 3:05
    
Not sure if things have changed since this answer, but Assign is for volumes not partitions. The Help text says: "Assign a drive letter or mount point to the selected volume". I tried following your steps and it told me "there is no volume specified" But, while my partition shows up, it is not listed as a volume" –  Vaccano Mar 17 at 21:46
    
@Vaccano is the filesystem damaged or incompatible with Windows? Unless it can be mounted, you cannot run chkdsk on it. –  Breakthrough Mar 18 at 0:19

Use the diagnostic utility from the drive vendor. Most major hard drive vendors offer these tools as a free download.

share|improve this answer

What you will have to do is use DISKPART

First, open up command prompt.

1.Goto start menu.

2.Type cmd and open it

3.Once in Command Prompt type

DISKPART

4.Then you are going to type

List Disk

5.Find your disk that has the file size of 69.71 GB

6.Then you need to type

List partition

7.Once you find the partition that you are wanting to run a chkdsk on look next to the partitions and they should be labeled by numbers. so choose the number of the partition and write the following command

Select patition 1

8.But replace the 1 with whatever number your drive letter is then type

Assign

9.That will then assign the partition a drive letter then you can run a chkdsk on that drive

chkdsk D: /f /r

10.Replace "D:" with whatever drive letter it is for your drive.

share|improve this answer
    
It hangs after I type in assign on the desired partition.. –  neubert Dec 14 '12 at 0:44
    
When you type assign, all it should be doing is mounting your drive and assigning it a drive letter. it shouldn't really hang. –  JustinD Dec 14 '12 at 13:22
    
Not sure if things have changed since this answer, but Assign is for volumes not partitions. The Help text says: "Assign a drive letter or mount point to the selected volume". I tried following your steps and it told me "there is no volume specified" But, while my partition shows up, it is not listed as a volume" –  Vaccano Mar 17 at 21:47

You should provide drive letter, volume name (use mountvol to obtain it), or mount point for "chkdsk", here is part of its help content:

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


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

You can assign one of these either graphically, by "Disk Management" -> Right click on the volume -> "Change drive letter and Paths...", or by command line (@JustinD explained that).

share|improve this answer

Linux's ntfsfix spits out a bunch of errors so I'm thinking chkdsk might be better.

I think it would be helpful to know what these errors are.

Also, have you tried mounting in linux? If the data is very sensitive I suggest cloning it to another drive as soon as possible. using something like;

dd if=/dev/sdc bs=2000K of=/path/to/raw/output.img

Also, you can mount that 'output.img' file within linux using a command similar to this;

mount -t ntfs-3g -o ro,loop,offset=<512*start sector> /path/to/raw/output.img

(The offset can be found using fdisk -l, and look at the start sector for ntfs partition and multiply by 512)

share|improve this answer

After trying some of the solutions without success. Here is what I did:

  • Change Directory to the Mounted Volume
  • execute "chkdsk ." ( . for current directory )

It scanned the Mounted Volume. I couldn't get it to work another way with the volume mounted.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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