PermLUG
|
Пермская группа пользователей Linux |
|
ОблакоВход для пользователейНавигация |
Как восстановить GRUB в MBR![]() Оправдываться не буду, всегда использовал, использую и буду пользоваться LILO и считаю его самым лучшим загрузчиком Linux на данный момент, но жизнь всегда диктует свои правила иногда преподнося неожиданные сюрпризы в самый «подходящий момент» :) Всё прошло гладко, был установлен новый диск, на него накачена резервная копия, но вот бэкапа MBR у меня не нашлось. После загрузки с LiveCD и чтения info grub я начал свои эксперименты с универсальным загрузчиком GRUB. Вот моё решение проблемы(если есть более короткий вариант пожалуйста дайте мне знать): mount /dev/sda6 /mnt/sda6 && mount /dev/sda1 /mnt/sda6/boot UPD(11.03.2008): Обязательно читаем комментарии. Вы уж простите меня грабофилы, но после сравнения процедуры восстановления grub с аналогичной процедурой в LILO, я сделал вывод, что grub — поделие для красноглазых шизиков :)
|
Новые записи в блогахАктивные обсуждения форума
|
| Пермская группа пользователей Linux, 2003—2008 |
Комментарии
Хм. Интересно для сравнения можешь написать как в данном случае восстановить lilo?
а так получается загрузился создал директории а дальше:
mount /dev/sda6 /mnt/sda6
mount /dev/sda1 /mnt/sda6/boot
chroot /mnt/sda6
grub
root (hd0,0)
setup (hd0)
quit
reboot
итого 8 шагов
получается сокращение на 2 команды (если повар нам не врет)
mount /dev/sda6 /mnt/sda6
mount /dev/sda1 /mnt/sda6/boot
chroot /mnt/sda6
lilo
quit
reboot
D3vil, тут нужно учесть, что если /dev лежит в /, то при выполнении chroot оно не будет работать (ведь / будет другое), поэтому граб не сможет напрямую обратиться к жесткому диску.
в этом случае надо еще примонтировать /dev заранее в нужное место
___________________________
вот так!
В моём случае
grub
root (hd0,0)
setup (hd0)
quit
не работало.
вылазила ошибка отсутствия устройства hd0,0
а про LILO я напишу чуть позже. сейчас пакую чемоданы :)
выиграть 2 команды - это да, только ради этого поменяю загрузчик :)
А теперь прибавь сколько ты проиграешь если будешь после прописывании в конфиг нового ядра набирать lilo.
Осталось понять сколько раз человек обновляет ядро и сколько раз оно восстанавливает MBR :)
Если MBR затирается хотя бы в два раза реже, чем обновляется ядро, то "экономия" комманд сводится к нулю.
Очередной холивар :)
не хуливар, а инстрункция! :)
А если у вас LiveCD 32 бита, а система 64, то chroot не отработает!
У команды grub-install есть параметр --root-directory=DIR. Вот он-то и спасёт
Grifon> О, спасибо, буду знать теперь.
Нашёл на диске LinuxFormat:
Grub, который загрузит всех (Р)
Вопрос: Надоело каждый раз устанавливать в BIOS загрузку с CD, чтобы попробовать новый дистрибутив. Есть ли способ добавить соответствующую опцию в Grub?
Иван Пуренко
Ответ: Научить Grub запускать загрузчик с CD несложно, но для решения этой задачи придется привлечь два других проекта: MEMDISK (http://syslinux.zytor.com/memdisk.php) и Smart Boot Manager (http://btmgr.sourceforge.net/about.html или Главное/SBM на нашем DVD). MEMDISK является частью SYSLINUX и должен быть доступен в вашем дистрибутиве в виде одноименного пакета. Разверните данный пакет и извлеките из него файл memdisk, который следует скопировать в каталог /boot. Далее, возьмите из каталога Главное/SBM на первой стороне нашего DVD файл btmgr.floppy.bz2 – это образ загрузочной дискеты Smart Boot Manager. Нам потребуются ее первые 18 КБ: откройте root-терминал и наберите
dd if=btmgr.floppy of=/boot/sbm.bin bs=1k count=18
Наконец, необходимо создать соответствующую запись в меню Grub:
title Boot from CD
kernel /boot/memdisk
initrd /boot/sbm.bin
ВС
короче говоря, ничего у меня не сработало как надо. Не знаю что могло быть не так. при загрузке груб выдавал Error 17, насколько я понимаю, не смог смонтировать диск. При восстановлении, как я не корячился, устройство он так и не обнаружил. Возможно, что это из-за того, что я,дурак, раздел под /boot отдельный не выделял. В остальном ничего не вышло((
Надо было ручками в шелле груба покопаться. Приходи на линуксовку, посмотрим
N_F, перемонтируй /dev в нужную папку.
попробуй перед выполнением chroot выполнить такое:
mount --bind /dev /mnt/sda6/dev
(если диск монтирован был как /mnt/sda6, как описано в первом посте)
если не получится то попробуй таким же макаром прикрутить папку /boot
___________________________
вот так!
уже поздно что-либо менять:)
да и весь /dev полностью был пуст /*Оо*/ кроме zero, console и еще чего-то. Да и не успею уже сегодня йа, в след раз попробую повторить проблему и прийду:)
понял ход мыслей:)
не пойму только в чём была трабла, просто ребутнул машинку и всё, встал как вкопаный, не хотел монтировать диск и всё. Как-то всё это подозрительно, причём потом выяснилось, что диск на кторый был установлен груб не был помечен флагом boot, им был помечен диск с вендой(( хотя ранее такого не было...
А вот восстанавливать лило без редактирования конфига, если просто затёрт mbr - одно удовольствие...
mount /dev/hda1 /mnt/disk
chroot /mnt/disk
lilo -A
Если не ошибаюсь, то вроде бы должно быть так. :)
[root@brain root]# mount /dev/hands /mnt/ass -o nosuid,umask=000
CORPSE, повторюсь. Если у тебя разные несовместимые архитектуры LiveCD и той, которую восстанавливаешь, то chroot не сработает