Оживляем винтик
Сергей КРУШНЕВИЧ
sergeyk@bk.ru
травень 2004
Статтю надрукованоу тижневику "Мой
игровой компьютер"
В прошлый раз
мы рассмотрели один из многих способов
разбивки жесткого диска, сегодня сделаем
его системным и попробуем загрузится.
Перед
тем как делать диск системным (будем
считать, что он является с:), я хочу
сделать небольшое научное отступление.
Как же происходит загрузка с диска? Очень простоJ. Когда BIOS (Basic input output system – базовая система ввода вывода) заканчивает первоначальную проверку (POST) и настройку оборудования он начинает пытается загрузить компьютер с дисков, которые указаны в настройках. Итак он доходит до нашего диска и считывает специальный загрузочный сектор (который находится в самом начале диска). В нем находится микро-загрузчик, он указывает на тип и расположение системных файлов, а также выводит сообщении (либо передает управление BIOSу), в случае невозможности выполнения загрузки.
Как правило системные файлы (тут и далее все относится лишь к о/с DOS/WIN) состоят из трех основных файлов: io.sys, msdos.sys и command.com. Для установки драйверов и предварительной настройки оборудования служат два дополнительных файла config.sys и autoexec.bat. config.sys содержит инструкции, которые выполняются в процессе загрузки, а autoexec.bat – по окончании загрузки. Хочу заметить, что операционные системы WinME (и выше) эти конфигурационные файлы, при загрузке окон, игнорирует.
Довольно
теории, переходим к практике.
Как я уже говорил, для копирования системных файлов и записи в загрузочный сектор диска используется программа sys.com, формат ее запуска следующий: sys.com [откуда: путь к системным файлам] [куда: системный диск]. Параметр «откуда» можно опустить, тогда системные файлы берутся из текущего каталога. Небольшой примерчик: sys a:\sys_files c: Системные файлы будут взяты из каталога sys_files диска a:\ и будут записаны на диск с:. В последних версиях окон (МЕ и выше) первый параметр не используется: sys c: Файлы будут взяты из текущего каталога.
Теперь попробуйте загрузится с новенького диска. Вы должны увидеть приглашение DOS: C:\>. Если не получилось, ищите ошибкиL.
Этот файл представляет собой набор инструкций. Его можно создать с помощью любого текстового редактора (например под DOS: edit.com, vc.com[shift+F4] или другой), но может случится, что система «голая» и ни один текстовый редактор недоступен. Тогда на помощь приходят встроенные команды DOS: copy con config.sys (копирование файла из устройства con (клавиатура – ввод, дисплей - вывод) в файл config.sys), файл создается построчно (Enter – перевод строки) поэтому вернутся к предведущей строчке будет невозможно(!), а для того чтобы закончить файл нужно нажать ctrl+z и Enter. Для просмотра полученного файла можно использовать команду type config.sys, а для его удаления – del config.sys. Естественно, как config.sys так и autoexec.bat должны находится в корневом каталоге загрузочного диска, вместе с основными системными файлами.
Итак, рассмотрим пример написания этого файла, с использованием меню:
DEVICE=с:\prg\himem.sys
rem Всве загружаемые драйвера из config.sys должны начинаться с признака DEVICE или DEVICEHIGH (Загрузка драйвера в верхнюю память, см. ниже), либо INSTALL – для загрузки обычных сом- или exe-файлов.
DEVICE=с:\prg\emm386.exe RAM
rem Загрузка менеджеров расширенной памяти
(Первых 640кбайт – базовая, выше 1Мбайта -
расширенная) и подготовка ее к работе, если
ее нету либо вы используете операционную
систему WinME
или выше то эти две строчки следует убрать.
dos=high,umb
rem
Перемещение ядра DOS
в верхнюю (между 640 и 1024кбайтом), это
приводит к освобождению базовой памяти для
работы программ DOS.
[MENU]
rem Начало загрузочного меню
MenuItem=CD_ON,
CD-ROM support is ON
MenuItem=CD_OFF,
CD-ROM support is OFF
rem
Создание пунктов меню. MenuItem=[идентификатор
(метка)], [текст;
будет виден при загрузке]
MenuDefault=CD_ON,15
rem
По умолчанию выбирается пункт меню CD_ON
через 15
секунд, если не была нажата ни одна клавиша.
MenuColor=10,1
rem
Цвет меню: текст, фон. Значения могут быть от
0 (черный) до 15 (белый).
[CD_ON]
rem идентификатор меню (уникальный)
DEVICEHIGH=с:\prg\SSCDROM.SYS
/D:MYCD /v /e
rem Загрузка драйвера CD-ROMа.
/D:MYCD –
ссылка на его драйвер. Ключи /v
и /e указывают
на необходимость использования
буферизации данных с диска в расширенной
памяти.
Include=CD_OFF
rem Команда перехода к загрузке пункта меню CD_OFF.
[CD_OFF]
Country=380,866,с:\prg\country.sys
device=с:\prg\display.sys
con=(ega,,1)
rem Эти две строчки указывают, что будет использована кодовая страница 866 – кириллица, набор национальных стандартов находится в файле country.sys, а поддержка дисплея - display.sys.
[COMMON]
rem Здесь можно разместить инструкции, которые будут выполнятся после выбранного пункта меню. Если вы не собираетесь использовать загрузочное меню, то с самого начала файла просто пишем инструкции (без всяких мenu и сommon).
И незабываем про autoexec.bat
Аналогичным образом создаем файл autoexec.bat:
@ECHO
OFF
rem Для того чтобы выполняемая строчка не выводилась на экран, перед ней нужно поставить знак @. Команда ECHO OFF запрещает вывод на экран (дублирование) последующих строк.
prompt
$p$g
rem Устанавливает формат строки приглашения MS-DOS. После этой команды можно поставить текст или специальные команды, например: «$Q» выводит «=», «$$»-«$»,«$T»- «Текущее время», «$D»- «Текущая дата», «$P»-«Текущий диск и маршрут», «$V»-«Версия MS-DOS», «$N»- «Текущий диск», «$G»- «>», «$L»- «<», «$B»- «|», «$_»-«Перевод строки», «$E»- «ESC-код ASCII (27)», «$H»- «Удаление предыдущего символа». Попробуйте следующий фрагмент: prompt $t$h$h$h$h$h$h $p$g.
IF
"%config%"=="CD_OFF" GOTO CD_OFF
rem %config% - Пункт меню, выбранный во время загрузки. Знак сравнения состоит из двух знаков «=». Остальное как и в любом языке программирования.
echo.
rem Просто выводит пустую строчку.
echo
Support CD-ROM enabled.
rem Выводит заданную строчку. В любом месте файла можно вставить символ с комом ASCII 07, что приведет к воспроизведению звука «бип» из динамика ПК. Этот символ можно ввести нажав клавишу Alt и не отпуская ее набрать 07 (или просто 7) на дополнительной клавиатуре.
LH
c:\prg\MSCDEX.EXE /D:MYCD /L:%CDROM% /E
rem Загрузка программы в верхнею память (приставка LH=LoadHigh), которая обеспечивает работу CD-ROMа. /L: – ссылка на драйвер CD-ROMа. /E – использовать расширенную память для буферизации чтения.
:CD_OFF
rem Матка, на которую может ссылаться оператор GOTO.
path
с:\prg;с:\temp
rem Установка путей умолчания. После ввода вами (или из пакетного файла) имени файла, он сначала ищется в текущей директории, а затем в указанных.
mode.com
con cp prepare=((866) a:\prg\ega3.cpi)
rem Подготавливает для использования кодовую страницу 866
mode.com
con cp select=866
rem Выбирает кодовую страницу 866. Теперь кириллица будет отображаться.
LH
keyb.com ur,,a:\prg\keybrd3.sys
rem Загрузка драйвера клавиатуры, устанавливается две раскладки – латинская и украинская (ur). Переключение раскладки – левая и правая пара ctrl+shift.
LH
c:\startup\other\vc
rem Загрузка Volcov Commander’a.
На этом изучение файла autoexec.bat можно завершить. Здесь была описана лишь малая часть команд и операторов, на самом деле их намного больше!
Когда системные файлы на месте, осталось лишь создать папку и записать туда необходимые файлы. В ДОСе папку можно создать командой md [имя папки]. Имя должно состоять не более чем из 8+3 символов («8 символов» точка «3 символа»), например MYFOLDER.DRV или просто MYFLD. Удалить папку можно командой rd [имя папки]. Для копирования файлов служит команда copy [что и откуда] [куда], эта команда также поддерживает маски: «*» - любая последовательность (и любое количество) символов, «?» - любой один символ.
Если вы будете следовать порядку, предложенному в этой статье, то в папке c:\prg должны находится следующие файлы: sscdrom.sys(драйвер сидюка, может называться иначе), country.sys, display.sys, ega3.cpi, emm386.exe, himem.sys, keybrd3.sys, mode.com, mscdex.exe, fdisk.exe, sys.com, format.com.
Это неизменный атрибут любого мучителя ПКJ и непременно должен находится всегда под рукой. Изложенные примеры системных файлов наиболее подходят для загрузочной дискеты, в примере необходимо изменить лишь диск с: на а:. Лучше всего для создания такой дискеты подходят 98-окна.
При работе из под ДОСа, при
отсутствии файлового менеджера, очень
могут пригодится встроенные команды,
которые вы хорошо помните. А для тех, кто (не)
знал и забылJ,
повторяю: dir
– выводит содержимое текущего каталога (команда
поддерживает маски, например: dir *.ехе);
cd [имя] – изменяет текущею
директорию (например: cd c:\prg);
переход на нужный диск осуществляется
просто вводом его буквенного имени с
двоеточием (с:).
Устанавливая Win2000 или WinXP, у вас может возникнуть вопрос – «А какую файловую систему выбрать?». Попробую коротко ответить на этот вопрос.
FAT16 (file allocation table - таблица размещения файлов) - файловая система, используемая MS-DOS и операционными системами ранних семейств Windows. Эта файловая система не может работать с логическими дисками, объемом более 4 Гбайт, и имеет сравнительно большой размер кластеров (маленькие файлы будут занимать больше места, подробней читайте на страницах МК).
FAT32 - файловая система, производная от системы FAT16. FAT32 поддерживает меньшие размеры кластеров, что позволяет более эффективно использовать дисковое пространство. Появилась вместе с Win95/OSR2 и стала широко использоваться до наших дней. FAT32 позволяет работать с логическими дисками, размер которых превышает 4 Гбайта.
NTFS (New/Network Technology File System, существует несколько расшифровок) - модернизированная файловая система, которая обеспечивает высоки уровень безопасности, а также дополнительные возможности, которые недоступные ни в FAT16, ни в FAT32. Например, для обеспечения целостности данных в файловой системе NTFS используются специальные технологии записи и восстановления транзакций. В случае сбоя компьютера целостность файловой системы восстанавливается с помощью специального файла-журнала файловой системы и данных о контрольных точках. В операционных системах Win2000 и WinXP эта файловая система обеспечивает дополнительные возможности (сжатие файлов и папок, организация безопасного доступа разных юзеров к данным и много др.).
Какую из них выбрать, решать вам, но например FAT16 можно встретить лишь на небольших дисках. Тогда остаются FAT32 и NTFS. NTFS обеспечивает высокий уровень сохраности данных и безопасность их хранения, поэтому эту файловую систему я бы рекомендовал лишь в случае работы с важными (секретнымиJ) документами. Для домашней мультимедийной платформы, на мой взгляд, больше подходит FAT32, особенно если вы хотите установить две операционные системы (например WinXP + WinME).
На этой ноте я хочу попрощаться с вами, и главное – пусть переустановка операционки будет проходить по вашему желанию, а не по ее собственному:)! Удачи!25.08.2007