43

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.

jonsca
  • 4,084
neubert
  • 7,574
  • 39
  • 94
  • 156

11 Answers11

58

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 without the trailing backslash:

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.

George
  • 282
LawrenceC
  • 75,182
7

LawrenceC's answer worked for me. If you have many volumes without drive letters (e.g. Recovery, etc) and don't know which GUID to use, though, here's a way that might be easier:

  1. Open Disk Management (diskmgmt.msc).
  2. Right-click on the volume you want to scan.
  3. Select Properties.
  4. Go to the "Security" tab.
  5. Copy the "Object name" string displayed at the top of the tab.
  6. Open a UAC-elevated command prompt.
  7. Type CHKDSK (along with the desired switches you want to pass, like /R or /X).
  8. Paste-in the string you copied in step 5.
  9. Remove the trailing slash.
  10. Press ENTER.
2

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.

Breakthrough
  • 34,847
2

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.

clst
  • 541
1

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

Dave M
  • 13,250
1

Open "Run" type in "diskmgmt.msc", this opens the disk manager. Find the drive, right-click on the drive, scroll to Change Drive Letters and Paths, you can then give it a dedicated drive letter. Every time you plug it into your computer, it will use the drive letter you assigned to it

0

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 partition 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

Type exit to leave diskpart

then type chkdsk D: /f /r

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

JustinD
  • 704
0

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).

IWIH
  • 109
-1
  1. User PowerShell
  2. Type cd "VOLUME PATH HERE"
    E.g.: \\?\Volume{46EABC76-E69A-432C-A699-1731301B5E32}\
  3. Then run chkdsk
Io-oI
  • 9,237
-1

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)

jredd
  • 906
-2

I was facing the same problem when I bought a new hard disk. I created three partitions: 200 GB, 200 GB, and 70 GB. Both of the 200 GB partitions were good and healthy, but the 70 GB one was in an unknown format. This causes the check disk problem while booting, so just do the below steps:

  1. Right click on "Computer" (or "My computer"), click on "Manage", and click on "Disk Management".
  2. There you find the partitions. Just click on one of the partitions which is light blue (logical drive), delete this volume, then unallocated it so that the disk space goes black color (unallocated). Then do 40/50 GB portion so that the other will remain unallocated.
  3. Then click on the new volume created and extend it. The problem will be solved.

No need to use the command prompt at all.