ASE_DAG
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Некоторые типовые задачи Загрузка системы, отсутствующей в меню. Если по каким-либо причинам установленная на машине система не присутствует в загрузочном меню Груба, а загрузить ее надо, то это можно сделать и вручную. Для этого придется перейти в командную строку (нажать «c»), определить корневой раздел требуемой системы и выполнить несложную последовательность команд. Определение раздела Проще всего эта подзадача решается, если вы аккуратно назначили разделам метки и помните их. grub> search --label DEBIAN --set root Если не помните, то несколько сложнее. grub> ls # выводим перечень всех доступных разделов (hd0) (hd0,msdos2) (hd0,msdos3) (hd0,msdos1) grub> # порядок перечисления показывает физическое расположение; номер — последов-ть создания; grub> ls (hd0,2) # пытаемся угадать раздел; тип табл. разделов (здесь — msdos) можно опускать; Раздел hd0,2: Тип файловой системы ext3 - Метка "DEBIAN" - Время последнего изменения 2011-09-15 00:00:00 Thursday, UUID 06e6493d-2a52-432b-8459-5e1dccb277d6 — Начало раздела: 2048 — Полный размер 15202304 секторов grub> # угадали! grub> set root=(hd0,2) А если не задавали метки вовсе, то совсем нехорошо — придется опираться на содержимое ФС. grub> ls (hd0,2)/ sbin/ var/ opt/ sys/ boot/ run/ etc/ vmlinuz initrd.img initrd.img.old lib/ home/ mnt/ tmp/ proc/ media/ lost+found/ lib64/ srv/ selinux/ dev/ vmlinuz.old bin/ lib32/ root/ usr/ grub> # на ГНУ/Линукс похоже grub> cat (hd0,2)/etc/issue.net # можно убедиться дополнительно Debian GNU/Linux wheezy/sid grub> set root=(hd0,2) После того, как установили root, переходим к выполнению последовательности команд, зависящей от загружаемой системы. Загрузка ГНУ/Линукса grub> linux /vmlinuz root=LABEL=DEBIAN grub> initrd /initrd.img # кстати, везде работает автодополнение (TAB) grub> boot Это если метка у раздела была. Если нет, первый пункт будет иметь вид: grub> linux /vmlinuz root=/dev/sda2 # (hd0) — sda, (hd1) — sdb Если ссылки /vmlinuz и /initrd.img указывают не на то ядро и образ ОЗУ, что вы хотите загрузить, то укажем их явно: grub> linux /boot/vmlinuz-2.6.38-2-amd64 root=LABEL=DEBIAN # используем автодополнение (TAB) grub> initrd /boot/initrd.img-2.6.38-2-amd64 grub> boot Загрузка Виндоўса grub> chainloader +1 # просто передаем управление по цепочке grub> boot Переустановка Груба. Груб, как правило, устанавливается в главную загрузочную запись (MBR), которая на жестком диске одна, и которую некоторое ПО (например, инсталлятор Виндоўс) ультимативно перезаписывает чем-либо иным. Т. о. перед пользователем может встать задача восстановления Груба путем переустановки. Сама по себе (пере)установка выполяется простой командой grub-install [OPTION] install-device. Помимо этого, быть может, вам нужно выполнить обновление загрузочного меню (update-grub), например для того, чтобы добавить в него свежеустановленную Винду. А вопрос в том, откуда эту команду отдать — установленная система же штатно не загружается. Есть три варианта: Вариант первый. Выполнить с «живой» системы (live-CD / live-USB). Требуется: живой образ системы, комплектующийся Грубом (например, Убунта). # mount -L DEBIAN /mnt # mount -L BOOT /mnt/boot # если /boot у вас на отдельном разделе # grub-install --root-directory=/mnt /dev/sda # update-grub --output=/mnt/boot/grub/grub.cfg # если требуется (см. выше) Вариант второй. Загрузить установленную систему и выполнить с нее. Требуется: live-CD / live-USB с Грубом в роли загрузчика. Загружаем установленный ГНУ/Линукс следуя инструкции из раздела выше и выполняем: # grub-install /dev/sda # update-grub # если требуется (см. выше) Вариант третий. Загрузить любую систему на Линуксе и выполнить chroot в установленную. Требуется: любая «живая» операционная система с Линуксом в качестве ядра, наличие в ней Груба не обязательно. # mount -L DEBIAN /mnt # mount -L BOOT /mnt/boot # если /boot выделен на отд. раздел # mount --bind /dev /mnt/dev # mount --bind /proc /mnt/proc # mount --bind /sys /mnt/sys # chroot /mnt # grub-install /dev/sda # update-grub # если требуется (см. выше) TODO: Описать плюсы / минусы каждого. Установка Груба на сменный носитель (USB-flash, USB-HDD) Это может быть полезным, если на семном диске (флэшке), с которого что-либо загружается, не установлена GNU. Если ГНУ установлена на флэшке, то и загрузчик в нормальном случае тоже должен быть уже установлен; если же нет, то см. раздел выше. Носитель требуется такой, на котором есть по крайней мере один раздел с файловой системой, понятной Грубу. Из популярных подойдут ext2, ext3, ext4, FAT32, не подойдут exFAT, NTFS. Установка из-под ГНУ/Линукса выполняется полностью аналогично вышеизложенному первому способу переустановки. Если пользователь принадлежит к группе floppy (нормальная ситуация на персональных компьютерах), а следовательно имеет права raw-записи на семные носители, то рутовые права не понадобятся. Итак, положим, что раздел на флэшке связан с блочным устройством /dev/sdx1, тогда смонтируем его любым удобным образом: через гуй или приказом вида $ udisks --mount /dev/sdx1 Mounted /org/freedesktop/UDisks/devices/sdx1 at /media/16G и выполним собственно установку $ /sbin/grub-install --root-directory=/media/16G/ /dev/sdx Никакое содержимое в процессе затерто быть не должно (но резервные копии делать не забывайте ;-). Формировать grub.cfg update-grubом на основе имеющихся на данной конкретной машине операционных систем, очевидно, смысла нет. Его стоит написать вручную, взяв за образец grub.cfg из установленной системы. Загрузка системы из iso-образа live CD Собственно со стороны Груба никакой хитрости тут нет — командой loopback device file монтируем на образ ФС (file) на произвольное имя устройства (device), а далее работаем с ним, как с любым другим диском. Хитрость в ином — сама «живая» система должна уметь грузиться из образа read-only ФС, принимая его имя через параметры ядра. У разных лайв-сиди синтаксис параметров разный. Например, для различных Убунт и иных живых дисков, использующих Casper, запись в grub.cfg может выглядеть так: menuentry "Xubuntu 11.04" { loopback loop /xubuntu-11.04-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/xubuntu-11.04-desktop-amd64.iso splash -- initrd (loop)/casper/initrd.lz } TODO: Добавить примеры для других лив-сиди, а затем выпилить это отсюда в отдельную тему, как не имеющее прямого отношения к сабжу. Знаете ли вы, что • Ключ GRUB_DEFAULT в /etc/default/grub, определяющий пункт меню загружаемый по-умолчанию, может принимать не только порядковый номер пункта (0 — первая строчка, 1 — вторая и т.д.), но и его заголовок, который задан в /boot/grub/grub.cfg. Например: GRUB_DEFAULT='Debian GNU/Linux, with Linux 2.6.39-2-amd64' TODO: Есть сведения, что это не работает с Бургом; проверить их. ---------------------------------------- Выше: "Из популярных подойдут ext2, ext3, ext4, FAT32, не подойдут exFAT, NTFS. " Но Grub2 можно запускать и без установки и с традиционных ntfs разделов привычными загрузчиками Windows ---------------------------------------- | Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 03:14 01-11-2011 | Исправлено: Lin1980, 21:49 14-11-2023 |
|