Учителям и ученикамЧетверг, 12.12.2024, 18:54

Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Навигация

Рекомендуем
Урок 21. Новые задачи (строим сеть с "нуля")
Урок 20. Настраиваем Ubuntu 11.10
Урок 19. Знакомимся с ОС Uuntu 11.04
Урок 18. Меняем OpenOffice на LibreOffice
Урок 17. Ставим программу (практическая работа)
Урок 16. Установка программ в Ubuntu
Урок 15. Добавляем репозитарий
Урок 14. Права доступа

О работе сайта
О наших планах
Руководства по ПСПО
Работа продолжается
К урокам информатики
Дистрибутивы для школ


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Мастер-класс » Уроки Ubuntu, Mandriva

Урок 8, часть 3 (для любознательных). Восстанавливаем загрузчик GRUB 2
Как помнится, в предыдущей части восьмого урока мы установили на компьютер с ОС Ubuntu две дополнительные операционные системы: Windows XP и Debian. После установки Windows мы могли загрузить только ее, но ситуация изменилась после установки Debian. Стало возможным выбрать любую из трех операционных систем для загрузки. Но нас не устроило то, что наш загрузчик не современный GRUB 2, как в ОС Ubuntu 10.10, а GRUB, доставшийся нам от Debian.

Определяемся с окружением и уточняем задачу

Итак, было решено "снести" операционную систему Windows, а затем установить ее повторно, чтобы обновить MBR и сделать невозможным загрузить ни Ubuntu, ни Debian. Или, что проще, но что не является предметом нашего урока, - восстановить загрузчик Windows. Иными словами, моделируем ситуацию, когда или вообще нельзя загрузиться с жесткого диска, или можно загрузиться в Windows. Такая ситуация может возникнуть в следующем случае: на ПК установлены Windows и Linux, но ОС Windows нужно деинсталлировать (Такая ситуация возникнет 31 декабря 2010 года, когда срок лицензий на ПО Windows закончится, а на диске кроме этой системы стоит и Линукс, который переустанавливать очень не хочется), или Вы переустановили Windows в системе, в которой есть и Линукс.
Наша задача, как Вы поняли, сводится к восстановлению загрузчика GRUB 2.

У нас есть три операционные системы на компьютере, но можем загрузить только одну - Windows. Для восстановления мультизагрузки нам понадобится так называемый LiveCD Linux, который позволяет работать в ОС без загрузки с жесткого диска. В этот раз я выбрал дистрибутив Ubuntu 10.10 Maverick Meercat, который имеет функцию LiveCD.

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

Загружаемся с LiveCD (Ubuntu в данном случае), нажимаем комбинацию Alt+F2 и в окне "Выполнить команду" вводим команду запуска терминала
gnome-terminal
Если вы используете дистрибутив с KDE, то команда будет иной: konsole

Мы не будем пользоваться программами с графическим интерфейсом, а просто воспользуемся командами в терминале. Но если в вашем LiveCD есть программа GParted (редактор разделов), то можно воспользоваться ей. Мы просмотрим таблицу разделов жесткого диска, чтобы точно знать, в каком разделе что находится. Выполняем в терминале команду

$sudo fdisk -l

l - это латинская "л". Команда sudo - команда для получения прав суперпользователя (подробно посмотреть можно по ссылке: Команды sudo и su -), команда fdisk -l - это программа разметки диска (в Windows есть подобная), а -1 (List)- выводит таблицу разделов.

У меня таблица разделов выглядит так:

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1               1       41071    20699721   83  Linux
/dev/sda2           41071       49120     4056412+  82  Linux своп / Solaris
/dev/sda3   *       49120      161766    56773710    7  HPFS/NTFS
/dev/sda4          161766      232576    35688397+   5  Расширенный
/dev/sda5          161766      201562    20057121   83  Linux
/dev/sda6          201562      232576    15631213+  83  Linux

По поводу Id: 83 - это раздел Линукс, 82 - своп-раздел, 7 - раздел NTFS, а 5 - расширенный раздел.

Как видите, в системе 5 разделов, два из которых входят в расширенный. Но в системе Линукс раздел будет недоступным до тех пор, пока его не примонтируем. Записи с информацией о разделах хранится в каталоге /dev/раздел_диска. При монтировании нужного раздела мы должны указать место (каталог), т.е. точку монтирования, где можно найти примонтированный раздел, который становится доступным.

Начинаем монтировать нужный раздел, т.е. sda1, который будет доступен в каталоге /mnt. Если сейчас вы просмотрите каталог /mnt, то раздела sda1 там не обнаружите. Набираем

$sudo mount /dev/sda1 /mnt
$sudo mount --bind /dev /mnt/dev
$sudo mount --bind /proc /mnt/proc

Команда mount с ключом --bind (два тире!) применяется для создания синонима каталога в дереве файловой системы.

Теперь поработаем с окружающей средой chroot. Для перехода в нее вводим команду

$sudo chroot /mnt

Теперь вам не нужно вводить sudo, так как теперь вводите команды от имени root. Кстати, обратите внимание на строку в терминале. Заметили, что $ изменился на #?

Остается только установить (или восстановить) загрузчик GRUB 2 в

#grub-install /dev/sda

После install - пробел, sda - без номера.

На этом этапе иногда появляется сообщение об ошибке. В таком случае используем команду

#grub-install --recheck /dev/sda

Следующими командами выходим из окружения chroot, отмонтируем разделы и перезагружаем систему

#exit
$sudo umount /dev/dev
$sudo umount /dev/proc
$sudo umount /mnt
$sudo reboot

Перезагружаемся и видим, что теперь возможна загрузка любой из трех операционных систем.

Но не всегда удается после установки GRUB 2 загрузить ОС. По опыту знаю, что если у вас стоят кроме Windows и Ubuntu ОС Alt Linux 5.0 или Mandriva 2010, то в меню выбора ОС GRUB 2 их добавит, но загрузиться в эти операционные системы не удается, не определяются нужные файлы. Ниже я привожу фрагмент файла grub.cfg, который находится в каталоге /boot/grub


menuentry "Microsoft Windows XP Professional RU (on /dev/sda3)" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos3)'
    search --no-floppy --fs-uuid --set 50e01a18e01a053e
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry "Debian GNU/Linux, kernel 2.6.26-2-686 (on /dev/sda5)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set 51a6b6fd-aaee-45d9-a8db-acc6e9a59810
    linux /boot/vmlinuz-2.6.26-2-686 root=/dev/sda5 ro quiet
    initrd /boot/initrd.img-2.6.26-2-686
}

Первый пункт, как Вы понимаете, относится к загрузке Windows, второй - Debian. Если у вас стоят Alt Linux и Mandriva 2010, то нужно изменить одну строку, а именно

linux /boot/vmlinuz-2.6.26-2-686 root=/dev/sda5 ro quiet

вот так: linux /boot/vmlinuz-2.6.26-2-686 root=UUID=51a6b6fd-aaee-45d9-a8db-acc6e9a59810 ro quiet

Возможно, что вам придется указать версию ядра, т.е. то, что идет после vmlinuz и initrd.img/

Для определения этих параметров используйте ОС, которая устанавливала GRUB 2. Нужно зайти в раздел с ОС, открыть каталог /boot

Проще всего это можно сделать через файловый менеджер, запущенный под рутовыми правами.

Кстати, разработчики GRUB 2 утверждают, что редактировать файл grub.cfg запрещено, но именно таким образом мне удавалось избавиться от проблем с загрузкой операционных систем Alt Linux и Mandriva. К моему удивлению, ОС Debian прекрасно запускается без правки конфигурационного файла.

Ну, вот и все. Свою задачи мы выполнили, получив возможность иметь на своем компьютере три операционные системы.

Примечание: Некоторые дистрибутивы Linux не имеют в своем составе загрузчик GRUB, вместо него используется LILO.


Категория: Уроки Ubuntu, Mandriva | Добавил: vens (13.12.2010)
Просмотров: 2171 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Форма входа

Облако тегов
вирусы на флешке система команды контентная фильтрация СКФ ALT Linux Mandriva Команды su линукс СпО Опытная зона ПСПО пиратский софт Исполнитель Кумир Программирование робот Ubuntu ставим Ubuntu установка LTSP Wi-Fi локальная сеть Mandriva Ubuntu Дистрибутивы Рейтинг edubuntu

Друзья
Сайт



Никнейм vensor зарегистрирован!
Сорокин В.Н. - Vens © 2024