Не очень понимаю как работает fixmbr. Если, скажем, форматы разделов сбились, вместо ext2 раздел стал неразмеченным, логический в расширенном пропал, возможно размер/начальные сектора тоже стали неправильными и т.д., теоретически это поправимо?
MBR - это Master Boot Record. Partition Table - это Partition Table. Это разные структуры данных, для совсем разных целей, хотя и находятся в одном секторе. Первое - загрузчик, который может загрузить какой-то другой загрузчик с одного из разделов (хотя не обязательно с раздела), второе - коротенькая запись о максимум 4 разделах, которые могут быть первичными и расширенными. Расширенный, по идее, допускается только один. Вот, например:
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 63 610469 610407 298,1M 83 Linux
/dev/sda2 610470 312576704 311966235 148,8G 5 Extended
/dev/sda5 614400 9003007 8388608 4G 83 Linux
/dev/sda6 9005056 71919615 62914560 30G 83 Linux
/dev/sda7 71921664 84504575 12582912 6G 83 Linux
/dev/sda8 84506624 97089535 12582912 6G 82 Linux swap / Solaris
/dev/sda9 97091584 312576704 215485121 102,8G 83 Linux
Здесь в одном секторе с MBR находится запись только о двух разделах, 1 и 2. Записи о разделах с 5 по 9 находятся внутри раздела 2, далеко от начала дика (они там цепочкой на самом деле, но это уже на самостоятельное изучение).
fixmbr восстанавливает именно MBR, а не Partition Table. Если запороть таблицу, то, в принципе, всё легко восстанавливается по сигнатурам начала разделов, но это не MBR. Так что начинать надо с правильной диагностики и правильно говорить про то, что именно запорото.
Ну а если по какой-то причине, иза чего-то умершенго, либо ранее неправильно созданного где-то кто-то ошибается, ну что делать. Надо искать.