Unable to mount HDD partition

I have a 2TB HDD in my PC that has two partitions, one for a defunct install of Windows 10 and one just for file storage which I named “Archive”. For a long time now I have been unable to mount the archive partition, when I try I get the following error
“Unable to mount Archive
Error mounting dev/sda3 at /run/media/Brandon/Archive: wrong fs type, bad option, bad superblock on dev/sda3, missing codepage or helper program, or other error”

I had assumed the drive was bad or corrupted, but just yesterday I tried it again and it mounted no problem. I was able to go through all the files on it and everything seemed in order. Today it seems the problem has come back. The other partition on the drive has no issues mounting. I don’t understand what this error message is saying or how to fix it, any help would be greatly appreciated

PC specs:
System:
Kernel: 6.6.47-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1 clocksource: tsc
Desktop: Cinnamon v: 6.2.9 tk: GTK v: 3.24.43 wm: Muffin v: 6.2.0 vt: 7 dm: 1: LightDM
v: 1.32.0 2: SDDM note: stopped Distro: Manjaro base: Arch Linux
Machine:
Type: Desktop System: Gigabyte product: Z370 AORUS Gaming 5 v: N/A serial:
Mobo: Gigabyte model: Z370 AORUS Gaming 5-CF v: x.x serial:
uuid: UEFI: American Megatrends v: F5 date: 03/02/2018
CPU:
Info: 6-core model: Intel Core i7-8700K bits: 64 type: MT MCP smt: enabled arch: Coffee Lake
rev: A cache: L1: 384 KiB L2: 1.5 MiB L3: 12 MiB
Speed (MHz): avg: 800 min/max: 800/4700 cores: 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800
8: 800 9: 800 10: 800 11: 800 12: 800 bogomips: 88824
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
Device-1: NVIDIA AD104 [GeForce RTX 4070] vendor: Micro-Star MSI driver: nvidia v: 550.107.02
arch: Lovelace pcie: speed: 2.5 GT/s lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:2786 class-ID: 0300
Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.2 driver: X: loaded: nvidia
gpu: nvidia display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 68 s-size: 1434x807mm (56.46x31.77")
s-diag: 1645mm (64.78")
Monitor-1: Unknown-1 mapped: HDMI-0 res: 3840x2160 dpi: 69 size: 1420x800mm (55.91x31.5")
modes: 1024x768
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2 drv: swrast gbm:
drv: kms_swrast surfaceless: drv: nvidia x11: drv: nvidia inactive: wayland,device-1
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.107.02 glx-v: 1.4
direct-render: yes renderer: NVIDIA GeForce RTX 4070/PCIe/SSE2
API: Vulkan v: 1.3.279 layers: 5 surfaces: xcb,xlib device: 0 type: discrete-gpu driver: nvidia
device-ID: 10de:2786
Info:
Memory: total: 32 GiB available: 31.29 GiB used: 3.22 GiB (10.3%)

What is the format?

Is it ntfs?

If it is ntfs - was it properly unmounted previously?

We often see this error when ntfs3 module refuses to mount a drive that has a dirty bit set - this often occurring when, for example, a windoze session is not properly shut down.

( Some will say you should use ntfs-3g … but this just gets around the problem and exascerbates it because continuing to use a partition that is erroneous will cause continual damage. )

The best way to handle this is to use something like chkdsk on windoze, and then treat the partition properly moving forward. No - you should not use some form of ntfsfix or fsck-ntfs or whatever else you might find - these only remove the dirty bit, they fix nothing.

But thats just a guess.

Please provide us with some information.

Such as

cat /etc/fstab
lsblk -f

As another thought is if it is actually set to use /dev/sda3 instead of a UUID, this would not be reliable. Causing outcomes such as yours. In this case the answer is to use a UUID.

PS.

Please try to fromat your outputs either using the </> button in the editor or by enclosing the code using tics like so:

```
< code here >
```

Thanks for the response. It is an ntfs partition, please see below for the lsblk output. I’m not sure why it would have ever been unmounted to begin with, it is a permanent HDD in the computer, connected by SATA, not USB. At the very least I have never intentionally unmounted it. Unfortunately I am unable to boot windows, haven’t been able to for a long time, but that’s another topic. Are there any chkdsk equivalents I can do from Manjaro?

NAME FSTYPE FSVER LABEL    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0
                                                                      0   100% /var/lib/snapd/snap/bare/5
loop1
                                                                      0   100% /var/lib/snapd/snap/core/16928
loop2
                                                                      0   100% /var/lib/snapd/snap/core18/2823
loop3
                                                                      0   100% /var/lib/snapd/snap/core/17200
loop4
                                                                      0   100% /var/lib/snapd/snap/core18/2829
loop5
                                                                      0   100% /var/lib/snapd/snap/core20/2264
loop6
                                                                      0   100% /var/lib/snapd/snap/core20/2318
loop7
                                                                      0   100% /var/lib/snapd/snap/core22/1586
loop8
                                                                      0   100% /var/lib/snapd/snap/core22/1612
loop9
                                                                      0   100% /var/lib/snapd/snap/gaming-graphics-core22/166
loop10
                                                                      0   100% /var/lib/snapd/snap/gnome-3-28-1804/194
loop11
                                                                      0   100% /var/lib/snapd/snap/gnome-3-28-1804/198
loop12
                                                                      0   100% /var/lib/snapd/snap/gnome-3-38-2004/140
loop13
                                                                      0   100% /var/lib/snapd/snap/gnome-3-38-2004/143
loop14
                                                                      0   100% /var/lib/snapd/snap/gnome-42-2204/172
loop15
                                                                      0   100% /var/lib/snapd/snap/gnome-42-2204/176
loop16
                                                                      0   100% /var/lib/snapd/snap/gtk-common-themes/1535
loop17
                                                                      0   100% /var/lib/snapd/snap/simplescreenrecorder/1
loop18
                                                                      0   100% /var/lib/snapd/snap/snapd/21465
loop19
                                                                      0   100% /var/lib/snapd/snap/snapd/21759
loop20
                                                                      0   100% /var/lib/snapd/snap/spotify/77
loop21
                                                                      0   100% /var/lib/snapd/snap/spotify/78
loop22
                                                                      0   100% /var/lib/snapd/snap/steam/200
loop23
                                                                      0   100% /var/lib/snapd/snap/wine-platform-6-stable/19
loop25
                                                                      0   100% /var/lib/snapd/snap/wine-platform-runtime/389
loop26
                                                                      0   100% /var/lib/snapd/snap/zoom-client/228
loop27
                                                                      0   100% /var/lib/snapd/snap/zoom-client/230
loop28
     squash 4.0                                                       0   100% /var/lib/snapd/snap/wine-platform-runtime/390
sda                                                                            
├─sda1
│                                                                              
├─sda2
│    ntfs                  DED6FAE4D6FABBB9                      560.5G    40% /run/media/brandon/DED6FAE4D6FABBB9
└─sda3
     ntfs         Archive  264078ED4078C559                                    
nvme0n1
│                                                                              
├─nvme0n1p1
│    vfat   FAT32 NO_LABEL A82C-ADFC                             299.1M     0% /boot/efi
├─nvme0n1p2
│    ext4   1.0            54863de4-0ca3-4508-b634-f7d5eb9fe747  663.3G    58% /
└─nvme0n1p3
     swap   1     swap     29eb334c-60e3-439c-a12b-7e0667d31429                [SWAP]

Please show the contents of /etc/fstab also.

But it does sound like the first guess may have been correct.

In that case

No.
NTFS is a proprietary (trash) filesystem made by microsoft. You must use MS tools to deal with it. There are no open source or linux equivalents.
You may be able to use a PE edition of windoze though, such as Hirens

https://www.hirensbootcd.org/

Also - if you dont use windoze… You should probably endeavor to use some other format.
Try to take some time at some point to copy your files off and reformat as ext4 or whatever filesystem of your choice. But choose one made for linux. If interoperability is of any concern then exfat is a common choice for things like USBs.

PS.

On an entirely different subject - you probably want to deal with your multiple redundant SNAPs as well.

2 Likes

Apologies, I thought you wanted one or the other. Here is the fstab output below. Originally when creating that partition I wanted a filesystem that was compatible with both Windows and Linux to make it easier to share files between the OSes. By the time Windows died there was already enough stuff on the partition that it didn’t seem worthwhile to try and reformat

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=A82C-ADFC                            /boot/efi      vfat    umask=0077 0 2
UUID=54863de4-0ca3-4508-b634-f7d5eb9fe747 /              ext4    defaults,noatime 0 1
UUID=29eb334c-60e3-439c-a12b-7e0667d31429 swap           swap    defaults,noatime 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

Yeah I had no idea what those were doing so I didn’t wanna mess with them because everything seemed to be working. My knowledge of Linux is fairly basic, I’ve only been using it full time for four years so I still have a lot to learn

Fair enough.
But cases like these make a decent argument to handle it, at least when you can.
Because if it were ext4 for example, then you would just fsck it and be done.
With this proprietary filesystem we simply cant using linux.

This looks fine. It uses UUID as it should.
Though it contains no specific rule for this device (which is also fine).

Maybe at least begin with

sudo snap refresh

So essentially what I need to do then is get windows running and run chkdsk on the drive. Will that actually repair it? or just diagnose the issue?

Thats the only way to properly repair an NTFS filesystem.

But as mentioned above you may not technically need the full/true windoze OS.
A PE clone like Hirens on a USB may suffice.

The following article might be useful for reference:

If you happen to have a Windows Installer DVD/ISO/USB, it’s also possible to boot that and use the Command Shell to run chkdsk (before Windows Setup begins).

Note that chkdsk can both scan for and repair file system errors using the basic chkdsk.exe /f x:. However, if you suspect the disk might have bad sectors, then another sequence of switches should be used (as described in linked page).

Scanning for and repairing bad sectors could take an extended amount of time during which the process must not be interrupted.

However, I would strongly support the recommendation by @cscs to move data you wish to keep to a safe temporary location, and repurpose your NTFS partitions as Linux storage (using ext4, for example). Especially if you do not intend using Windows going forward.

Unfortunately, I’ve had to do this myself a short while ago. A disk in the dock, which I’ve had in there for years and used for spill-over storage (DVD .ISOs mainly), still with NTFS partitions on it, developed a fault and wouldn’t mount.

So, cue the teeth-pulling experience which is running up a Windows 11 VM, finding the dang mouse pointer area doesn’t align properly with the area defined by the VM’s window, then after much guessing and pointer-wrestling finally getting to the command prompt and fixing the thing.

Drive in this case removed from dock (attached to other machine) and connected to this one via SATA → USB cable, mapped to VM’s USB3 interface. Job done, but time to move that data to something more appropriate.

I think there might be a lesson here: if you intend to use Linux as your daily driver, don’t keep legacy NTFS (etc.) partitions lying around as they will bite you in the proverbial, when you are right in your comfort zone.

1 Like

There where ready to run VM images of windows, fully functional, but only for a limited time counted from installation time, intended to do browser testing.
Have used one of these myself, to run a car OBD2 software …
And there apparently still are.

No need to suffer through an installation.

https://github.com/mandiant/flare-vm/issues/434

https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/

1 Like

Last time I created something similar was with Windows 10 – the finished project was (from memory) around 19 GB.

Downloading something like this for one-time usage seems like overkill to me, when a Windows PE environment ISO is much smaller, and totally reusable any time chkdsk or other M$ tools might be needed.

I created two “Windows To Go” USB’s a while ago in case I ever needed them (256 GB USB), but I found the Windows 11 USB was incredibly sluggish compared to the Windows 10 version.

However, for those who think the linked M$ offerings might be a good idea, I’d suggest downloading a Windows 10 option instead, for the sake of general performance.

1 Like

That may well be true - and in all likelihood is.

My point in response to @BG405 was:
no need to install Windows from scratch - there are ready to use images for various VM’s

Windows PE like Hirens would do the job (checking and fixing the file system) just fine, of course.

1 Like

It is.

M$ had downloadable (scaled down) Windows 7 ISO/VM’s (years ago, for WebDev testing of Edge/IE). They would be considerably lighter, if one could find them still (possibly on archive.org) – chkdsk will still work as expected.

The moral to this story: there are always options.

2 Likes

exactly

that was my point

2 Likes

No need to worry about that, I already had the VMs set up. I suppose I could have used the xp one though! But … the thing wanted to update itself, which was a stark reminder of one of the many reasons I keep those OSes in a cage, to be poked at out of curiosity.

Remember that chkdsk in Windows XP is 32bit. While this arguably shouldn’t make any difference, there might be cases where the 64bit command-line tools are preferred.

Also, there may be subtle differences between tools of that vintage and those recommended for the later NTFS incarnations. That said, I’m not aware of anything significant.

1 Like

That is a good point. Like you say, it might not make a difference, especially since the disk partitions were created using a 32-bit version of Windows in the first place. I’d forgotten about that though, since I’ve been on 64-bit OSes for years now.

Off topic:- I’m consistently amused by the amount of people who might chastise and correct me, any time that I mention I still have Windows XP 64bit installed.

1 Like