Оживляем винтик

Сергей КРУШНЕВИЧ
sergeyk@bk.ru
травень 2004
Статтю надрукованоу тижневику "Мой игровой компьютер"


В прошлый раз мы рассмотрели один из многих способов разбивки жесткого диска, сегодня сделаем его системным и попробуем загрузится.

  В прошлой статье я советовал сделать загрузочный диск системным, используя команду format c: /s, но если вы забыли это сделать, либо при выполнении операции программа заявила о нехватке оперативной памяти для копирования файлов, то можно использовать специально для этого предназначенную программу sys.com

Перед тем как делать диск системным (будем считать, что он является с:), я хочу сделать небольшое научное отступление. 

Научное отступление

Как же происходит загрузка с диска? Очень просто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.

  Создаем config.sys

Этот файл представляет собой набор инструкций. Его можно создать с помощью любого текстового редактора (например под 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