Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение. |
Запуск и остановка системы
Начальная загрузка системы
Загрузка Solaris 10 на компьютерах SPARC
После включения компьютера записанное в ПЗУ программное обеспечение (firmware) запускает процедуру самотестирования компьютера (power-on self-test – POST). То, как проходит эта процедура, зависит от конфигурации и модели компьютера.
Если тест прошел нормально, то программа автозагрузки пытается загрузить систему, используя имя устройства и имя файла ядра, записанные в ПЗУ.
Эти параметры могут быть изменены программой eeprom при интерактивной работе с Solaris из командной строки или после остановки системы – из командной строки ok, которую выдаст firmware по завершении остановки системы.
Программа, которая запускается после начального загрузчика, называется ufsboot, если загрузка происходит с диска, или inetboot, если выполняется загрузка по сети.
Загрузка по сети
Загрузка по сети может идти с применением DHCP или RARP/bootparams, зависимости от настроек, записанных в ПЗУ и реальной конфигурации сети (для настройки по DHCP в сети должен быть доступен DHCP-сервер).
Команду boot среды OpenBoot (иначе говоря, командной строки firmware) можно использовать для задания протокола загрузки явным образом:
boot net:rarp boot net:dhcp
или полагаясь на выбор сценария по умолчанию (тогда сценарий не указывается):
boot net
При этом загрузка осуществляется через тот интерфейс, для которого определен псевдоним net.
Загрузка через сеть с использованием RARP/bootparams
Начальный загрузчик из ПЗУ выполняет ARP-запрос (подробнее об ARP-запросах см. лекции 3 курса "Системное администрирование ОС Solaris 10") и, после получения ответа, посылает широковещательный запрос в локальную сеть по протоколу TFTP для загрузки программы inetboot из сети. Загрузив с ответившего TFTP-сервера программу inetboot, загрузчик передает ей управление, а она отправляет еще один ARP-запрос, после чего находит файловую систему в сети, с которой следует произвести загрузку ядра. Для этого inetboot использует протокол bootparams (см. man bootparams для получения детальной информации о протоколе). После того, как файловая система найдена, с нее по протоколу NFS загружается ядро и ему передается управление.
Загрузка через сеть с использованием DHCP
При загрузке по сети с использованием DHCP начальный загрузчик из ПЗУ посылает широковещательный запрос, в котором сообщает MAC-адрес своего компьютера и его архитектуру, запрашивая в ответ IP-адрес, параметры загрузки и настройки сети. После получения ответа начальный загрузчик загружает inetboot через сеть, inetboot загружает ядро, которое, в свою очередь, загружает необходимые ему файлы через сеть, после чего выгружает inetboot. Стартовые скрипты запускают dhcpagent, который выполняет оставшуюся часть настроек по DHCP.
Загрузка с диска
При загрузке с диска разделяют два этапа: начальная загрузка и вторичная. Начальная загрузка заключается в том, что программа загрузки из ПЗУ считывает вторичный загрузчик с загрузочного раздела диска, из блоков с первого по пятнадцатый.
Если имя файла ядра указано не как полное имя файла (начинающееся с символа /), то такое имя расценивается как относительное и вторичный загрузчик ищет ядро в каталоге, соответствующем аппаратной платформе компьютера. Тогда путь к ядру точно будет лежать через каталог /platform/platform-name. Для многих компьютеров SPARC после этого выполняется поиск в каталоге /platform/hardware-class-name. Если указано полное имя файла, загрузчик будет пытаться загрузить в точности тот файл, что указан. После загрузки файла ядра в память загрузчик передает ему управление.
Если имя файла ядра не указано и из других настроек не понятно, какое ядро следует загружать, загрузчик сам решает, какое ядро требуется, основываясь на том, какое ПО установлено в системе, на известных свойствах аппаратуры и firmware и на записях в файле политики загрузки boot.conf. О местоположении и содержимом этого файла будет рассказно ниже, в разделе "Файлы, используемые при загрузке системы".
Среда OpenBoot. Команда boot
В системах с архитектурой SPARC после процедуры самотестирования компьютера (POST), которую выполняет firmware, запускается загрузчик, предоставляющий интерфейс среды OpenBoot. В этой среде можно вводить команды в командной строке в ответ на приглашение среды. Приглашение среды представляет собой слово
ok
Здесь мы рассмотрим команду boot среды OpenBoot.
Синтаксис команды boot предполагает возможность указания загрузочного устройства и дополнительных аргументов:
boot [device] [arguments]
Если дать команду boot без параметров, то будет выполнена загрузка с устройства по умолчанию – то есть с того устройства, которое указано в переменной boot-device или diag-device в ПЗУ (NVRAM variable). Если система запускается в режиме диагностики, вместо переменных bootdevice и boot-file используются diag-device и diag-file.
Аргументы команды boot могут быть многострочными, они не анализируются загрузчиком OpenBoot, а передаются вторичному загрузчику как есть. Если команде boot переданы какие-нибудь аргументы, содержимое переменных boot-file и diag-file игнорируется. Например, если дана команда
boot –s
то подстрока "-s" расценивается как аргумент, а переменные boot-file и diag-file не принимаются во внимание.
boot net
и
boot cdrom
если даны без аргументов, будут использовать содержимое переменных boot-file и diag-file как путь к файлу ядра. Стало быть, когда boot-file содержит имя 64-разрядного ядра, а вы пытаетесь загрузиться с CD-ROM командой boot cdrom, то загрузка не состоится, если на CD-диске имеется только 32-разрядное ядро.
Для загрузки в специфическом режиме следует указывать команде boot соответствующие аргументы, в ответ на приглашение ok вводится команда:
Для SPARC-платформ
boot –as – загрузка ядра, используемого по умолчанию, в однопользовательском режиме;
boot kernel/unix –as – принудительная загрузка 32-разрядного ядра в однопользовательском режиме (для принудительной загрузки указывается имя файла явным образом);
boot kernel/sparcv9/unix –as – принудительная загрузка 64-разрядного ядра в однопользовательском режиме (для принудительной загрузки указывается имя файла явным образом).
Для более детального изучения команды boot в вашей системе следует использовать man boot ; помните, что на некоторых платформах, в зависимости от firmware, могут наблюдаться отклонения от описанной здесь и в документации схемы.
Загрузка Solaris 10 на компьютерах x86
На компьютерах x86 загрузка состоит из двух разных этапов: начальной загрузки и вторичной загрузки. Начальная загрузка выполняется BIOS системной платы и BIOS контроллеров. После процедуры POST начальный загрузчик пытается прочесть первый сектор с дискеты, компакт-диска, внешнего флэш-накопителя USB или жесткого диска, либо, если эта функция поддерживается, загрузить вторичный загрузчик через сеть. После того, как вторичный загрузчик записан в оперативную память, ему передается управление. Начальный загрузчик работает в режиме real mode процессора, а вторичный – в защищенном режиме (32-bit protected mode).
Вторичный загрузчик представляет собой знакомый по системам Linux загрузчик GRUB и способен считать ядро с диска из файловой системы UFS, компакт-диска или через сеть с использованием NFS.
Начиная с версии Solaris 10 1/06 описанная в этом и следующих двух абзацах процедура перестала использоваться. В версиях до Solaris 10 3/05 включительно в процессе загрузки применялся DCA (device configuration assistant). Вторичный загрузчик запускал программу DCA, которая определяет физические устройства компьютера. При этом системный администратор мог вмешаться в процесс определения устройств, если DCA их не мог верно определить автоматически.
После возвращения управления от DCA вторичный загрузчик выполнял скрипт /etc/bootrc, который управлял дальнейшим процессом загрузки. Обычный /etc/bootrc предлагает администратору ввести символ b для загрузки с определенными ключами и аргументами, символ i для запуска интерактивного командного интерпретатора и любой другой символ – для загрузки ядра с установками по умолчанию.
Для загрузки в специфическом режиме следует указывать команде boot соответствующие аргументы, так для x86 платформ в ответ на приглашение > вводится команда
b kernel/unix –as
для загрузки ядра, используемого по умолчанию, в однопользовательском режиме.