I used to have a small home server with two attached USB disks, both formatted as ext4. Now I bought some new hardware, took the disks out of their USB case and installed them in the new server.

In the new server I can't manage to mount or even see some realistic information about the disks. They aren't listed in /dev/disk/by-uuid. They even don't show up with "sudo blkid".

Anyone an idea what could have happened and how I could get my disks (and their data) back?

migrated from serverfault.com Dec 5 '15 at 21:23

This question came from our site for system and network administrators.

  • What type of disks are they? What are they connected to? Do they show in the BIOS? The controller? – qasdfdsaq Dec 5 '15 at 21:29
  • They are both WD Green (3TB and 5TB). Actually they show up but not as partition, only as device. I just checked gparted and it shows a really strange partitioning (582GB allocated, the rest not), together with a msdos partition table. I bought the new machine because on the old the root filesystem went readonly all the time so I supposed some controller error (okay and christmas is coming :-) ). Could the disks be damaged by a damaged controller? – peez80 Dec 5 '15 at 21:41
  • The disks are fine then. You haven't partitioned them by the sounds of things. – qasdfdsaq Dec 5 '15 at 21:42
  • They actually should be partitioned since they ran in the old system (I have about 4TB data on it) – peez80 Dec 5 '15 at 21:46
  • It doesn't work like that. You need to erase and repartition them. – qasdfdsaq Dec 5 '15 at 21:47

Your disks are fine and are being recognized fine.

Your partitions aren't being recognized because the sector sizes are incompatible. The maximum disk size supported by standard 512-byte sectors on an MBR drive is 2TB. In order to allow larger drives, many USB adapters (such as yours) use proprietary 512 => 4096 byte sector translations and pretend to have 4096 byte sectors when the drive behind it actually doesn't.

Since locations on a drive are referenced by their sector number, trying to read a partition or filesystem set up with a sector size of 4096b in a system that detects the true sector size of 512b will mean every address, size, and location is off by a factor of 8.

This means cannot simply take a drive set up with this translation and use it in a system without. You need to erase the drive and repartition it, or put it back in the original USB adapter and transfer the data off to elsewhere.

Alternatively it's theoretically possible to implement the sector-size translation in software, using e.g. a loopback device under Linux, though this is sub-optimal, and I've not actually seen it done.

  • Holy s**t.. really? I don't have backups... The smaller one actually was my backup disk... – peez80 Dec 5 '15 at 21:51
  • Then put them back in their USB enclosures. – qasdfdsaq Dec 5 '15 at 21:52
  • That's what was in my mind currently, too. Thanks for the clarification! – peez80 Dec 5 '15 at 21:52
  • So after re-partitioning the drives, the sectors for those drives will be 512 bytes? – jiggunjer Dec 21 '15 at 2:54

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.