Только что в процессе очередного эксперимента развалил загрузчик от Mint'а, каковым выступает GRUB2, stage 1 которого помещено на диске /dev/sdb
--в BIOS'е он у меня выставлен как первое загрузочное устройство. Разумеется, никакой трагедии -- я всегда могу загрузиться через Lilo с устройства /dev/sda
, где размещается Salix. Однако -- непорядок, надо восстанавливать. Тем более что впереди предстоял ещё один эксперимент, в ходе которого гибель загрузчика также не исключалась.
В своё время я неплохо освоил восстановление GRUB Legacy, и мог делать это, как некогда выполнял неполную разборку АКМ'а. А вот GRUB 2 восстанавливать -- как-то до сих повода не было. Так что я решил освоить это дело, а заодно сочинил шпаргалку на будущее. Которое, надеюсь, будет наступать не очень часто -- но ведь неприятности, к которых готов заранее, обычно и не случаются. Случаются совсем другие неприятности...
Для начала надо иметь Live-носитель -- у меня было в виде SD-карты, причём изготовленной с собственного образа Mint'а. При рестарте машины, в момент появления мать его производителя, нужно нажать клавишу быстрого выбора загрузочного устройства -- на моей "маме" это F8 -- и выбрать соответствующее загрузочное устройство, оно обычно называется явным образом (у меня в данном случае -- универсальный кард-ридер имени не помню кого, в который карточка была вставлена). Происходит загрузка Live-среды, каковая здесь представлена Mint'ом с Cinnamon'ном.
Далее я запустил Nemo -- в его боковой панели, в секции Носители, отражаются все присутствующие в машине дисковые устройства, ещё в несмонтированном виде. Нужное мне, /dev/sdb1, я опознал потому, что оно было единственным, которому я так и не удосужился присвоить метку, поэтому оно там фигурировало под очень информативным именем 20 ГБ (диски помеченные выступают под своими именами, почему это не роскошь, а средство ориентировки).
Далее следовало опознанное устройство смонтировать -- это делается через пункт Присоединить контекстного меню или просто левым кликом на имени (но в последнем случае содержимое устройства открывается в главном окне Nemo, что не всегда желательно). Теперь главное -- определить точку монтирования. В убунтоидах временно смотированные устройства попадают в каталог /media/username, устройства с меткой -- в каталог с её именем, без оной -- в каталог, названный универсальным идентификатором устройства (UID), это полуметровая зубодробительная последовательность букв и цифр (ещё один резон "метить" носители).
А вот теперь -- собственно восстановление загрузчика. Оно выполняется одной командой:
$ sudo grub-install --root-directory=/media/username/mount_point /dev/sdb
Здесь mount_point -- метка диска или, как в моём случае, его очень простой UID вроде d55aebcb-7e7d-4d34-aff4-ed6e494e9b7f
. Автодополнение в этом случае не работает, однако, даже если устройство не "помечено", его UID можно взять из файла /etc/mtab, описывающего временно смонтированные устройства, или, открыв его в Nemo, из адресной строки последнего (если, конечно, переключить на неё представление пути из умолчального, в виде пиктограмм).
На этом дело восстановления загрузчика закончено -- можно перезагружаться в нормальном режиме. Столь кондовая простота этой процедуры примирила меня с GRUB2 и в ближайшем будущем планирую изучить его подробнее.
Алексей Федорчук