Hi All,
I have a 4TB drive that was originally in a PC connected via SATA. I now wish to put it in an external enclosure and connect it via USB, however this is proving more difficult than I expected, and from what I understand it’s Windows XP’s fault.
On attempting to mount the drive with sudo mount /dev/sdc /mnt
, I receive the following error:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error.
The output of fdisk -l
is as follows:
Disk /dev/sdc: 3.64 TiB, 4000787025920 bytes, 976754645 sectors
Disk model: Expansion Desk
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdc1 1 4294967295 4294967295 16T ee GPT
As can be seen, the disk is detected correctly as a 3.64TiB drive, but there is a partition that’s read as 16TB. This, AFAIK, is because the sectors are incorrectly read as 4096 bytes long when they should be 512 bytes, and this is a thing that external enclosures do to ensure MBR compatibility with Windows XP.
I tried overcoming this by mounting as follows:
$ sudo mount -o ro,offset=$((1*512)) /dev/sdc1 /mnt
however now I have a new error:
mount: /mnt: failed to setup loop device for /dev/sdc1.
Trying to mount with sudo mount /dev/sdc1 /mnt
only yields
mount: /mnt: special device /dev/sdc1 does not exist.
I’m at a loss as to how to mount this drive - at least, without reformatting it. Is it at all possible? Once I’ve cracked the code, can I configure /etc/fstab
to do it automatically for me, or am I stuck in this limbo-land where I have data on my disk that’s only readable with a hacky workaround? As a last resort, I think I can plug it back in via SATA, copy all 4TB off, plug it in via USB, reformat it and copy everything back on, but I want to avoid that hassle.
Edit: Output of fdisk -l
when connected via SATA. Note the sector size is now 512 and the drive mounts happily.
Disk /dev/sdb: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: HGST HDN724040AL
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 5852E3A7-A2E4-4589-9D93-F8020C2D7E54
Device Start End Sectors Size Type
/dev/sdb1 2048 7814035455 7814033408 3.7T Linux filesystem
Bonehead ( @Bonehead@kbin.social ) 3•1 year agoI noticed in all of this that you haven’t done a fsck on the partition yet. This will tell you more than fdisk and likely fix the problem for you.
ares35 ( @ares35@kbin.social ) 3•1 year agoi have a some sata->usb adapters/enclosures/docks that can’t be used with > 2tb drives or with 4Kn (native 4k sectors, no 512 emulation) drives. i also have a 2-bay cheap nas that can only do 2x1tb or smaller and there’s no new firmware or hacks to ‘fix’ it even though it’s linux under-the-hood.
start with hooking it back up to sata to copy anything on it you want elsewhere, check the filesystem, and run the extended diagnostics.
onTerryO ( @onTerryO@lemmy.ca ) English1•1 year agoThis is the most likely problem. There is no way the output from fdisk should be different between the two connections (the USB and SATA) if they are both working correctly.
ReversalHatchery ( @ReversalHatchery@beehaw.org ) 2•1 year agoProbably I’m wrong, but it feels like nobody has read the post. As I understand it’s not a problem between 2 computers, but 1 computer and the drive being connected over USB with an enclosure or normally through SATA.
walden ( @walden@sub.wetshaving.social ) 3•1 year agoHow is the disk formated? NTFS?
It’s ext4.
Jo Miran ( @JoMiran@lemmy.ml ) 2•1 year agoSo you reformatted the disk after you pulled it from the XP machine?
It’s never been in a Windows machine.
ReversalHatchery ( @ReversalHatchery@beehaw.org ) 4•1 year agoSorry man, I’m reading the comments and it seems as if nobody has read the post, and that people completely misunderstand details. What the hell is it with people. I don’t have a solution for you, but I feel your pain.
Haha thanks. I think it’s a lost cause! Perhaps I shouldn’t have worded the post the way I did.
yo_scottie_oh ( @yo_scottie_oh@lemmy.ml ) English2•1 year agoHave you tried any GUI tools, e.g. Gnome Disks?
No - I’ve been working on a headless server, and ideally I need this thing to be written into
/etc/fstab
and work reliably from the command line. I could plug the drive into my laptop to have a look in some GUI tools if you think there’s one around that can circumvent the sector size mismatch, but in the end I’ll need a CLI method. yo_scottie_oh ( @yo_scottie_oh@lemmy.ml ) English1•1 year agoGotcha. Worst case, if you can mount it using any tool (GUI or CLI), then maybe you can copy its contents to another drive, reformat it, and copy the contents back.
yannic ( @yannic@lemmy.ca ) 2•1 year agoI have no experience in this specific matter, but you could look up how to switch the sector size from 512 bytes to 4096 and, you know, just do the opposite.
lemmyreader ( @lemmyreader@lemmy.ml ) 1•1 year agoFew years ago I had a collection of maybe fifteen old disks, which I wanted to get rid of, by means of recycling. First I wanted to check the content and then format all so I put them in an external enclosure. It turned out that some disks were unusable. A closer inspection showed that these were all a certain brand and type (Forgot whether it was Seagate or Maxtor or WD). These disks would probably still do fine in a desktop or server computer (Which I no longer had at home) but not with the external enclosure. Perhaps your enclosure is the bottleneck here as well.
BCsven ( @BCsven@lemmy.ca ) 1•1 year agoLooks like ee is legacy mbr type with an EFI entry right after it, it could be that somebody has solved mounting this if you deep dive. And maybe an additional package is needed. Buy are you able to remount to sata and just transfer data? becuase you would want to reformat this to a modern GPT and filesystem at some point. Or see if you can pass it through to an XP VM for data transfer.
Possibly linux ( @possiblylinux127@lemmy.zip ) English1•1 year agoWhy were you using Windows XP? I don’t think it was even optimized for such large drives
I’m not using Windows. I run Debian on this server.
The bulk of external enclosures that money can buy tell the computer they’re plugged into that the disks have logical sector sizes of 4096 bytes, apparently for compatibility with >2TB drives on Windows XP.
I do not need compatibility with Windows XP as the current year is 2024. My disk has logical sectors 512 bytes in size, but the external enclosures don’t report that. I want to know how I can mount the disk anyway, despite the enclosure’s attempts to thwart me. I know the disk is fine, as it is detected with 512 byte sectors and mounts happily via SATA.