Can't mount exfat external hard disk drive: "Volume was not properly unmounted."

Ubuntu Version:

Ubuntu 24.04

Result of uname -a

Linux loic-asus 6.8.0-54-generic #56-Ubuntu SMP PREEMPT_DYNAMIC Sat Feb 8 00:37:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Desktop Environment (if applicable):

Default Ubuntu (Gnome?)

Problem Description:

I can’t mount my HDD anymore. After the last time I used it, I clicked “Remove safely” in my file browser (default Gnome file explorer), and now I can’t read data on it anymore.

When I try to mount my Hard Drive, I get the following popup error:

Error mounting /dev/sdb1 at /media/[…]: can’t read superblock on /dev/sdb1

What I’ve tried

Here are some diagnostic commands I ran:

# fdisk -l
Disk /dev/sdb: 465.73 GiB, 500074283008 bytes, 976707584 sectors
Disk model: Elements 10A8
Units: sectors of 1 × 512 = 512 bytes
Sector size (logical / physical): 512 bytes / 512 bytes
I/O size (minimum / optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xf2c19c1e

Device     Boot Start       End   Sectors   Size  Id Type
/dev/sdb1        256  976707583  976707328  465.7G  7 HPFS/NTFS/exFAT
# fsck.exfat /dev/sdb1
exfatprogs version : 1.2.2
too long label. 139
failed to read volume label
invalid start cluster of allocate bitmap. 0x34c04c90
failed to read bitmap
failed to verify root directory.
/dev/sdb1: clean. directories 1, files 0

# mount /dev/sdb1 /media/myself/Medias/
mount: /media/myself/Medias: can't read superblock at address /dev/sdb1.
       dmesg(1) may have more information after failed mount system call.

and here is the messages seen in dmesg when trying the previous mount command:

[ 1439.474346] exFAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 1439.516358] exFAT-fs (sdb1): failed to read sector(0xd57a397000)
[ 1439.516365] exFAT-fs (sdb1): failed to load upcase table
[ 1439.516367] exFAT-fs (sdb1): failed to recognize exfat type

I used TestDisk to analyze the partitions, it did not find any error, and proposed to write the new partition structure, here is the log:

Analyse Disk /dev/sdb - 500 GB / 465 GiB - CHS 60797 255 63
Geometry from i386 MBR: head=255 sector=63
Current partition structure:
1 P HPFS - NTFS 0 4 5 60797 59 62 976707328
No partition is bootable

search_part()
Disk /dev/sdb - 500 GB / 465 GiB - CHS 60797 255 63
HPFS - NTFS 0 4 5 60797 59 62 976707328
exFAT, blocksize=131072, 500 GB / 465 GiB

Results
L HPFS - NTFS 0 4 5 60797 59 62 976707328
exFAT, blocksize=131072, 500 GB / 465 GiB

Hint for advanced users: dmsetup may be used if you prefer to avoid rewriting the partition table for the moment:
echo “0 976707328 linear /dev/sdb 256” | dmsetup create test0
add_ext_part_i386: max
add_ext_part_i386: min

interface_write()
1 E extended LBA 0 1 1 60797 59 62 976707521
5 L HPFS - NTFS 0 4 5 60797 59 62 976707328
write!

write_mbr_i386: starting…
write_all_log_i386: starting…
write_all_log_i386: CHS: 0/1/1,lba=63
You will have to reboot for the change to take effect.

TestDisk exited normally.

exfat is a Windows file system.
Generally, it is advisable to use Windows utilities to check/repair Windows file systems.

Have you run Windows chkdsk on this device?

Thanks for your answer. I think I partitioned this HDD with GParted in Ubuntu, so it works with Ubuntu and Windows OSes.
I ran chkdsk on this drive, but after ~30 hours of running, I stopped this program. I’m now back at the start.

500 GB isn’t too large (though it depends on the system, the drive, etc. - how many cores in the system?).

Can you back it up with clonezilla, (or rescuezilla, etc.)?

If it backs up, then you might be better off backing it up and rebuilding it.

Backup is a good idea regardless.

It sounds to me like there is an error on the drive. If it ran for 30hrs on chksdk with no results then I would write it off and get a new drive, they are cheap enough these days. I have had similar experiences with exfat and now just use ntfs, exfat seems to be very flaky. If you have data you consider valuable, you need to consider just how much of your productive time you can realistically put into recovery attempts. There are commercial companies that specialise in data recovery, they are very, very expensive. So you need to weigh up the cost not just in monetary terms but also in terms of your own life and how many hours of your life you are willing to devote to most likely fruitless recovery attempts. You will never get those hours back! Maybe you can re-create the data from scratch if you still have the source material. I’ve been there and done that! Backup,backup backup!

1 Like

I’ve chosen to simply reformat my HDD! Thank you all for your replies

Reformatted to what?

If it was me, I would use smartmontools to check drive health and integrity.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.