#StackBounty: #hard-drive #external-hard-drive #mbr How to 'fix' disk with 512-byte sectors, formatted using an enclosure that …

Bounty: 100

I have a 1TB hard disk with 512-byte sectors that I have been using through a USB disk enclosure for a good many years. However, the enclosure has now died.

When I transferred it to a new enclosure I found that Windows doesn’t read it – it just shows up as a ‘Local Disk’.

From various research, I have found that the cause is that the original USB enclosure was translating the 512-byte sectors on the disk and presenting them to the outside world as 4k sectors, instead. The new enclosure is not doing this, which is why the disk cannot be read.

I have found a question which sounds like a similar problem (How to correct 512-byte sector MBR on a 4096-byte sector disk?), but (a) from my reading, this sounds like the opposite of my situation; and (b) it doesn’t describe the actual steps needed to fix the problem (just a general approach).


The theory

Aside from attempting to find another enclosure that does the same kind of translation (which feels like just kicking the can down the road, and an unnecessary expense) the solution, as far as I can glean, is to fix the values in the MBR so that they reflect the real 512-byte disk geometry rather than the previously perceived 4k geometry.

As the partition table sizes are all defined in terms of numbers of sectors, I will need to convert the existing values, which specify the size in 4k sectors (i.e. ByteOffset = N x 4096) so that they instead contain the equivalent value of N for 512-byte sectors (i.e. ByteOffset = N x 512). In other words, I need to multiply each of these values by 8.

Q1: Am I correct – is that all I need to do, or is there more complexity to it than that?


The practice

Assuming the above solution is correct, what I am really asking for is whether there is a tool or a set of clear instructions that anyone can provide so that I am able to make these changes to the disk. The less-risky, the better! (For example, tools for direct editing the MBR fields by entering decimal numbers would be preferable to having to deal with hex-values directly on disk.)

Q2: What tool(s) should I use for this (based on the above criteria)?

Q3: What fields/offsets do I need to edit? (The disk has a single partition which fills the disk.)

Note that I have access to the following systems: Windows XP, Windows 10, Ubuntu 15.4. My preference would be for a Windows solution, but a Linux solution would be fine if that is necessary – I am comfortable using the command-line.

Also, I have done byte-level manual disk editing tasks in the past, so this is a possibility if there really is no better way to resolve this.


Get this bounty!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.