Восстановление загрузчика

Готовые решения для многих вопросов, которые очень часто задаются снова и снова.

Модератор: Модераторы разделов

Закрыто
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Восстановление загрузчика

Сообщение Juliette »

Товарищи, большая просьба - все свои проблемы по загрузчику выносите в отдельные топики, вас за это никто не укусит! :)

ДЛЯ ТЕКУЩЕЙ ФЕДОРЫ-ASP-RED HAT

загрузочный CD/флешка, предназначенный в том числе и для восстановления Grub, с пунктами меню и прочим

Восстановление GRUB в Убунту (с картинками):
http://ubuntologia.ru/grub-mbr-windows
без картинок:
http://pronix.isgreat.org/forum/viewtopic.php?p=38#p38
http://suharr.ru/85
http://www.dnny.ru/ubuntu/23-vosstanovleni...b-v-ubuntu.html
http://tuxedo-live.blogspot.com/2007/07/grub.html
________________________________________________________________________________
_________________________________

Вот потихоньку решила дёргать из разных источников.
Проблема состоит в разных подходах разных создателей дистрибутивов вообще ко всему.
Постю основным текстом, т.к. так проще будет редактировать. :)
Опытных пользователей различных дистрибутивов прошу добавлять конкретику, основанную на практике именно по своим дистрибутивам (т.е. только последовательность действий и команд) Флейм и расплывчатые "советы" будут выкидываться, не обижайтесь.

От себя начинаю про восстановление GRUBа в Женте в ситуации переустановки винды, т.е. затёртого MBR:
Загружаемся с установочного CD, ждём появления приглашения в ком. строке
Сначала монтируем разделы
# mount /dev/hda$ /mnt/gentoo
# mount /dev/hda$ /mnt/gentoo/boot
# swapon /dev/hda$
# mount -t proc none /mnt/gentoo/proc

Чрутимся в родную женту:
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
#grub
grub> root (hd0,$)
grub> setup (hd0)
grub> quit

Вылезаем из родной женты и перезагружаемся:
# exit
# umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
# reboot


Опять же хочу заметить, что если у вас есть старый инст. диск (напр. Gentoo 1.4), а система новая, то chroot может уже не получиться, говорит что-то типа "ошибка, слишком старое ядро" (у меня такое началось после установки ядра 2.6.15, более ранние 2.6.* работали). Но восстанавливается и без chroot'а :)

_________________________________________________________________________
________________________________________________________________________

Код:

Проблемы с загрузкой системы Если не загружается ни одна из установленных операционных систем, значит проблема в начальном загрузчике. Такие проблемы могут возникнуть после установки системы, если загрузчик не установился или установился с ошибкой. При (пере) установке Windows на вашем компьютере загрузчик Linux будет перезаписан в принудительном порядке, и станет невозможно запускать Linux. Повреждение или перезапись загрузчика никак не затрагивает остальные данные на жёстком диске, поэтому в такой ситуации очень легко вернуть работоспособность: для этого достаточно восстановить загрузчик. Если у вас исчез загрузчик другой операционной системы или другого производителя, то внимательно почитайте соответствующее официальное руководство на предмет его восстановления. Но в большинстве случаев вам это не потребуется, так как загрузчик LILO, входящий в состав ALT Linux, поддерживает загрузку большинства известных операционных систем. Для восстановления загрузчика LILO достаточно любым доступным способом загрузить Linux и получить доступ к тому жёсткому диску, на котором находится повреждённый загрузчик. Для этого проще всего воспользоваться восстановительным режимом, который предусмотрен на загрузочном диске дистрибутива. В ALT Linux к нему можно получить доступ, загрузившись с CD-ROM и выбрав в меню пункт «Спасательная система». Загрузка восстановительного режима заканчивается приглашением к регистрации (login:), используйте входное имя root (пароль не требуется — просто нажмите Enter). Чтобы восстановить загрузчик, нужно выполнить следующие действия: 1. Смонтировать корневой раздел Linux («/») командой mount /dev/hda1 /mnt (На месте /dev/hda1 должен быть указан тот раздел диска, на котором у вас находится корневая файловая система Linux). 2. Объявить файловую систему на этом разделе корневой — командой chroot /mnt. 3. Если на диске ничего не менялось (не установлено новых систем), восстановить загрузчик можно одной командой — lilo. В результате загрузчик будет восстановлен в той же конфигурации, что и перед повреждением. Если на диске произошли изменения, которые должны затронуть список загружаемых систем (добавлены/удалены ОС), перед выполнением команды lilo потребуется обновить конфигурацию загрузчика: с помощью любого текстового редактора (например, mcedit) отредактировать файл lilo.conf $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ После очередной переустановки Windows была переписана загрузочная запись и стала загружаться только Windows. Как мне восстановить загрузчик и загрузить Linux? 1. Загрузите систему с первого установочного диска в вариант Recovery Console. 2. Если используются SATA-диски, при необходимости подгрузите модуль контроллера командой 'modprobe имя_модуля', например: modprobe sata_via 3. Просмотрите список доступных разделов жесткого диска: fdisk -l Будет выдан перечень разделов с указанием типа файловой системы. Определите, какой из этих разделов является корневым (тип раздела обозначен как Linux) 4. Смонтируйте корневой раздел: modprobe ext3 mount -t ext3 раздел /mnt Здесь раздел - имя корневого раздела в том виде, в каком его показывает fdisk, например, /dev/hda5 Подразумевается, что на корневом разделе используется файловая система ext3 (по умолчанию) 5. Отдайте команды: chroot /mnt mount -t proc none /proc mount -t sysfs none /sys /sbin/start_udev 6. Далее, в зависимости от используемого загрузчика, отдайте одну из команд для установки загрузчика в MBR: # GRUB (устанавливается по умолчанию): /sbin/grub-install hd0 # ASPLoader: /sbin/aspldr # LILO: /sbin/lilo 7. Размонтируйте раздел и перегрузите систему: exit umount /mnt reboot &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Recovering Grub when you make a Mistake - Fedora on a second hard drive in the system It is possible to recover grub, when you have not set up your system correctly, or need to repair the grub installation. This may happen when the following occurs; 1. You fail to set grub to boot from the correct hard drive during the installation 2. Change the logical order of your hard drives after the installation 3. Add, remove or modify partitions on the affected drive after the installation The Fedora installation CD or DVD allows you to boot into "rescue mode" to make any necessary repairs on your Fedora system. NOTE: This section assumes that you did not change anything relative to the logical order of the hard drives since you installed Fedora. It also assumes that you have only IDE drives in your system and no sata drive that is your actual boot drive. If you have sata drives on your system, or a combination of sata and IDE drives, read the section "Notes on sata drives" below. Booting from the installation disk and choose Linux rescue at the installation menu. Try getting to the root Fedora filesystem, after using the rescue disk, by typing in the console chroot /mnt/sysimage This gets you to the root of the Fedora filesystem. Then try typing in the console grub-install /dev/hda Note: space between grub-install and /dev/hda DO NOT type hda1, you want the MBR of the hda drive, not hda1, which is the first partition on the drive. If you have a sata drive on your system and this is your boot drive, see the section on sata drives below. Reboot the system and see if you get grub, with the option to boot both Fedora and Windows. The other issue is that grub defaults to only a few seconds before booting the first listed OS. Depending on what you chose to boot first (hopefully not Windows) during the installation of Grub, that OS will boot quickly. Let us know what happens, then we can change the timeout of the booting via Grub. Essentially what you want to do is get into the /boot/grub/menu.lst file and change the line that starts with timeout from 10 to 50. Now, this is where things get cloudy. You boot into rescue mode. Did you make sure that the sysimage was loaded? in Fedora Core 5, during the rescue boot, Fedora tries to see the installation and mount the sysimage. You get a message asking if you want to do this, or skip the detection. If you choose the former option and there is something wrong, the image is not mounted fully and you should have received a message that not all the files were loaded. If you choose the skip this step, then you need to mount the sysimage manually. What if I changed the logical order of the drives in the bios, either physically or in the bios and the above solution does not work? Then you can apply the alternate command grub-install --recheck /dev/hda after getting into the chroot of Fedora. This command tells grub to recheck the drives and their order and reference the boot files correctly. The correct syntax is grub-install <space> recheck /dev/hda The Grub Bug: In some cases, the above solutions will work and in others they will not. There seems to be a bug in how grub works in some systems. Assuming that you are chooted into the Fedora installation successfully, try the following commands at a root terminal window (bold text are the actual commands). This assumes that you did not change the order of the drives since you installed Fedora. grub (hit the enter key & after each command below) grub> root (hd1,0) (since fedora /boot is on /hdb or the second hard drive) grub> setup (hd0) (the MBR of the first hard drive) grub> quit What these commands do; Typing Grub enters the grub editing mode, referenced at grub> root (hd1,0) tells grub that the root files on the system are on hdb, or the primary slave drive. setup (hd0) tells grub to install the bootloader on the primary master MBR quit quits the grub edit mode Remember, the logical order of you drives depends on how they are set in the bios and jumpered when you installed them. Grub sees them with the following naming convention; hd0 = the primary master drive hd1 = is the primary slave drive hd2 = is the secondary master drive hd3 = is the secondary slave drive The actual partitions are the second numerical code. hd0,0 - the first hard drive on the system, first partition. Notes on sata Drives: If you have sata drives on your system, or a combination of sata and pata (IDE) drives, then the naming scheme is a little different. These drives are not jumpered like IDE (pata) drives, but seen by the bios on the physical channel they are on, or in the order where they are connected on the motherboard connector. They will be seen by Linux, as sda, not hda (ie; the first sata drive on the system vs. the first IDE drive). So, all commands to change grub with the grub-install --recheck command are relative to their naming scheme. For example, grub-install --recheck/dev/sda would be the proper syntax.
Спасибо сказали:
Аватара пользователя
krivakin
Сообщения: 117
ОС: Debian 4.0

Re: Восстановление загрузчика

Сообщение krivakin »

liveCD+grub-install
Спасибо сказали:
Аватара пользователя
kasak
Сообщения: 893
ОС: OpenBSD
Контактная информация:

Re: Восстановление загрузчика

Сообщение kasak »

или сделать бэкап mbr
dd if=/dev/hda of=/boot/mbr.bkp bs=512 count=1
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Спасибо сказали:
Аватара пользователя
LU™
Сообщения: 876
Статус: непримиримый
ОС: openSuse 11,1+factory
Контактная информация:

Re: Восстановление загрузчика

Сообщение LU™ »

Juliette писал(а):
14.12.2006 22:08
пользователей различных дистрибутивов прошу добавлять конкретику, основанную на практике именно по своим дистрибутивам (т.е. только последовательность действий и команд)

Suse:
загружаемся с установочного диска, выбираем Установка (перед этим можно нажать F2 и выбрать язык), потом давим "Дальше", вплоть до момента выбора режима установки - "Новая установка", "обнавление системы" либо "Востановление системы", вот в этом последнем пункте и можно выбрать, в частности, востановление загрузчика.... Все красиво, со всеми опциями и настройками...
Люди тратили часы, дни, месяцы своего веремени и труда, чтобы создать это (софт) для Вас и дарят это Вам, найдите, пожалуйста, 15 минут времени, чтобы прочитать документацию и научиться это использовать!
Спасибо сказали:
Аватара пользователя
oberlicht
Сообщения: 381
Статус: Апатичный новичок
ОС: Slackware, Gentoo

Re: Восстановление загрузчика

Сообщение oberlicht »

попробуем..

Slackware:

Будем считать, что известно на каком диске находится корень ФС (папка "/").
( установка винды не изменила нумерацию дисков, владелец машины не страдает амнезией, и пр..)

Тогда:
1) Загрузится с установочного CD (или DVD);
2) После приглашения "boot:" ввести
sata.i root=/dev/hda1 noinitrd ro 1
Здесь /dev/hda1 - диск с корнем ФС;

3) Система загрузится в single mode. Войти в систему, от лица суперпользователя выполнить команду
/sbin/lilo -v
4) Перезагрузить машину.
Slackware 11 - 2.6.18 @ Athlon XP 1800+/512Mb
Slackware-12 - 2.6.21.5 @ Celeron D 2533/512Mb
Gentoo (amd64) - 2.6.22 @ Athlon X2 5600+/2048Mb
Спасибо сказали:
Аватара пользователя
vdv
Сообщения: 133

Re: Восстановление загрузчика

Сообщение vdv »

MOPSLinux

В МОПСе в качестве загрузчика идет lilo. Востановление lilo - дело 5 минут. Я проделывал это следующим образом:
1. Загрузился с LiveCD
2. Подмонтировал раздел с корнем МОПСа

Код: Выделить всё

mount /dev/hdaX /mnt/mops
3. Перешел в корень МОПСа

Код: Выделить всё

chroot /mnt/mops
3а. Редактирование файла /etc/lilo.conf (если к списку операционных систем требуется добавить еще одну)
4. Установил lilo

Код: Выделить всё

/sbin/lilo
5. Ребут. Система готова к работе :)

Аналогичный способ прокатывал также прямо из-под СюЗи, когда она по каким то причинам "забыла" включить МОПС в список доступных систем (я к тому, что не обязательно грузиться с liveCD).
На офсайте МОПСа также рекомендуют следующее "загрузится с СД1/ДВД МОПСа, смонтировать корневой раздел в /mnt и ввести chroot /mnt lilo -P ignore ". Это в случае ошибок при установке lilo. Но как правило хватает просто команды /sbin/lilo
[Work: MOPSLinux 6.0] [Home: MOPSLinux 6.0]
Спасибо сказали:
fornike
Сообщения: 246

Re: Восстановление загрузчика

Сообщение fornike »

Про генту: делаю примерно всё тоже самое кроме:
(Juliette @ Dec 14 2006, в 22:05) писал(а):# swapon /dev/hda$

А зачем? Грабу своп помоему никчему.. восстанавливается и без свопа. Проверено :)

Ещё момент: незнаю от этого ли зависит или нет. Gentoo 2005.1 у меня. Когда набираешь grub, то ругается на что то связанное с монтированием разделов... вроде как там при чруте файл /etc/mtab отсутствует. Лечится так:

Код: Выделить всё

grep -v rootfs /proc/mounts > /etc/mtab

Дальше. Незнаю из-за чего, но при запуске граб начинает перебиарть у меня флоппики.. делает он это долго и нудно, а потому лучше ему сразу сказать:

Код: Выделить всё

grub --no-floppy
Спасибо сказали:
Аватара пользователя
Delirious Stranger
Сообщения: 340
Статус: кофейник
ОС: Funtoo + Calculate

Re: Восстановление загрузчика

Сообщение Delirious Stranger »

Archlinux
1. Загружаемся с CD
2. Заходим в установку
3. Монтируем разделы
4. Устанавливаем загрузчик заново
5. Перезагружаемся
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Восстановление загрузчика

Сообщение Juliette »

Уважаемый Isard добавляет про восстановление GRUB в Kubuntu
1) Загружаемся с CD(DVD) диска Kubuntu
2) Заходим в консоль
3) Вводим команду fdisk -l и определяем, свой линуксовый раздел (он будет обозначен Linux)(в данном примере рассматривается раздел /dev/sda3)
4) Вводим

Код: Выделить всё

mount /dev/sda3 /mnt

5) Вводим

Код: Выделить всё

mount -o bind /dev /mnt/dev

6) Вводим

Код: Выделить всё

mount -o bind /proc /mnt/proc
-- без этого тоже должно работать
7) Вводим

Код: Выделить всё

chroot /mnt

8) Устанавливаем GRUB

Код: Выделить всё

grub-install /dev/sda
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Восстановление загрузчика

Сообщение Juliette »

Уважаемый giner также имеет что сообщить по данному вопросу:
Загрузчик grub по сути состоит из трёх частей: stage1 stage2 и menu.lst.
stage1 это первая часть загрузчика размером в 512 байт, основная цель которой указать где искать stage2 и menu.lst. stage2 это собственно сам grub (те самые меню при загрузке и командная строка). menu.lst это файл конфигурации grub (в нём же находится список загружаемых операционных систем).

stage1 обычно расположен в загрузочной области винчестера (так называемый boot-сектор), а stage2 и menu.lst на одном из разделов в директории /grub или /boot/grub

Иногда так случается, что boot-сектор затирается (например при установке другой операционной системы). Если такое случилось, то не стоит отчаиваться, восстанавливается загрузчик совсем просто. Для этого в boot-сектор (кстати, его ещё иногда называют MBR) нам нужно вновь вернуть stage1, но с тем условием, чтобы этот stage1 знал где искать stage2. А сделать это можно вот так.
1. Запускаем grub (это можно сделать загрузившись с livecd, на котором есть grub, например ubuntu и набрать в терминале sudo grub, или же воспользоваться флопи-grub (дискету можно создать так же с помощью livecd ubuntu запустив команду grub-floppy)).
2. Набираем cat (hd и нажимаем tab два раза. Если у нас несколько жёстких дисков, то мы получим их список, если один, то получим список разделов, например:

Код: Выделить всё

Partition num: 0, Filesystem type is xfs, partition type 0x83
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x82
Если знаете какой раздел вам нужен, набираете соответствую
щий номер, если нет, то набирайте по очереди и жмите tab для получения списка директорий и файлов. В итоге вы должны найти /grub/menu или /boog/grub/menu

**********

Код: Выделить всё

grub> cat (hd0,0)/
Possible files are: ftp giner pivanov

**********
это не он

**********

Код: Выделить всё

grub> cat (hd0,2)/
Possible files are: lost+found var etc media cdrom bin boot dev home initrd lib mnt opt proc root sbin srv sys tmp usr initrd.img vmlinuz
initrd.img.old vmlinuz.old

grub> cat (hd0,2)/boot/grub/
Possible files are: device.map stage1 stage2 e2fs_stage1_5 fat_stage1_5 jfs_stage1_5 minix_stage1_5 reiserfs_stage1_5 xfs_stage1_5 default
installed-version menu.lst menu.lst~

**********
а вот это он

3. Теперь я знаю что всё что мне нужно находится на разделе (hd0,2). Дело за малым, ставим boot-сектор:

Код: Выделить всё

root (hd0,2) #(здесь мы говорим, что stage2 и menu.lst находятся на разделе 2)
setup (hd0) #(устанавливаем boot-сектор на 1-й винчестер)


Готово! Можно в ребут :)
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Восстановление загрузчика

Сообщение Juliette »

Fedora 7 - 11

1)Загружаемся с DVD диска.

2)Выбираем восстановление ( rescue installed system).
F6.png


3) Выбираем язык . Для переключения между пунктами меню служит клавиша<Tab>, для выбора пробел <Space>
F5.png


4) Выбираем язык раскладку клавиатуры.
F4.png


5) Сеть для наших целей не нужна. Отвечаем - Нет.
F3.png


6)Внимательно читаем сообщение и отвечаем - "Продолжить".
F2.png


7)Если всё прошло успешно будет выдано такое окно:
F1.png

- "OK".
8) Выполняем смену корня.

Код: Выделить всё

#chroot /mnt/sysimage/


9) Восстанавливаем GRUB.

Код: Выделить всё

#grub-install --no-floppy /dev/sda

F0.png


10)

Код: Выделить всё

#exit
#reboot


Если нет DVD подойдет Fedora-*-netinst.isо. Он гораздо меньше - 120MB.
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Восстановление загрузчика

Сообщение Juliette »

http://www.supergrubdisk.org/
Кому не лень -- попробуйте, отписывайтесь тогда мне в личку, я здесь напишу -- стОит пользоваться или нет.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Восстановление загрузчика

Сообщение sash-kan »

Juliette писал(а):
26.06.2009 21:54
Вот обнаружила
http://linuxforum.ru/index.php?act=Search&...s=supergrubdisk
проект сей представляет из себя нечто большее, чем тривиальный «live-CD для восстановления затёртого Grub» (собственно, это вообще не live-cd, это просто «загрузочный cd», интерес в котором представляет именно загрузочное grub-овское меню, оно же «центр управления полётами»).
к тому же, в нынешних реалиях он более удобен в виде flash-drive-а, а не компакт-диска.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Закрыто