Linux gives error "GPT PMBR size mismatch will be corrected by w(rite)."

The error message is far from self-explanatory. Does this mean that Linux will (attempt to) resize the GPT partition boundaries if I mount and try to write to the disk? If so... how does it try to do this? Does it know about the issue with 512e / 4k sector size emulation?

Other users experiencing this issue have rewritten the partition table manually with success:

logical sector size changes depending on whether it is attached via USB or direct SATA

but if Linux does it automatically, that would be better (and not prone to user input error). I am on Debian Stretch with the back port 4.17 Linux kernel.

The context, if it matters:

I have an external hard drive that I removed (disk shucking) and connected to an internal SATA motherboard port. However, it is formatted and has data on it from the previous SATA disk controller.

Apparently this has something to do with 512e 4k sector size emulation. The disk reports logical sector size 512 / physical size 4096 bytes.

My data is backed up, of course. I just don't want to have to reformat and then re-write 7TB as that will take quite a while.

Thank you.


An answer on the Ubuntu Forums helped me:


Fdisk used to not work at all on gpt partitioned drives, it just reported that drive was gpt partitioned. Better to use parted, gparted or gdisk. Gdisk has been the command line tool for gpt drives.

Post these:

sudo parted -l


sudo parted /dev/sda unit s print


sudo gdisk -l /dev/sda
| improve this answer | |

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.