суббота, 2 июля 2011 г.

DD не туда? Не беddа!

Он самый
Буквально вчера, в процессе создания установочной USB флешки Ubuntu из под Debian, ко мне явился белоснежный песец в виде команды:
dd if=boot.img.gz of=/dev/sdb1
, которой я хотел записать образ boot.img.gz на флешку.  Но ВНЕЗАПНО оказалось, что флешка находится по адресу /dev/sdc, а /dev/sdb1 - это мой терабайтник со всеми бекапами, архивами фоток, проектов и т.п.

Если вы попали в подобную ситуацию, то читать простыни текста - это меньшее, что вам хочется.  Поэтому сразу решение, которое поправит потерянную ФС (в моём случае это один несистемный раздел ext3):
fsck -t ext3 -y /dev/sdb1
Ну а пока оно работает, можно почитать мою историю...

Итак, только что я оценил всё величие песца. Пока глаза смотрели на пустое окно Nautilus, в котором всего 30 секунд назад отображался аккуратно структурированный архив, руки уже набирали в гугле: "restore after dd".

Есть известная байка про то, что люди делятся на два типа:
  1. Те, кто ещё не делают бекапы
  2. Те, кто уже делают бекапы
Дак вот, после вчерашнего я понял, что есть и другая классификация:
  1. Те, кто ещё не смотрит пристальным взглядом не менее 10 секунд на команды с участием чего-нибудь вроде dd, fdisk, ...
  2. И те, кто уже делает это
На одном форуме я даже встретил парня, который подобные команды начинает со знака комментария #, набирает команду до конца, проверяет её несколько раз, убирает # и только потом жмёт Enter.  И я его понимаю.

Кстати, форумы полны сообщений о подобных опечатках при использовании dd с последствиями разной степени тяжести.  Кто-то прожёг образ вместо флехи на home раздел.  У кого-то хуже: пострадал системный раздел.  Кто-то накатил бекап одного раздела на другой.  Общей рекомендацией является немедленное отключение носителя, чтобы данные не успели перезаписаться.

Многим из них помогли программы PhotoRec, TestDisk и Foremost.  Особенности этих программ (мопед не мой, я только разм взяты исключительно из отзывов этих людей):
  • PhotoRec - несмотря на название, превосходно справляется со всеми типами файлов.  Не восстанавливает структуру директорий.
  • TestDisk - подходит для восстановления разделов.
  • Foremost - отлично работает при небольших поражениях, вроде потери таблицы разделов.
Для некоторых из них единственным выходом оказалось обращение к спецам по восстановлению информации.

В общем, мне ещё повезло, потому что boot.img.gz занимает всего 30 мегобайт (да, я забыл его распаковать :[) и раздел был второстепенным и редко используемым.  fsck прошуршала около часа и вернула всё на место.

Теперь есть повод хорошо подумать над регулярными бекапами на съёмный хард, что и вам советуюю

Комментариев нет:

Отправить комментарий