Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
dd if=/dev/hda1 of=DOS-BOOT-IMAGE bs=512 count=1
А загрузить образ можно уже знакомой нам командой chainloader, указав не сектор, а путь к файлу:
chainloader (cd)/boot/DOS-BOOT-IMAGE
Следует только иметь в виду, что никто не гарантирует, что в разных версиях ОС загрузчики будут одинаковы или хотя бы совместимы.
Первый шаг к Live-CD
Пока рассматриваемые нами решения бессильны в ситуации, когда испорченным оказалось ядро системы. Но и эту проблему можно разрешить минимальными усилиями. Достаточно разместить работоспособное ядро на том же CD, а в меню добавить следующие инструкции:
title Linux (kernel root=/dev/hda1)
kernel (cd)/boot/vmlinuz root=/dev/hda1
Вы видите, что теперь мы загружаем ядро с CD, но требуем, чтобы в качестве root-устройства была смонтирована первая партиция жёсткого диска. Если на первой партиции у вас действительно установлен Linux, то ядро (загруженное с CD) как ни в чём ни бывало смонтирует эту партицию как коревую файловую систему, и запустит процесс init.
С такого диска можно загрузить Linux, даже если были испорчены все загрузочные сектора и ядро.
Аналогично можно сохранить на CD ядро FreeBSD и программу его загрузки – loader. Здесь есть множество вариантов, потому что loader сам является весьма мощной программой и может загрузить ядро практически откуда угодно – от CD или локального диска до NFS или удалённого TFTPсервера.
Но следует помнить, что, увеличив функциональность нашего CD, мы снизили его универсальность. Воспользоваться новой функцией можно только при совпадении версий ядра. Иначе ядро-варяг, загруженное с CD, может не воспринять модули, хранящиеся на диске и рассчитанные на другое ядро. Даже при полном совпадении версий (но не сборок) недоразумение могут вызвать некоторые действия rc-скриптов (скажем, попытки поднять сетевые интерфейсы, поддержка которых не предусмотрена CD-ядром). Но в целом это довольно жизнеспособная схема.
Понятно, что следующим шагом после переноса ядра на CD будет перенос на CD init, rc-скриптов, а следовательно, и корневой файловой системы. Но тогда мы получим Live-CD со всеми его преимуществами и недостатками, а мы договорились не рассматривать вопросы создания загрузочных CD.
Перспективы GRUB
Напомню, что GRUB снабжён доброй сотней мегабайт документации. За рамками нашего рассмотрения остались возможности GRUB, связанные с загрузкой по сети (GRUB поддерживает сетевые интерфейсы и такие протоколы, как TFTP и DHCP), удалённым управлением, монтированием образов (только из grub shell). GRUB может выполнять и функции утилиты fdisk (хотя, мне кажется, что лучше не использовать его в этом качестве без крайней необходимости). С полученного нами диска можно произвести даже полноценную инсталляцию GRUB как менеджера загрузки. Оставим обсуждение этих вопросов разработчикам документации.