Hi,
On 2020-04-30 13:17, Wols Lists wrote:
All I can suggest is to check the kernel and see if it's an option that
has been disabled (512-byte sectors, that is).
As far as I know the kernel still uses 512 bytes internally [1], and I
do not recall having seen an option that enables or disables support for
512/4K sectors.
That said, the problem may well be stemming from a sector size
discrepancy, but as I understand it, it would have to do with how and
when the partition table was created. That is, like described in [2],
some USB enclosures seem to be a bit overzealous with obscure features,
and might take eight disk sectors and bundle them together into one 4K
sector.
If the disk was partitioned in the exact same enclosure, and is read
from the exact same enclosure right now, there shouldn't be any
problems. Is this the case, Meino?
Also, when did you last access the drives successfully, and with which
system?
On 2020-04-30 11:32, Meino wrote:
Disk /dev/sdb: 931.49 GiB, 1000170586112 bytes, 1953458176 sectors
Disk model: Elements 25A2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x16f2a91f
Device Boot Start End Sectors Size Id Type
/dev/sdb1 1 1953458175 1953458175 931.5G ee GPT
Interestingly, this reads *exactly* like the Protective MBR [3] that GPT
has. That is, the disklabel type is DOS whilst the partition ID is EE.
There's a single partition that spans the entire drive (and it's also
seemingly not aligned properly - usually you see Start at 2048).
As a comparison, here's the output from fdisk for the Protective MBR
from one of my GPT drives:
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdc1 1 4294967295 4294967295 2T ee GPT
I'd assume that the missing disk identifier here is coming from
different tools writing the protective MBR differently.
With that said, are you absolutely certain that you did not partition
this drive with GPT instead of MBR? Did you do the partitioning in
something like fdisk (which asks you specifically what you want), or
some other application? Did you maybe format this drive on a Windows
system?
I'm not one to discount entirely strange things happening, but I have
never before seen a proper MBR laid out like a protective MBR. Indeed it
would be quite impossible to have systems access data through such a
table, since the partitions are hidden within that one huge contiguous
block.
Ordinarily I'd point to fdisk not reading the partition table properly,
but it seems that although your kernel has support for GPT, it doesn't
seem to see the partitions either (assuming a proper GPT exists at all).
Do you have some other GPT drives you can access successfully?
I'd say that this requires some more forensic work. Perhaps extracting
the first few megabytes of the disk and seeing whether there's a proper
GPT or not. This would of course require manual work.
A few more things to try:
To see what the kernel uses for a particular disk, you can run the
following: cat /sys/block/sdb/queue/{physical,logical}_block_size
fdisk takes a sector size with -b, --sector-size (should be
non-destructive as long as you don't write anything, but I am not sure).
Also, fdisk has a compatibility mode for dos with -c=dos. Might be worth
a short.
fdisk should support GPT starting with util-linux 2.23, but you can also
try gptfdisk (it's in the tree).
Hope this helps.
[1] https://github.com/torvalds/linux/blob/master/include/linux/types.h#L120
[2]
https://superuser.com/questions/679725/how-to-correct-512-byte-sector-mbr-on-a-4096-byte-sector-disk/679800#679800
[3] https://en.wikipedia.org/wiki/GUID_Partition_Table#PROTECTIVE-MBR
--
Wolf