Восстановление загрузчика в Gentoo
Были трудности с загрузкой системы у dio. И нужно было восстановить загрузчик. Собственно вот и посвящена этому статья.
🕛 24.03.2010, 12:02
Хочу поделиться с Вами собственным опытом в восстановлении системы gentoo линукс. Произошло все это как постоянно - в наиболее неподходящий миг и под выходные - понятно не везло мне тогда какое - то время...жизнь - она как тельняшка - то светлые полосы, то темные.Мне позвонили с техплощадки провайдера и сказали, что на одном из моих серверов загорелась пурпурная лампа, сигнализирующая о том, что нечто произошло с аппаратной частью сервера. С такими делами не шутят и я двинулся быстренько туда, выяснить в чем дело. Прибыв на место и осмотрев собственный сервер я осознал, что это "что - то" произошло с одним из дисков массива. Вероятно он вылетел из RAID, а вероятно и просто сгорел... или глючит контроллер винта или сам RAID контроллер на "матери"... все вероятно, однако я решил идти по пути наименьшего сопротивления и сперва оценить риски меньших потерь - нужно разбираться с самим диском, подумалось мне, а позже все остальное...
I-е что решил сделать - снять свежую копию ghost-ом. Взял и подцепил на ide разъем сервера простой винт, загрузился с дискеты и "слил" образ собственного массива со всеми данными на принесенный ide винт. Неплохо... А что далее? А далее нужно искать из запасных SCSI винтов нечто на замену. Я его отыскал, правда он был иного изготовителя, и смело засунул в гнездо "горячей" замены... однако он по какой-то причине не "подхватился", а лампа продолжала мигать. И в ядре я ничего не увидел о "подхвате нового устройства". Кроме того, ч/з время замигала еще 1 лампа (с ужасом заметил я) и по - поводу уже иного винта в этом - же RAID-е. Что делать? Пришла беда открывай ворота?? Вот уж "не везет и как с этим бороться".Мысль об этом уже панически стала стучать у меня в уме, однако ничего, подумал я - на выходные возможно тормознуть сервак и перезагрузившись, войти в программы RAID и перестроить его, сперва отформатировав этот злополучный новый винт. Меня все эти манипуляции не особенно пугали из-за наличия свежей копии ghost-а... я так и думал, чтоб не натворил с массивом, все же залью копию, она все и поправит :-)
самоуверенный какой нашелся :-)... однако тогда мне было не жутко. Нервное напряжение толкало просто на решительные действия. Войдя в программы изготовителя я отформатировал новый винт, позже перестроил RAID 5 ур., включив в него новый диск. При включении был вопрос о размере блока на винте, я взял нечто по среднему, не придав этому особого значения... эх спешка - спешка... :-)
RAID создался, образ слился из копии удачно. Я уже обрадовался, что сделал всю работу и возможно будет в скором времени отдохнуть, однако после перезагрузки, вместо окна загрузки GRUB, увидел просто надпись на экране GRUB и все... тишина и покой... и "мертвые с косами стоят..." мне поплохело и я стал наконец - то думать... :-( ... ч/з время я осознал, что понятно нарушил структуру соответствия размеров разделов "старой" и "новой" системы gentoo и сейчас он не желает загружаться со собственного привычного места... встал вопрос о восстановлении загрузчика, однако дело в том, что я ранее не делал этого на gentoo и весьма мутно представлял, как это делать, тем паче, что у меня не было загрузочной дискеты - этот сервак не мой был с самого начала, он достался мне "по наследству"... не беда - слив из интернета образ gentoo и записав его на болванку я загрузился, однако все мои попытки после этого восстановить grub командой grub-install не увенчались успехом - система этого просто не делала... неплохо еще, что у меня была карта разделов (этот урок я усвоил много времени назад! Вы можете это увидеть и сохранить по команде df) - т.е. интерпретация разделов с позиции системы - что там у меня есть корень и как его видит и понимает система - т.е. у меня это(корень) было как /dev/sda3 и так сравнительно всех разделов, за исключением свопа естественно :-)
Мучаюсь далее - стыкуюсь со собственным другом crash по Асе он и заявляет - "Сперва смонтируй корневой раздел восстанавливаемой системы в произвольную папку, а позже выполни команду #chroot folder_name , где folder_name и есть имя той папки. Т.е. я сделал то, что он порекомендовал и заполучил следующее:
#mkdir /mnt/folder1 сделал папку в подкаталоге /mnt;
#mount /dev/sda3 /mnt/folder1 смонтировал туда корневой раздел восстанавливаемой системы;
#chroot /mnt/folder1 сменил текущий root каталог на root каталог старой системы, чтоб все команды выполнялись из окружения восстанавливаемой системы.
После этого смонтировал другие каталоги по карте каталогов в произвольные папки, однако от текущего root каталога и... самое основное... даю команду #grub-install /dev/sda3 это корневой каталог.
Перезагрузка и... вуаля!!! - и система грузится и grub восстановлен и я счастлив... проверил загрузку, проверил начало всех служб и дунул домой отдыхать, получив незабываемый опыт и полный чувства благодарности к товарищу crash. Спасибо ему за то, что помогает в свое личное время и основное - за толковые и правильные советы.
PS Естественно, я допускаю, что в процессе таких работ я где - то ошибался... за исключением этого еще и вероятно, что все это возможно было сделать легче и скорее, однако как сказала Эви Немет - "может это и бестолково, однако это работает!" а это мне и было нужно на тот миг :-) !!