Сегодня у меня случилось страшное - уничтожил на своем ноутбуке таблицу разделов.
А все начиналось вполне невинно: решил занулить флешку. Подключил ее и выполнил от рута dd if=/dev/zero of=/dev/sda. Вместо sdb!!! Спохватился через пару секунд, остановил работу утилиты, но таблицу разделов и первые несколько десятков мегабайт на своем жестком диске уже уничтожил. В целом, такая беда обычно заканчивается фатально, но не в этот раз. Самое главное - при разбиении жесткого диска первым разделом у меня был сделан своп. И во вторых - догадался не перезагружаться.
Скопировал в авральном порядке документы, проекты и конфиги на внешний диск и начал искать лечение от своей беды.
Помогла утилита testdisk, которая корректно обнаружила все мои разделы, кроме уничтоженного свопа. Последний пришлось создавать с помощью parted и модифицировать соответствующую строчку со значением UUID в /etc/fstab . Затем - запуск fixmbr для восстановления загрузчика. Перезагрузка... И! все! заработало! Доволен, как удав и счастлив от своей предусмотрительности (своп в начале жесткого диска).
Позднее обнаружил, что /boot/boot.800 у меня содержит корректную таблицу разделов, что позволило-бы вообще обойтись без testdisk. Но умные мысли, к сожалению, всегда приходят опосля. И, в любом случае, без свопа на sda1 все было-бы на порядок печальнее.