28

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.

  • 1
    Why can't you just assign a drive letter to it? – Zoredache Dec 13 '12 at 8:17
  • The answer from LawrenceC is correct and works. Why didn't you accept it as the answer? – Francisco Zarabozo Oct 4 '18 at 8:29
  • @FranciscoZarabozo - the answer came almost a year after I asked the question and I'm not going to go mounting a hard drive, now, just to test an answer to a question that long ago ceased to have relevance to my life. I'm also not going to mark something as the answer without verifying it nor am I going to mark something as the answer simply because it has more upvotes than any other answer. – neubert Oct 4 '18 at 12:31

10 Answers 10

33

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.

  • 5
    It doesn't work when there's no mounting point or a drive letter. – DevAntoine Jan 12 '14 at 14:03
  • 1
    This didn't work here. It just checked the current disk. – clst Jul 14 '14 at 12:11
  • Oh well, I figured it was a long shot. :( – LawrenceC Jul 14 '14 at 13:07
  • 9
    Works for me on volume w/o letter. Don't forget to avoid last \ in volume name. – LogicDaemon Nov 27 '14 at 6:45
  • 1
    you can also try wmic volume get deviceid to view volume ids – user283868 Feb 21 '16 at 0:42
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.

  • 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
  • 1
    @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 '14 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 '14 at 0:19
  • Thanks to your comment, I downloaded TestDisk. It suggested "None" as partition table type on this drive, but I could still proceed to list all the original files I stored there. Is there still a way to create a partition table, rescue the drive and use it normally again, or does the current situation suggest I can still read and copy the original files out, but nothing further than that? Sorry, I'm not very familiar with this. – xji Mar 24 '17 at 22:34
2

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

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

1

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.

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.

  • 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
  • 3
    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 '14 at 21:47
-1

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

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

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

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.