Командная строка загрузчика — это ограниченная по своим возможностям вычислительная среда, которая позволяет вносить некоторые изменения в процесс загрузки и в переменные, которые должны быть настроены перед началом загрузки. После выхода в командную строку загрузчика (пункт 6 в меню загрузки) вы увидите такое приглашение к вводу:
OK
Это и есть командная строка загрузчика. Слово OK выглядит вполне дружественным и ободряющим, но следует заметить, что это одна из немногих дружественных вещей в среде загрузчика. Ее нельзя рассматривать как полноценную командную строку операционной системы, она служит лишь инструментом, который дает возможность настроить процесс загрузки системы и не предназначена для несведущих или слабонервных пользователей. Любые изменения, которые вы вносите в командной строке загрузчика, оказывают воздействие только на текущий процесс загрузки. Чтобы отменить изменения, необходимо выполнить перезагрузку. (Как запоминать изменения, произведенные в командной строке загрузчика, вы узнаете в следующем разделе.)
Чтобы увидеть перечень всех доступных команд, введите знак вопроса.
OK
?
Первые три команды загрузчика, перечисленные выше, практически бесполезны и могут пригодиться разве что разработчику. Мы же сосредоточим свое внимание на командах, которые могут использоваться для администрирования системы.
Чтобы увидеть перечень дисков, доступных для загрузчика, используйте команду lsdev
.
OK
lsdev
Загрузчик проверил наличие приводов компакт-дисков (1) и не нашел ни одного. (Загрузчик может обнаружить приводы компакт-дисков только при загрузке с компакт-диска, поэтому на этот счет не стоит беспокоиться.) Он обнаружил два жестких диска, которые в BIOS известны под именами C (2) и D (4). Далее следуют описания разделов, обнаруженных на этих жестких дисках. Как будет говориться в главе 8, имя устройства с корневым разделом обычно оканчивается символом a. Это означает, что здесь под именем disk0s1a
показан корневой раздел (3). Если бы вам пришлось столкнуться с неполадками во время загрузки незнакомой системы, это знание оказалось бы весьма полезным.
Загрузчик использует в своей работе переменные, значения которых устанавливаются ядром или берутся из конфигурационных файлов. Увидеть переменные и их значения можно с помощью команды show
.
OK
show
Нажатие клавиши пробела приведет к появлению следующей страницы. Эти значения включают номера IRQ и адреса памяти для старых карт ISA, низкоуровневые параметры настройки ядра и информацию, извлеченную из BIOS. Частичный список переменных загрузчика мы увидим в разделе «Настройка загрузчика»; еще ряд значений будут встречаться на протяжении всей книги в соответствующих разделах.
Изменить эти значения для каждой конкретной загрузки можно с помощью команды set
. Например, чтобы изменить значение console
на comconsole
, необходимо ввести следующую команду:
OK
set console=comconsole
К тому моменту, как загрузчик предоставит в ваше распоряжение свою командную строку, ядро уже будет загружено в память. Ядро — это сердце FreeBSD и подробно будет рассматриваться в главе 5. Если ранее вам никогда не доводилось работать с ядром, просто приберегите эти лакомые кусочки до соответствующей главы. Увидеть ядро и модули ядра, загруженные в память, можно с помощью команды lsmod
.
OK
lsmod
Хотя некоторые из этих сведений имеют ценность только для разработчиков, тем не менее много интересного они могут дать и системному администратору. Наиболее интересная информация — это путь к загруженному ядру (1). Это всегда должен быть /boot/kernel/kernel, если загрузчик не настроен на загрузку ядра из какого-либо другого места.
Вы также получаете список модулей, подключаемых при каждой загрузке файла ядра (2). В данном примере приводится список модулей непосредственно из самого ядра, начиная от elink (3) и заканчивая cam (4). Загрузчик также загрузил файлы snd_via8233 (5), sound (6) и atapicam (7) с соответствующими им модулями.
Чтобы полностью стереть из памяти загруженное ядро вместе со всеми модулями, используйте команду unload
.
OK
unload
Никакого подтверждения успешного выполнения этой операции вы не получите, но последующая команда lsmod
продемонстрирует, что загрузчик не имеет никакой информации о файлах ядра.
Для загрузки другого ядра используется команда load
.
OK
load boot/kernel.good/kernel
В ответ загрузчик сообщит имя файла и выведет кое-какую дополнительную техническую информацию.
Хотя я и коснулся здесь вопроса загрузки альтернативного ядра, тем не менее, прежде чем делать это, вы должны четко понимать, зачем это необходимо и как безопаснее это сделать. Перейдите к главе 5 и прочитайте обсуждение в разделе «Загрузка альтернативного ядра».
После того как вы загрузите систему необходимым вам способом, вам может потребоваться сохранить параметры загрузки для последующего использования. Система FreeBSD позволяет сделать это с помощью файла /boot/loader.conf. Однако прежде чем вносить какие-либо изменения, вы должны понять, какие конфигурационные файлы используются системой по умолчанию.