39

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,077
  • 15
  • 35
  • 47
neubert
  • 6,863
  • 35
  • 76
  • 138
  • 1
    Why can't you just assign a drive letter to it? – Zoredache Dec 13 '12 at 08:17
  • The answer from LawrenceC is correct and works. Why didn't you accept it as the answer? – Francisco Zarabozo Oct 04 '18 at 08:29
  • 3
    @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 04 '18 at 12:31

11 Answers11

51

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.

Cristian Ciupitu
  • 5,513
  • 2
  • 37
  • 47
LawrenceC
  • 73,030
  • 15
  • 129
  • 214
  • 10
    It doesn't work when there's no mounting point or a drive letter. – DevAntoine Jan 12 '14 at 14:03
  • 2
    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
  • 23
    Works for me on volume w/o letter. Don't forget to avoid last \ in volume name. – LogicDaemon Nov 27 '14 at 06:45
  • It worked for me just like this ````chkdsk "\\?\Volume{eb38d03c-29ed-11e2-be65-806e6f6e6963}" /f/v/x```` – razor7 Dec 29 '15 at 12:43
  • Did not work for me on SBS2011Std. (`Microsoft Windows [Version 6.1.7601]`) So I gave up, assigned a drive letter, scanned, then unassigned the drive letter. – StackzOfZtuff Aug 03 '16 at 09:59
  • It said NO MOUNT POINTS. `chkdsk` ran successfully and didn't report any error. However the partition still cannot be mounted. – xji Mar 24 '17 at 14:24
  • Windows doesn't recognize the format of the partition then. Is it NTFS, FAT32, exFAT or something else? `cfdisk` on Linux can tell you what it is. – LawrenceC Mar 24 '17 at 15:31
  • It is NTFS. It's a quite curious situation: The drive was being normally recognized in Windows, **but not in Ubuntu**, before I reinstalled Windows due to some system error. Now, after the Windows system reinstall, Windows can't recognize it either. I downloaded [`TestDisk`](http://www.cgsecurity.org/wiki/TestDisk) per a comment below and it suggests a "None" partition table type for this drive. I proceeded to perform a quick search and selected "list files", and all my files are there and can be read by `TestDisk`! – xji Mar 24 '17 at 22:29
  • So it appears that now the problem is to build a correct partition table, but I'm not sure how to proceed now. Sorry I don't have much experience on this. Does this current situation suggest that the drive itself is broken, but I can still read and copy the original files out? Or is there still a way to rescue this drive and use it normally again. – xji Mar 24 '17 at 22:29
  • Asked a new question at https://superuser.com/questions/1192154/recovering-ntfs-partition-with-testdisk – xji Mar 24 '17 at 23:10
  • Testdisk can copy the files off. – LawrenceC Mar 24 '17 at 23:24
  • 1
    you can also try ***wmic volume get deviceid*** to view volume ids – user283868 Feb 21 '16 at 00:42
  • `chkdsk` runs very quickly and reports no errors, it obviously didn't check any sectors, and I instructed it to scan and repair with `/r`. – mFeinstein Jul 28 '20 at 06:50
  • 9
    For everyone for whom this doesn't work, if you are using a volume name with `chkdsk`, make sure that **you do not have a trailing backslash after the right brace of the UUID!!** – Michael Goldshteyn Nov 17 '21 at 16:17
6

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.
GuyPaddock
  • 753
  • 8
  • 7
  • 1
    For me, for some unknown reason, almost each entry in the list has the Properties option grayed out. – Mike Nov 18 '21 at 18:58
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,227
  • 10
  • 105
  • 149
  • 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 00:45
  • 1
    @neubert as a next step, I would use [TestDisk](http://www.cgsecurity.org/wiki/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 03: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 00: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
  • Asked a new question at https://superuser.com/questions/1192154/recovering-ntfs-partition-with-testdisk – xji Mar 24 '17 at 23:10
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
  • 521
  • 3
  • 5
1

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

Dave M
  • 13,138
  • 25
  • 36
  • 47
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
  • 1
  • 7
  • 14
  • It hangs after I type in assign on the desired partition.. – neubert Dec 14 '12 at 00: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
  1. User PowerShell
  2. Type cd "VOLUME PATH HERE"
    E.g.: \\?\Volume{46EABC76-E69A-432C-A699-1731301B5E32}\
  3. Then run chkdsk
Io-oI
  • 7,588
  • 3
  • 12
  • 41
-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).

IWIH
  • 99
  • 2
-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
  • 886
  • 5
  • 9
-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.