Если устройство не инициализируется во время самотестирования при загрузке (POST), то возможны проблемы с доступом к этому устройству. Если устройство было добавлено или модифицировано при предыдущем запуске системы, то проблема может быть вызвана новой конфигурацией системы.
Если вы вносили изменения в конфигурацию дисковой подсистемы, необходимо обратить внимание на следующее:
правильность установки терминаторов на SCSI-шлейфах;
BIOS активизирована только на первом контроллере SCSI (если вообще активизирована);
отсутствие конфликтов по IRQ.
Если вы не вносили никаких изменений, проверьте следующее:
правильность установки карт контроллеров;
правильность подключения всех кабелей;
подачу питания на все диски.
Здесь обсуждаются действия, которые можно предпринять для выяснения причин, препятствующих успешной загрузке системы Windows Server 2003. Далее будут кратко рассмотрены ситуации, когда компьютер "зависает" или отображает сообщение об ошибке прежде, чем пользователь получает возможность зарегистрироваться в системе. Помимо этого, будут перечислены возможные причины возникновения проблем с диском и пути устранения этих неполадок.
Существует целый ряд причин, по которым компьютер не может успешно выполнить загрузку. Первый шаг в их выявлении — определение времени возникновения проблемы. Например, если на компьютерах х86 проблема возникает до появления экрана загрузчика, то причиной ее возникновения может быть как аппаратный сбой, так и повреждение главной загрузочной записи, таблицы разделов или загрузочного сектора раздела.
К таким повреждениям может привести ряд факторов. Например, на компьютерах х86 прерывание BIOS INT 13 часто используется вирусами для самоинсталляции. Windows 2000/XP и Windows Server 2003 перехватывают прерывания INT 13, но только в том случае, когда система уже загрузилась. Если компьютер загрузить с помощью системной дискеты MS-DOS, а также в том случае, когда система с двойной загрузкой загружается под управлением MS-DOS, Windows NT/2000/XP и Windows Server 2003 не могут защитить себя от такой угрозы. В Microsoft Knowledge Base есть ряд статей с рекомендациями по защите компьютера от вирусов и описанием методов восстановления системы, поврежденной вирусами.
Если проблема возникает уже после появления меню загрузчика и выбора в нем Windows Server 2003, то причина может быть в том, что файлы, необходимые для загрузки операционной системы, отсутствуют или повреждены.
В случае инсталляции новых физических устройств или новых драйверов причиной проблем с загрузкой системы могут быть изменение конфигурации системы и ее несовместимость с этими устройствами или драйверами.
Авторы считают своим долгом отослать заинтересованных читателей к источникам информации, где они могут получить исчерпывающие ответы на все интересующие их вопросы. Вот список этих источников.
Глава 23 "Восстановление системы" полностью посвящена подготовке и проведению восстановительных процедур.
Глава 24 "Работа с системным реестром" содержит обзорную информацию о реестре Windows Server 2003 и его использовании в целях диагностики и устранения неполадок в работе.
Встроенная справочная система Windows Server 2003 дает сведения по диагностике неполадок и их устранению.
Microsoft Knowledge Base содержит большой объем информации, подготовленной сертифицированными специалистами по поддержке продуктов Microsoft. База данных Knowledge Base доступна из следующих источников:
Компакт-диски MSDN (Microsoft Developer Network);
Компакт-диски TechNet;
http://support.microsoft.com.
http://msdn.microsoft.com/windowserver2003 — масса полезной информации для разработчиков.
http://www.microsoft.com/ddk/debugging/ — ссылки на дополнительные источники с информацией по отладке.
При инсталляции Windows NT/2000/XP или Windows Server 2003 на компьютерах х86 программа инсталляции помещает в корневой каталог системного раздела файл Boot.ini. NTLDR использует информацию из этого файла для отображения экрана, позволяющего пользователю выбирать операционную систему для загрузки.
Пример файла Boot.ini приведен ниже.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINXP
[operating systems]
multi(O)disk(O)rdisk(0)partition(1)\WINNT=" Microsoft Windows 2000 Professional" /fastdetect /noguiboot
multi"(0)disk(0)rdisk(0)partition(2)\WINXP=" Microsoft Windows XP Professional" /fastdetect
multi (0)disk(0)rdisk(0)partition(3)\WINDOWS=" Windows Server 2003, Standard" /fastdetect
С:\CMDCONS\BOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons
C:\="Microsoft Windows"
Файл Boot.ini состоит из разделов [boot loader] и [operating systems], описанных ниже.
Успешное завершение процедуры POST свидетельствует о корректной инициализации аппаратных средств компьютера. Теперь для запуска операционной системы требуется присутствие всех нужных файлов. Процедура запуска системы закончится неудачей, если хотя бы один из файлов, необходимых для ее загрузки, не будет найден или окажется поврежденным.
Файлы, необходимые для успешного запуска Windows NT/2000/XP, а также продуктов из семейства Windows Server 2003 на компьютерах х86, перечислены в табл. 3.1.
Таблица 3.1. Файлы, необходимые для запуска Windows NT/2000/XP и продуктов из семейства Windows Server 2003
Файлы | Местоположение | Описание | |||
NTLDR | Корневой каталог системного диска | Загрузчик операционной системы | |||
Boot.ini | Корневой каталог системного диска | Файл, задающий пути к каталогам, в которых установлены копии операционных систем. Подробное описание опций файла Boot.ini будет приведено далее в этой главе | |||
Bootsect.dos (только в системах с двойной загрузкой, где в качестве альтернативной операционной системы используются MS-DOS, Windows 3.1 х или Windows 9x/ ME; этот файл необходим для загрузки альтернативной ОС) | Корневой каталог системного диска | Скрытый системный файл, содержащий копию загрузочного сектора, используемого для загрузки альтернативных операционных систем | |||
Ntdetect.com | Корневой каталог системного диска | Распознаватель аппаратной конфигурации. Передает загрузчику (Ntldr) информацию об обнаруженных и распознанных аппаратных средствах | |||
Ntbootdd.sys (только для SCSI) | Корневой каталог системного диска | Драйвер, используемый для доступа к жестким дискам SCSI. Содержимое этого файла зависит от используемого контроллера | |||
Ntoskrnl.exe | %SystemRoot% \system32 | Ядро операционной системы | |||
Hal.dll | %SystemRoot% \system32 | Уровень аппаратных абстракций — Hardware Abstraction Layer, HAL). Изолирует низкоуровневые подробности функционирования аппаратных устройств от остальной операционной системы и предоставляет API для обращения к однотипным устройствам. Дистрибутивный компакт-диск содержит различные версии HAL. Файл, который будет скопирован на ваш компьютер в процессе инсталляции, зависит от аппаратной конфигурации вашего компьютера | |||
Улей реестра SYSTEM | %SystemRoot% \system32\Config | Ключ реестра HKEY LOCAL MACHINE\SYSTEM | |||
Драйверы устройств | %SystemRoot% \system32\Drivers | Файлы драйверов устройств, установленных в вашей системе |
NTLDR управляет процессами выбора операционной системы и распознавания аппаратных средств перед инициализацией ядра. Загрузчик NTLDR должен находиться в корневом каталоге системного диска. Помимо этого, в системном разделе должны присутствовать файлы, перечисленные в табл. 3.1.
Когда NTLDR начинает выполнение, он очищает экран и выполняет следующие действия.
1. Переключает процессор в режим использования 32-разрядной модели памяти с прямой адресацией. Компьютеры х86 при запуске стартуют в реальном режиме, подобном режиму, в котором стартуют процессоры 8088 и 8086. Поскольку NTLDR представляет собой 32-разрядную программу, для того чтобы загрузчик смог начать выполнять какие бы то ни было действия, процессор необходимо переключить в защищенный режим.
2. Запускает соответствующую мини-файловую систему. Код, предназначенный для доступа к файлам на томах FAT и NTFS, встроен в NTFS. Этот код позволяет загрузчику читать файлы, получать доступ к ним и выполнять их копирование.
3. Читает расположенный в корневом каталоге системного диска файл Boot.ini и отображает на экране соответствующее меню для выбора загружаемой операционной системы. Экран, выводимый на данном этапе загрузки, называется экраном загрузчика (boot loader screen). Если компьютер сконфигурирован для загрузки нескольких систем, и пользователь выбирает операционную систему, отличную от Windows NT/2000/XP или Windows Server 2003, то NTLDR загружает в память файл Bootsect.dos и передает ему управление. Другая операционная система стартует как обычно, поскольку файл Bootsect.dos содержит копию загрузочного сектора раздела, который находился на основном разделе или логическом диске до инсталляции Windows NT/2000/XP или Windows Server 2003.
4. Если выбрана одна из версий Windows NT/2000/XP или Windows Server 2003, то выполняется Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру.
5. Загружает и запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.
В системах Windows 2000, Windows XP и Windows Server 2003. об инициализации ядра сигнализирует появление графической заставки (рис. 3.2). Это — чисто "косметическое" отличие от Windows NT 4.0, которое не меняет принципов загрузки Windows 2000/XP и Windows Server 2003 по сравнению с предыдущей версией системы.
Рис. 3.2. Появление графической заставки сигнализирует о начале инициализации ядра
Хотите убедиться в справедливости сказанного? Нет ничего проще. Добавив ключ /SOS в строку файла Boot.ini, управляющего содержимым меню загрузчика и режимом загрузки операционной системы, перезагрузите компьютер. Использование этой опции позволяет пользователю видеть всю последовательность загрузки драйверов.
Ядро создает ключ HREY_LOCAL_MACHINE\HARDWARE, используя информацию, полученную от загрузчика. Ключ HKEY_LOCAL_MACHINE\HARDWARE содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о прерываниях, используемых конкретными аппаратными устройствами.
Ядро создает набор опций управления Clone, копируя в него опции управления из набора CurrentControlSet. Набор опций управления Clone никогда не модифицируется, т. к. он должен представлять собой полностью идентичную копию данных, которые использовались для конфигурирования компьютера и не должны отражать изменений, внесенных в ходе процесса запуска.
На стадии инициализации ядро выполняет следующие операции:
1. Инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии.
2. Загружает и инициализирует остальные драйверы устройств.
3. Запускает программы, например Chkdsk, которые должны отработать прежде, чем будут загружены какие-либо сервисы.
4. Загружает и инициализирует сервисы.
5. Создает файл подкачки pagefile.sys.
6. Запускает подсистемы, необходимые для работы Windows.
Windows XP и Windows Server 2003, в отличие от Windows NT/2000, выполняют параллельную инициализацию драйверов. Это сделано с целью ускорения процесса загрузки. Вместо того, чтобы ожидать инициализации предыдущего драйвера для того, чтобы начать инициализацию следующего, эти операции теперь выполняются параллельно. Таким образом, определяющее влияние на общее время загрузки оказывает самое медленное устройство.
После успешного завершения процедуры POST начинается процесс инициализации при запуске: на компьютерах х86 системная BIOS ищет и загружает в память загрузочный сектор (boot sector), инструкции которого затем загружают файл NTLDR.
После завершения тестов POST на компьютере х8б системная BIOS пытается обнаружить загрузочный диск. Порядок поиска загрузочного диска (флоппи-дисководы, жесткие IDE- и SCSI-диски, устройства CD-ROM) задается BIOS. Современные BIOS позволяют пользователю переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Подробную информацию о редактировании последовательности загрузки можно найти в сопроводительной документации к вашему компьютеру. Если при этом дисковод А: включен в последовательность загрузки первым, и в нем находится дискета, BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет, BIOS проверяет первый жесткий диск, который к этому времени уже инициализировался. Для запуска огромное значение имеет первый сектор жесткого диска, который содержит главную загрузочную запись (Master Boot Record, MBR) и таблицу разделов (partition table).
В дополнение к дискетам и жестким дискам, BIOS может позволять загрузку операционной системы с других загрузочных носителей, к числу которых относятся компакт-диски, сетевые адаптеры, диски Zip или LS-120.
Если вы с помощью программы BIOS Setup установили последовательность загрузки "CDROM, А, С", то BIOS в первую очередь будет пытаться найти загрузочный носитель в устройстве CD-ROM и флоппи-дисководе. Попытка загрузки с жесткого диска будет предпринята только в том случае, если ни устройство CD-ROM, ни флоппи-дисковод не содержат загрузочного носителя. Когда вы пытаетесь выполнить загрузку с дистрибутивного компакт-диска, программа Setup просматривает жесткий диск и пытается найти уже существующую установленную копию Windows Server 2003. Если такая копия будет обнаружена, то будет выведено сообщение Press any key to boot from CD-ROM. Если вы в течение 3 секунд не нажмете на любую из клавиш, то программа Setup не запустится, и вы сможете обойти загрузку с компакт-диска. Поэтому, если вы не планируете запускать программу Setup для установки Windows Server 2003 или выполнения восстановительных работ, рекомендуется извлечь из устройства CD-ROM все компакт-диски, т. к. это позволит минимизировать время, требующееся для загрузки Windows Server 2003.
Сообщение STOP указывает, что Windows Server 2003 не может получить доступ к загрузочному сектору раздела или может, но не находит там необходимую информацию. Чаще всего причиной возникновения такой ошибки является заражение вирусами.
Испорченный загрузочный сектор раздела также может вызвать ошибку STOP, но это зависит от того, какая из его областей повреждена. Эта проблема похожа на заражение вирусом, однако в данном случае причиной повреждения может являться дефектный диск или контроллер, а в ряде случаев — ошибка в программном обеспечении, которое своими неправильными действиями нанесло повреждение загрузочному сектору раздела.
Здесь описаны проблемы, которые могут возникнуть на этапе между включением компьютера и появлением экрана загрузчика. Их симптомы перечислены в табл. 3.4.
Таблица 3.4. Симптомы проблем, возникающих до появления экрана загрузчика
Симптом | Возможная причина | ||
Процедура POST завершается аварийно, параметры настройки CMOS не сохраняются | Повреждена энергонезависимая память CMOS или требуется замена батареи, поддерживающей сохранение параметров CMOS | ||
Процедура POST отображает одно из следующих сообщений: Hard disk error. Hard disk absent/failed. | Процедура самотестирования при включении (POST) сигнализирует о неисправных или неправильно установленных устройствах. Для устранения аппаратных неполадок рекомендуется тщательно изучить сопроводительную документацию, поставляемую в комплекте с вашим компьютером, а также выполнить проверку базовых аппаратных средств. В частности, необходимо убедиться в том, что все кабели правильно подключены, а все внутренние устройства правильно установлены. Помимо этого, убедитесь в том, что все периферийные устройства (например, клавиатура), необходимые для завершения процедуры POST, правильно подключены и работоспособны. Если речь идет о подключении жестких дисков, убедитесь в правильности установки DIP-переключателей и перемычек (jumpers) | ||
Появление сообщений, подобных следующим: Missing operating system. Insert a system diskette and restart the system. | Повреждена главная загрузочная запись (MBR). Простейшим методом восстановления поврежденной MBR является использование Recovery Console с последующим запуском команды FIXMBR. Эта команда использует следующий синтаксис: Fixmbr [device_name] Здесь device_name— диск, для которого требуется восстановить поврежденную MBR, например: fixmbr \Device\HardDisk0 Если параметр device_name пропущен, то MBR будет переписана для диска, с которого выполняется загрузка операционной системы. Обратите внимание на то, что вам будет предложено подтвердить свое намерение в том случае, если будет обнаружена поврежденная таблица разделов | ||
Появление сообщений, подобных следующим: Invalid partition table. A disk-read error occurred. | Повреждена таблица разделов. Устранить эту проблему можно с помощью утилиты DiskProbe (она входит, например, в состав Windows XP Resource Kit) или любого другого низкоуровневого дискового редактора. Чтобы быть во всеоружии на случай возникновения подобной проблемы, рекомендуется предварительно создать резервную копию MBR и таблицы разделов с помощью утилиты DiskProbe. Обратите внимание, что если повреждена не только таблица разделов, но и MBR, то, скорее всего, вы не сможете запустить Windows. Перед восстановлением таблицы разделов (например, с помощью DiskProbe) вам потребуется запустить Recovery Console для замены поврежденной MBR | ||
Невозможность получить доступ к меню загрузчика и запустить Windows после попытки организовать мультизагрузочную систему | Загрузочный сектор Windows переписан загрузочным сектором другой операционной системы. В составе Recovery Console имеется команда FIXBOOT, позволяющая выполнить замену перезаписанного загрузочного сектора | ||
Появление сообщений, подобных следующим: Couldn't find loader Please insert another disk. | Загрузчик (Ntldr) отсутствует или поврежден. Для замены одного или несколькоих поврежденных системных файлов пригодными к использованию резервными копиями следует загрузить параллельную копию операционной системы, выполнить загрузку с загрузочных дискет или воспользоваться возможностями Recovery Console | ||
Сообщение об отсутствии или повреждении Ntoskrnl.exe, Ntdetect.com или улья реестра SYSTEM | Один из файлов, необходимых для загрузки, отсутствует или поврежден. К числу возможных причин можно также отнести неверную установку параметров в файле Boot.ini. Для замены одного или нескольких поврежденных системных файлов пригодными к использованию резервными копиями следует загрузить параллельную копию операционной системы, выполнить загрузку с загрузочных дискет или воспользоваться возможностями Recovery Console | ||
Появление "синего экрана" (сообщение STOP) | Причины могут носить как аппаратный, так и программный характер |
Загрузчик (boot loader) позволяет выбрать операционную систему, которую требуется запустить, и загружает файлы операционной системы из загрузочного раздела. Общие задачи, выполняемые на данном этапе, сводятся к установке 32-разрядной модели памяти с прямой адресацией (flat addressing), сбору данных об аппаратной конфигурации, построению ее описания в памяти и передаче указателя на это описание в блок загрузчика. После этого NTLDR (для платформ х86) загружает образ ядра, HAL и драйверы для устройств и файловой системы тома, с которого производится загрузка системы. Помимо всего прочего, на данном этапе производится также и загрузка некоторых драйверов, для которых равен нулю параметр реестра start, расположенный под следующим ключом реестра:
HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\ServiceName
Здесь service/feme представляет собой имя сервиса, например:
HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\atapi
Важность системного реестра невозможно переоценить, т. к. уже на данном этапе (работа загрузчика) он становится необходимым для загрузки системы. Если улей (hive) System, требующийся в том числе и для загрузки драйверов, не будет обнаружен (или окажется поврежденным), то на экране появится примерно следующее сообщение об ошибке:
Windows could not start because the following file is missing of corrupt:
\WINDOWS\SYSTEM32\CONFIG\SYSTEM
You can attempt to repair this file by starting Windows Setup using the original Setup CD-ROM.
Select 'r' at the first screen to start repair.
Подробную информацию о системном реестре, а также процедурах его резервного копирования и восстановления можно найти в главе 24 "Работа с системным реестром". Здесь же следует отметить, что улей реестра System в работающей системе пользователи видят в составе дерева HKEY_LOCAL_MACHINE. Этот улей определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчик операционной системы, так и диспетчер ввода/вывода.
Если в меню загрузчика выбрана одна из версий Windows NT/2000/XP или Windows Server 2003 (или же начала загружаться система по умолчанию, когда истек срок действия таймера), то NTLDR вызывает Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру. Ntdetect.com возвращает полученную информацию загрузчику NTLDR.
Параметры, содержащиеся в этом разделе, описаны в табл. 3.2.
Таблица 3.2. Параметры, используемые в разделе [boot loader] файла Boot.ini
Параметр | Описание | ||
timeout | Количество секунд, имеющееся в распоряжении пользователя для того, чтобы выбрать загружаемую операционную систему в меню загрузки, отображенном на экране. Если по истечении этого срока выбор операционной системы не сделан, NTLDR начнет загрузку операционной системы по умолчанию. Если значение параметра timeout равно 0, загрузчик сразу же начинает загрузку операционной системы по умолчанию, не позволяя пользователю сделать выбор. Если значение этого параметра установить на -1, то загрузчик будет ожидать выбора пользователя неограниченно долго. Значение -1 не воспринимается как допустимое в группе параметров System на панели управления, где задается значение timeout; поэтому для того, чтобы установить параметр timeout в —1 , вы должны вручную отредактировать файл Boot.ini | ||
default | Путь к операционной системе, загружаемой по умолчанию |
Меню загрузки не появится, если на компьютере установлена только одна копия Windows XP или Windows Server 2003. В этом случае загрузчик будет игнорировать значение параметра timeout и немедленно запустит операционную систему.
Этот раздел содержит список доступных для загрузки операционных систем. Каждая запись указывает путь к загрузочному разделу операционной системы, строку для отображения на экране в процессе загрузки и необязательные параметры.
Файл Boot.ini поддерживает загрузку множества версий операционных систем, построенных на основе ядра Windows NT (включая Windows 2000, Windows XP и продукты из семейства Windows Server 2003), а также запуск других операционных систем. В число альтернативных операционных систем, которые можно указать для загрузки в файле Boot.ini, входят Windows 9x, MS-DOS, а также OS/2, Linux и UNIX. Более подробную информацию об организации систем с двойной загрузкой можно найти в главе 1 "Планирование и установка системы".
Записи в разделе [operating systems] файла Boot.ini допускают использование ряда параметров (табл. 3.3). В этих параметрах строчные и заглавные буквы не различаются. Параметры, доступные только в Windows 2000/XP и Windows Server 2003, помечены символом звездочки (*).
Таблица 3.3. Параметры, используемые в разделе [operating systems] файла Boot.ini
Параметр | Описание | ||
/BASEVIDEO | Компьютер загружается с использованием стандартного драйвера VGA. Если вы инсталлируете новый драйвер видеоадаптера, но он работает некорректно, выбор режима загрузки Windows 2000/XP или Windows Server 2003 с этим параметром позволит загрузить компьютер и заменить драйвер | ||
/BAUDRATE | Указывает скорость в бодах, которая будет использоваться для отладки. Если вы не установите скорость в бодах, то по умолчанию будет принята скорость 9600 (если к компьютеру подключен модем), и 19 200 — для нуль-модемного кабеля. Параметр оказывает побочный эффект, устанавливая также параметр /DEBUG вне зависимости от того, используете ли вы /DEBUG или нет | ||
/BOOTLOG* | Если указан этот параметр, то Windows 2000/XP или Windows Server 2003 будет записывать протокол загрузки в файл %SystemRoof%\Ntbtlog.txt. Этот файл указывает, какие драйверы были загружены и какие остались незагруженными | ||
/CRASHDEBUG | Отладчик загружается при запуске Windows 2000/XP или Windows Server 2003, но остается в неактивном состоянии до тех пор, пока не произойдет ошибка ядра. Этот режим особенно полезен, если в процессе вашей работы имеют место редкие непредсказуемые ошибки ядра | ||
/DEBUG | Отладчик загружается при запуске Windows 2000/XP или Windows Server 2003 и может активизироваться в любой момент хостом отладчика, подключенным к компьютеру. Этот режим рекомендуется использовать при отладке регулярно возникающих проблем | ||
/DEBUGPORT= COMx | Указывает СОМ-порт для использования при отладке, где х — номер коммуникационного порта, который вы собираетесь использовать. Как и ключ /BAUDRATE, этот ключ принудительно переводит компьютер в отладочный режим | ||
/FASTDETECT* | Этот параметр был впервые введен с появлением Windows 2000. Если на компьютере установлены ОС Windows NT 4.0, Windows 2000/XP и Windows Server 2003, то в процессе загрузки обеих операционных систем будет использоваться версия Ntdetect.com из более новой версии ОС. На этапе распознавания аппаратных средств в операционных системах, поддерживающих Plug and Play (начиная с Windows 2000), некоторые устройства распознаются драйверами Plug and Play, в то время как Windows NT 4.0, вследствие ограниченности поддержки Plug and Play, выполняет распознавание только с помощью Ntdetect. Если параметр /FASTDETECT указан, то Ntdetect не пытается распознавать такие устройства. Если нет, то Ntdetect будет выполнять энумерацию аппаратных средств в полном объеме. Таким образом, если вы имеете систему с двойной загрузкой, где на одном компьютере установлены Windows NT 4.0 и более поздние версии ОС из этого семейства, данный переключатель должен быть установлен для строк файла Boot.ini, запускающих Windows 2000/XP или Windows Server 2003, и пропущен для строк, осуществляющих запуск Windows NT 4.0 | ||
/MAXMEM | Определяет максимальный объем памяти (RAM), доступный для использования Windows. Этот параметр полезен, если вы подозреваете повреждение чипа памяти | ||
/NODEBUG | При использовании этого параметра отладочная информация на экран не выводится | ||
/NOGUIBOOT* | Новый параметр, появившийся в Windows 2000. Если он указан, то драйвер VGA, выполняющий вывод графической заставки в процессе загрузки системы, не инициализируется. Поскольку этот драйвер используется не только для отображения графической заставки, но и для отображения "синего экрана" (BSOD, Blue Screen of Death), то его блокировка приведет также к блокировке этой диагностической возможности | ||
/NOSERIALMICE= [COMx,y, z, . . .] | Блокирует определение последовательной мыши на указанных СОМ-портах. Этот режим рекомендуется использовать, если вы имеете другой компонент (не мышь), подключенный к последовательному порту в процессе запуска. Если использовать параметр /NOSERIALMICE без указания СОМ-порта, то определение последовательной мыши будет блокировано для всех СОМ-портов | ||
/SAFEBOOT* | Новый параметр, появившийся в Windows 2000. Стоит отметить, что практически никогда нет необходимости устанавливать его вручную, т. к. при нажатии клавиши <F8> загрузчик (NTLDR) автоматически использует его для выполнения загрузки в безопасном режиме (safe boot). Чтобы задать одну из опций безопасного режима загрузки, укажите двоеточие после этого параметра и задайте один из трех дополнительных переключателей: MINIMAL (опция Safe Mode), NETWORK (опция Safe Mode with Network) или DSREPAIR (опция Directory Services Repair). Как уже упоминалось ранее в этой главе, загрузка в безопасном режиме представляет собой режим загрузки, при котором Windows загружает только драйверы и сервисы, перечисленные поименно в ключах реестра Minimal и/или Network, расположенных В ключе HKLM\System\CurrentControlSet\ ControlXSafeBoot. Опция DSREPAIR применима только для контроллеров домена под управлением Windows 2000 Server или Windows Server 2003. Ее использование приводит к загрузке контроллера в режиме восстановления Active Directory; сами службы Active Directory при этом не запускаются. Переключатель /SAFEBOOT имеет еще одну дополнительную опцию— ALTERNATESHELL. Если вы укажете эту опцию, то в качестве графической оболочки Windows будет использовать программу, которая указана в составе ключа HKLM\ SystemXCurrent ControlSet \SafeBoot \Altemate Shell как альтернативная графическая оболочка. По умолчанию применяется стандартная графическая оболочка — Explorer | ||
/SOS | При использовании этого параметра на экране отображаются имена всех загружаемых драйверов. Данный параметр рекомендуется использовать, если Windows 2000, Windows XP или Windows Server 2003 не стартуют, и вы подозреваете отсутствие какого-либо драйвера |
Программа установки операционных систем Windows NT, Windows 2000, Windows XP и Windows Server 2003 помещает в корневой каталог системного раздела файл Boot.ini, формат и опции которого были рассмотрены в предыдущих разделах. Как и в Windows NT 4.0, этот файл получает атрибуты "только для чтения" (Read Only), "системный" (System) и "скрытый" (Hidden). Простейший и наиболее безопасный метод изменения файла Boot.ini — использовать значок System на панели управления. Для этого в меню Start (Пуск) выберите команду Control Panel | System (Панель управления | Система), в раскрывшемся окне перейдите на вкладку Advanced (Дополнительно) и нажмите кнопку Startup and Recovery (Загрузка и восстановление). Раскроется окно Startup and Recovery (рис. 3.3).
Рис. 3.3.Окно Startup and Recovery предоставляет простейший и наиболее безопасный метод изменения файла Boot.ini
В Windows 2000 окно Startup and Recovery позволяло указать операционную систему, запускаемую по умолчанию, а также задать временной интервал, в течение которого на экране будет оставаться меню загрузки, позволяющее пользователю выбрать операционную систему, отличную от указанной по умолчанию. В дополнение к этим возможностям, Windows XP и Windows Server 2003 позволяют также задать временной интервал, в течение которого на экране будут отображаться опции отладочного меню. Наконец, особого внимания заслуживает возможность ручного редактирования файла Boot.ini. Теперь, чтобы открыть файл Boot.ini для ручного редактирования с помощью текстового редактора Notepad, достаточно нажать кнопку Edit в окне Startup and Recovery. Удобство этой опции сложно переоценить, поскольку в Windows NT/2000 для этого требовалось предварительно снимать с файла Boot.ini атрибут защиты от записи, а затем, после сохранения внесенных изменений, восстанавливать этот атрибут.
Подсистема Win32 автоматически запускает процесс WinLogon.exe, который, в свою очередь, запускает процесс Диспетчера локальной безопасности (Local Security Authority, Lsass.exe). После завершения инициализации ядра необходимо произвести регистрацию пользователя в системе. Процедура регистрации может быть произведена автоматически на основании информации, хранящейся в реестре, или вручную. При ручной регистрации пользователя, в зависимости от выбранного способа регистрации в системе, появляется диалоговое окно Welcome to Windows с текстом Press Ctrl+Alt+Delete to begin. В любом случае, к этому моменту Windows XP/Windows Server 2003, как и Windows 2000, может еще продолжать инициализацию сетевых драйверов, однако пользователю уже разрешается зарегистрироваться в системе.
На данном этапе Service Control Manager выполняет загрузку автоматически стартующих сервисов, для которых значение start, расположенное в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\DriverWame, установлено равным 0x2. На этом этапе сервисы загружаются с учетом установленных для них зависимостей, поскольку их загрузка осуществляется параллельно. Зависимости описываются значимыми элементами DependOnGroup и DependOnService, расположенными под ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\DriverWame.
Кроме того, одновременно с появлением окна Welcome to Windows или окна Log On to Windows выполняется запуск сервисов, перечисленных в реестре под следующими ключами:
HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunServices
Как и для предыдущих версий Windows NT/ 2000, загрузка Windows XP/Windows Server 2003 не считается успешной до тех пор, пока в системе не зарегистрируется пользователь. После этого набор управляющих опций clone копируется В LastKnownGood.
После регистрации пользователя в системе происходят следующие процессы.
Обновление наборов управляющих параметров. Набор управляющих параметров, на который ссылается параметр реестра LastKnownGood, заменяется содержимым параметра clone, который создается каждый раз при запуске компьютера.
При включении питания или перезагрузке компьютер проходит стадию самотестирования (bootstrapping) аппаратных средств при включении питания (так называемую процедуру POST, Power-On Self-Test). В это время компьютер находится под управлением базовой системы ввода/вывода (Basic Input/Output System, BIOS). При возникновении проблем с аппаратными средствами или настройками уже на стадии POST компьютер сигнализирует об этом серией звуковых сигналов. На этот случай следует иметь под рукой сопроводительную документацию, полученную от поставщика в комплекте с вашим компьютером.
Как правило, аппаратные проблемы проявляют себя уже на ранних этапах загрузки. Признаком таких проблем являются аварийное завершение процедуры POST, появление экрана сообщения STOP или одного из следующих симптомов:
сразу после завершения фазы самотестирования (POST) компьютер "зависает";
экран загрузчика не появляется;
на экране появляются сообщения об ошибках следующего типа:
Missing operating system (Отсутствует операционная система);
A disk read error occurred (Ошибка чтения диска);
Insert a system diskette and restart the system (Вставьте системную дискету и перезагрузите систему);
invalid partition table (Неверная таблица разделов);
Hard Disk Error (Ошибка жесткого диска);
Hard Disk Absent/Failed (Жесткий диск отсутствует/отказал).
Вполне возможно, что в этой ситуации запустить компьютер вообще не удастся. Если все основные разделы отформатированы для применения файловой системы NTFS, использование утилит MS-DOS не поможет. Если у вас под рукой есть загрузочная дискета Windows Server 2003, изготовленная в соответствии с рекомендациями, данными ранее в этой главе, попробуйте воспользоваться этой дискетой. Если вы не можете запустить компьютер посредством загрузочной дискеты и восстановление системы с помощью процесса автоматического восстановления системы (ASR) не помогло решить проблему, попробуйте снять жесткий диск и установить его вторым диском на другом компьютере с Windows 2000/XP или Windows Server 2003. После этого вы сможете работать с этим диском, используя утилиты Windows 2000/XP или Windows Server 2003.
В общем случае перемещать диски с компьютера на компьютер не рекомендуется, поскольку при этом могут возникнуть проблемы с различием аппаратных конфигураций. Однако, если два компьютера идентичны, то вы сможете обнаружить и, возможно, решить проблему.
Описанные выше проблемы могут возникнуть по одной из следующих причин.
Отсутствие системного раздела на первом жестком диске.
Повреждена главная загрузочная запись.
Поврежден загрузочный сектор раздела.
Испортилась микросхема CMOS (или разрядилась ее батарея).
Аппаратный сбой.
Если по каким-то причинам на диске отсутствует файл Boot.ini, но какая-то система (при наличии нескольких систем) инсталлирована в каталог по умолчанию, т. е. C:\WINDOWS, загрузка этой системы все-таки произойдет.
Здесь описаны проблемы с главной загрузочной записью. Функции кода главной загрузочной записи:
считывание таблицы разделов, расположенной в том же секторе;
определение местоположения загрузочного сектора раздела;
загрузка и выполнение кода, расположенного в загрузочном секторе раздела.
Если код главной загрузочной записи оказывается не в состоянии выполнить эти задачи, отображается одно из следующих сообщений об ошибках:
Missing operating system (Отсутствует операционная система)
invalid partition table (Неверная таблица разделов).
Для восстановления поврежденной главной загрузочной записи можно воспользоваться консолью восстановления (Recovery Console). Recovery Console представляет собой консоль с интерфейсом командной строки, которая позволяет выполнять многие административные задачи и восстановительные операции. Запускать Recovery Console можно из программы установки Windows Server 2003 или включить ее в качестве одной из опций в меню загрузки. Более подробную информацию об установке и использовании Recovery Console можно найти в главе 23 "Восстановление системы", здесь же отметим, что в число задач, которые можно выполнить с ее помощью, входит и восстановление поврежденной главной загрузочной записи.
Когда на компьютерах х86 выполняется загрузка с жесткого диска, системный код BIOS определяет загрузочный диск (обычно диск 0) и считывает главную загрузочную запись. Код, содержащийся в главной загрузочной записи, ищет системный раздел на жестком диске. Если он не может найти системный раздел или Windows не может стартовать из этого раздела, процесс запуска останавливается. Появление сообщения об ошибке типа "Error loading operating system" указывает, что код главной загрузочной записи нашел системный раздел, но не может запустить операционную систему.
Возможно, что на жестком диске, с которого вы пытаетесь загрузить операционную систему, вообще нет системного раздела. Кроме того, не исключена ситуация, когда в качестве системного указан другой раздел.
Системный раздел — это основной раздел на загрузочном диске (как правило, диск 0), индикатор загрузки которого (Boot Indicator) установлен в значение 0x80. Этот раздел содержит файлы, необходимые для загрузки Windows NT/2000/XP и Windows Server 2003 (такие как NTLDR, Ntdetect.com и Boot.ini).
Утилита Fdisk показывает системный раздел как активный (active partition).
В качестве системного раздела может использоваться только основной раздел. Логический диск в дополнительном разделе для этой цели использовать нельзя. Установить новый системный раздел можно с помощью оснастки Disk Management в Windows 2000, Windows XP или Windows Server 2003, программы Windows NT 4.0 Disk Administrator или посредством программы MS-DOS Fdisk. Все эти программы устанавливают поле Boot Indicator для раздела, который определяется как системный, и сбрасывают это поле для раздела, который был системным ранее.
Если загрузку операционной системы невозможно выполнить вследствие отсутствия или неправильной установки системного раздела, воспользуйтесь утилитой MS-DOS Fdisk.
Существует несколько известных вирусов, способных вызывать проблемы с загрузочным сектором раздела даже тогда, когда том отформатирован для использования файловой системы NTFS. Заражение может произойти при запуске программы MS-DOS с дискеты или при запуске MS-DOS на компьютере с двойной загрузкой. Windows Server 2003, как и Windows 2000/XP, не может защититься от заражения, если она не запущена.
В ряде случаев повреждение загрузочного сектора раздела может привести к генерации следующей ошибки типа "синий экран": STOP 0х0000007B INACCESSIBLE_BOOT_DEVICE. Еще одним симптомом проблем с загрузочным сектором раздела является "зависание" компьютера в процессе загрузки без отображения каких-либо сообщений, при этом экран остается черным.
Даже при условии отсутствия очевидных грубых повреждений загрузочный сектор раздела может работать неправильно. Убедиться в этом можно следующим образом. Попробуйте переименовать файл NTLDR и запустить Windows Server 2003 с этого жесткого диска (сделать это можно, загрузив систему с загрузочной дискеты, изготовленной в соответствии с инструкциями, приведенными ранее в этой главе).
Если загрузочный сектор раздела в норме, а причина неудачи — поврежденный файл загрузчика NTLDR, то в основном разделе NTFS вы увидите следующее сообщение об ошибке: Couldn't find NTLDR
В основном разделе FAT вы увидите сообщение об ошибке: A kernel file is missing from the disk
Если, заменив имя NTLDR, вы таких сообщений об ошибках не получите, это будет говорить о том, что причина кроется в повреждении загрузочного сектора раздела. Не забудьте переименовать файл загрузчика обратно в NTLDR, чтобы загрузочный сектор раздела мог его найти.
Как правило, файл NTLDR по умолчанию имеет атрибуты Hidden, System и Read Only. Поскольку запустить Windows 2000/XP или Windows Server 2003 при испорченном загрузочном секторе в загрузочном разделе невозможно, можно запустить MS-DOS с загрузочной дискеты MS-DOS. Загрузив MS-DOS, можно изменить атрибуты файла (только на диске с FAT!), введя следующую команду: attrib -s -h -r ntldr
Если для загрузки выбрана операционная система Windows XP или Windows Server 2003, и в ней имеется только один профиль аппаратной конфигурации, то после того, как загрузчик получит информацию об аппаратных средствах компьютера, он продолжит процедуру загрузки, запустив ядро операционной системы Ntoskrnl.exe и передав ему информацию, собранную программой Ntdetect.com.
Если в системе создано несколько профилей аппаратной конфигурации, и загрузчик не может определить, какой из них должен быть загружен, то на экране появится следующая информация:
Hardware Profile/Configuration Recovery Menu This menu allows you to select a hardware profile to be used when Windows is started.
If your system is not starting correctly, then you may switch to
a previous system configuration, which may overcome startup problems.
IMPORTANT: System configuration changes made since the aast successful startup will be discarded.
Profile 1 Profile 2 Profile 3
Use the up and down arrow keys to move the highlight
to the selection you want. Then press ENTER.
To switch to the Last Known Good Configuration, press 'L'.
To Exit this menu and restart your computer, press F3.
Seconds until highlighted choice will be started automatically: 5
После этого загрузчик в течение пяти секунд ожидает, давая пользователю возможность выбрать один из существующих профилей аппаратной конфигурации или одну из перечисленных опций (нажатием клавиши <L> или клавиши <F3>).
Первый аппаратный профиль выделен курсором. Чтобы использовать для загрузки другой аппаратный профиль, клавишами со стрелками переместите курсор к нужной опции и нажмите клавишу <Enter>.
Для настольных компьютеров Windows XP создает один аппаратный профиль по умолчанию, включающий в свой состав все аппаратные компоненты, обнаруженные при установке системы. Для портативных компьютеров Windows XP создает два аппаратных профиля по умолчанию (Docked Profile и Undocked Profile) и выбирает нужный профиль в зависимости от того, используется ли портативный компьютер в качестве dock-станции или независимо. Хотя поддержка Plug and Play в значительной степени исключает необходимость ручного создания и конфигурирования аппаратных профилей, они все же могут быть весьма полезны.
Загрузчик операционной системы отображает на экране меню, в котором можно выбрать запускаемую операционную систему. Вид этого экрана зависит от информации, которая содержится в файле Boot.ini. Например, там можно увидеть следующее:
Please select the operating system to start:
Windows XP Professional
Windows Server 2003
Windows 2000 Professional
Windows NT Server Version 4.0
Windows NT Server Version 4.0(VGA mode)
Use the up and down arrow keys to move the highlight to your choice. Press ENTER to choose.
Seconds until highlighted choice will be started automatically: 29 For troubleshooting and advanced startup options for Windows, press F8.
Выбор операционной системы, которую требуется запустить, ничем не отличается от аналогичного процесса при работе с предшествующими версиями операционных систем из семейства Windows — Windows NT, Windows 2000 и Windows XP. Операционная система, указанная в приведенном списке первой, выбирается по умолчанию, и изначально курсор установлен на этой строке. Чтобы выбрать для запуска другую операционную систему, воспользуйтесь клавишами перемещения курсора (<t> и <1>), выделите нужную операционную систему и нажмите клавишу <Enter>.
Если вы не выберете ни один из пунктов меню к тому моменту, когда счетчик, указанный в строке:
Seconds until highlighted choice will be started automatically: 29
достигнет нуля, NTLDR загрузит операционную систему, указанную в файле Boot.ini по умолчанию. Программа Setup задает в качестве параметра по умолчанию копию операционной системы, которая была инсталлирована последней. Файл Boot.ini можно отредактировать, указав в качестве загружаемой по умолчанию операционной системы любую из установленных. Подробную информацию о содержимом файла Boot.ini и методах его редактирования см. далее в этой главе.
Если Windows XP или Windows Server 2003 является единственной операционной системой, установленной на компьютере, то меню загрузчика не появится. В этом значение тайм-аута, указанное в файле Boot.ini, будет просто проигнорировано, и операционная система запустится сразу же.
Получив информацию об аппаратных средствах компьютера и выбранном аппаратном профиле, Ntldr загружает в память уровень аппаратных абстракций (Hal.dll) и ядро операционной системы Ntoskrnl.exe. Загрузив и запустив ядро, Ntldr передает ему информацию, собранную программой Ntdetect.com.
Информация о выбранном аппаратном профиле передается загрузчику, когда пользователь нажимает клавишу <Enter> в меню Hardware Profile/ Configuration Recovery. Помимо этого, загрузчик может сделать выбор автоматически по истечении указанного интервала времени (или в случае, если в системе существует только один аппаратный профиль). На данном этапе ядро и уровень аппаратных абстракций еще не инициализированы. Далее загрузчик просматривает реестр и загружает улей HKEY_LOCAL_MACHINE\ SYSTEM из файла %SystemRoot%\system32\Config\System.
В Windows NT/2000 загрузчик на данном этапе извлекал информацию о заданном по умолчанию или определенном пользователем размере реестра (registry quota). Как будет показано в главе 24 "Работа с системным реестром", в Windows XP и Windows Server 2003 необходимость в ограничении по размеру реестра отпала.
На данном этапе загрузчик активизирует API для работы с реестром и создает набор управляющих параметров (control set), который будет использоваться для инициализации компьютера. Эти задачи являются подготовительными для загрузки драйверов. Значение, заданное в ключе реестра HKEY_LOCAL_MACHiNE\SYSTEM\select (рис. 3.1), определяет, какой набор управляющих параметров из перечисленных в ключе HKEY_LOCAL_MACHINE\SYSTEM должен использоваться при загрузке. По умолчанию загрузчик использует набор управляющих параметров, определяемый значением Default. Если пользователь выбрал последнюю успешно загруженную конфигурацию (LastKnownGood), то загрузчик использует набор управляющих параметров, определяемых значением LastKnownGood. На основании сделанного пользователем выбора и значения ключа Select загрузчик определяет, какой из наборов управляющих параметров (controlSet00x) будет использоваться. После этого загрузчик устанавливает значение Current ключа Select на номер набора управляющих параметров, который он будет использовать.
В этой главе собраны некоторые полезные сведения (в первую очередь касающиеся процесса загрузки системы), знакомство с которыми позволит пользователю быстрее локализовать и устранить ошибки в работе системы. Проблемы с загрузкой и в процессе работы возможны в любой операционной системе, и Windows Server 2003 не является исключением из общего правила. Тем не менее, стоит порадовать пользователей и хорошими новостями: система действительно стала еще надежнее, стабильнее и, кроме того, в ее состав добавлены новые средства устранения как проблем с загрузкой, так и других неполадок. (Эти средства будут подробно описаны в главе 23 "Восстановление системы".)
Грамотный пользователь не должен пугаться, услышав слова "boot-сектор", "главная загрузочная запись", "POST" и т. п. Чтобы по возможности быстро и с минимальными потерями выйти из ситуации, при которой возникают проблемы с загрузкой ОС, необходимо знать, как происходит этот процесс, от момента включения компьютера и до регистрации пользователя в системе.
Разделом является часть базового диска, функционирующая как логическая автономная единица.
Основной раздел (primary partition) зарезервирован для использования операционной системой. Каждый физический диск может иметь до четырех основных разделов (или до трех, если создан дополнительный раздел).
Дополнительный раздел (extended partition) создается с использованием оставшегося свободного пространства диска и может быть разделен на логические диски. На каждом физическом диске может быть только один дополнительный раздел.
Базовые диски поддерживаются MS-DOS и любыми системами Windows, следовательно только их можно использовать в конфигурациях с множественной загрузкой.
Системы Windows XP и Windows Server 2003 не поддерживают созданные в Windows NT 4.0 многодисковые базовые конфигурации: наборы томов, зеркальные и чередующиеся наборы, а также чередующиеся наборы с четностью. В этих системах (на дисках с MBR) с базовыми дисками возможны следующие операции:
создание основных разделов и дополнительного раздела (4 основных или 3 основных и одного дополнительного на каждом диске);
создание логических дисков (в дополнительном разделе);
расширение базового тома с помощью команды DiskPart.exe (см. подробности этой операции в справочной системе).
Базовый диск в любой момент можно превратить в динамический без потери информации. Обратная процедура требует предварительной архивации данных на всех дисках, т. к. вся информация на диске при этом теряется.
Динамический диск подразделяется не на разделы, а на тома. Том состоит из одного или нескольких физических дисков в одной из следующих конфигураций:
простой том;
чередующийся том;
составной том;
том RAID-5.
зеркальный том;
Базовый диск в любой момент может быть превращен в динамический диск без потери информации; обратное преобразование приводит к потере данных.
Отказоустойчивые тома — зеркальные и тома RAID-5 — поддерживаются только на серверных платформах (Windows 2000 Server и Windows Server 2003)! Однако системы Windows 2000 Professional и Windows XP можно использовать для удаленного администрирования таких томов.
Динамические диски недоступны для компьютеров под управлением MS-DOS, Windows 95, Windows 98, Windows ME, Windows NT 4.0 и Windows Server 2003 Home Edition.
Динамические диски не поддерживаются на портативных компьютерах, съемных (removable) и переносимых (detachable) дисках (подключенных по шинам USB или IEEE 1394 (FireWire).
Не преобразовывайте базовые диски в динамические, если на этих дисках имеются другие инсталляции Windows 2000, Windows XP или Windows Server 2003 — после преобразования эти системы не смогут загружаться. На одном динамическом диске может быть установлена только одна операционная система (из перечисленных).
Выполнить новую инсталляцию Windows Server 2003 можно только на динамический том, который был преобразован из базового загрузочного или системного (содержащего файлы операционной системы) тома. Если динамический том был создан из свободного пространства, то устанавливать систему на него нельзя.
Свободное пространство — это неиспользованная и неформатированная часть жесткого диска, которая может быть задействована при создании томов.
Системный том содержит файлы, жестко привязанные к оборудованию (Ntldr, Boot.ini, Ntdetect.com), необходимые для загрузки системы.
Загрузочный том содержит файлы операционной системы Windows Server 2003, расположенные в папках %SystemRoot% и %SystemRoot9S\system32.
FAT16 |
FAT32 |
Поддерживается большинством операционных систем, в числе которых MS-DOS, Windows 9х/МЕ, Windows NT, OS/2 и UNIX |
Поддерживается всеми операционными системами Windows, начиная с Windows 95 OSR2; поддержка FAT32 имеется также и на других платформах |
Эффективна только на логических дисках, размер которых не превышает 256 Мбайт |
Не поддерживаются диски, размер которых менее 32 Мбайт |
Поддерживает сжатие диска только с помощью таких DOS-утилит, как DrvSpace |
Не поддерживает сжатие диска |
На практике ограничена по размеру до 65 524 кластеров. Каждый кластер имеет фиксированный размер в зависимости от размера логического диска. Ограничения по количеству кластеров и их размеру (64 Кбайт) приводят к общему ограничению по размеру диска (не более 4 Гбайт). Следует, однако, учитывать то, что кластеры размером 64 Кбайт могут распознаваться неправильно некоторыми приложениями и системами! Помимо этого, FAT12/16 обычно имеет ограничения по количеству файлов и папок, которые могут содержаться в корневом каталоге (в зависимости от диска максимальное значение колеблется от 200 до 400) |
Использует кластеры меньшего размера, в результате чего дисковое пространство используется более эффективно. Максимальный размер кластера — 1 6 Кбайт, максимальный размер форматируемого диска — 32 Гбайт; чтение и запись поддерживается на томах до 2 Гбайт |
Поскольку с увеличением размера диска размер кластера FAT16 увеличивается, хранение файлов на таких дисках становится неэффективным. Например, если файл размером 10 Кбайт хранится в кластере размером 32 Кбайт, то 22 Кбайт дискового пространства не используются |
Для дисков размером от 257 Мбайт до 8 Гбайт размер кластера — 4 Кбайт |
Файловая система Windows NT (NTFS) обеспечивает такое сочетание производительности, надежности и эффективности, которого невозможно добиться с помощью любой из реализаций FAT (как FAT16, так и FAT32). Основными целями разработки NTFS являлись обеспечение скоростного выполнения стандартных операций над файлами (включая чтение, запись, поиск) и предоставления дополнительных возможностей, включая сжатие и восстановление поврежденной файловой системы на больших дисках.
NTFS обладает характеристиками защищенности, поддерживая контроль доступа к данным и привилегии владельца, играющие исключительно важную роль в обеспечении целостности жизненно важных конфиденциальных данных. Папки и файлы NTFS могут иметь назначенные им права доступа вне зависимости от того, являются они общими или нет. NTFS — единственная файловая система в Windows NT/2000/XP и Windows Server 2003, которая позволяет назначать права доступа к отдельным файлам. Однако, если файл будет скопирован из раздела или тома NTFS в раздел или на том FAT, все права доступа и другие уникальные атрибуты, присущие NTFS, будут утрачены.
В Windows 2000 была введена новая версия NTFS — NTFS 5.0 (см. ниже). Новые структуры данных, появившиеся в составе этой реализации, позволяют использовать оригинальные возможности Windows 2000, например, квоты на использование диска для каждого пользователя, шифрование файлов, отслеживание ссылок, точки перехода (junction points), встроенные наборы свойств (native property sets). Кроме того, добавлять дополнительное дисковое пространство к томам NTFS 5.0 можно без перезагрузки. Windows Server 2003 не предлагает принципиальных новшеств для этой файловой системы, однако некоторые улучшения все же появились. (Подробно система NTFS 5.0 описывается ниже в разд. "Возможности NTFS 5.0".)
NTFS — наилучший выбор для работы с томами большого объема. При этом следует учесть, что если к системе предъявляются повышенные требования (к числу которых относятся обеспечение безопасности и применение эффективного алгоритма сжатия), то часть из них можно реализовать только с помощью NTFS. Поэтому в ряде случаев нужно использовать NTFS даже на небольших томах.
NTFS — единственная файловая система, на которую можно устанавливать систему, выполняющую функции контроллера домена (на базе Active Directory).
FAT (чаще всего в главе подразумевается FAT 16) представляет собой простую файловую систему, разработанную для небольших дисков и простых структур каталогов. Ее название происходит от названия метода, применяемого для организации файлов — таблица размещения файлов (File Allocation Table, FAT). Эта таблица размещается в начале тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой копии FAT дисковые утилиты (например, Scandisk) могут воспользоваться второй копией для восстановления тома. Таблица размещения файлов и корневой каталог должны располагаться по строго фиксированным адресам, чтобы файлы, необходимые для запуска системы, были размещены корректно.
По принципу построения FAT похожа на оглавление книги, т. к. операционная система использует ее для поиска файла и определения кластеров, которые этот файл занимает на жестком диске. Изначально компания Microsoft разработала FAT для управления файлами на дискетах, и только затем приняла ее в качестве стандарта для управления дисками в MS-DOS. Сначала для дискет и небольших жестких дисков (менее 16 Мбайт) использовалась 12-разрядная версия FAT (так называемая FAT 12). В MS-DOS 3.0 была введена 16-разрядная версия FAT для более крупных дисков. В Windows Server 2003 система FAT 12 применяется только на гибких дисках и томах размером менее 16 Мбайт. Например, все 3,5-дюймовые дискеты емкостью 1,44 Мбайт форматируются для FAT16, а все 5,25-дюймовые — для FAT12.
В Windows NT/2000 FAT16 работает точно так же, как и в MS-DOS, Windows 3.1x и Windows 9x/ME. Поддержка этой файловой системы включена и в Windows XP/Windows Server 2003, поскольку она совместима с большинством операционных систем других фирм — поставщиков программного обеспечения. Помимо этого, применение FAT16 обеспечивает возможность обновления более ранних версий операционных систем семейства Windows.
Системы Windows NT/2000/XP и Windows Server 2003 нельзя использовать совместно с программными средствами, осуществляющими разбиение диска на тома и сжатие дисков при помощи драйверов устройств, которые загружаются из MS-DOS. Например, если требуется иметь доступ к разделу или логическому диску FAT, работая под управлением этих систем, не следует применять для них такие средства сжатия, как DoubleSpace (MS-DOS 6.0) или DriveSpace (MS-DOS 6.22). Для сканирования и восстановления томов FAT, используемых перечисленными системами, рекомендуется ввести в командной строке команду Chkdsk. Эта программа объединяет функциональные возможности, присущие программам MS-DOS Chkdsk и Scandisk, включая сканирование поверхности жесткого диска. Если требуется выполнить сканирование поверхности диска, дайте из командной строки команду chkdsk /r.
Администрирование больших компьютерных сетей, где серверы поддерживают работу сотен пользователей, сопряжено с рядом сложностей. Одна из них — учет дискового пространства сервера, занятого файлами сотрудников компании. Как правило, пользователи, хранящие свои файлы на сервере, мало заботятся об актуальности информации и об уничтожении устаревших или ненужных данных. Множество временных файлов и копий одного и того же файла, находящихся в различных папках, лишь усугубляют ситуацию. В результате в считанные месяцы даже на больших жестких дисках сервера может не оказаться необходимого для работы свободного пространства.
Как правило, в больших организациях дерево папок весьма разветвлено, поэтому визуальный контроль расходования дискового пространства пользователями отнимает у администраторов много времени и усилий.
Подобная проблема просто решается с помощью введения квот на дисковое пространство, доступное для работы каждому пользователю. В предыдущих версиях операционной системы Windows NT не было штатных возможностей ввести квоту на доступное дисковое пространство, поэтому любой пользователь мог распоряжаться всем пространством жестких дисков компьютера. В Windows 2000/XP и Windows Server 2003 администратор может квотировать дисковое пространство по каждому тому и для каждого пользователя. (Из этого следует, что невозможно задать квоту для отдельных папок или групп.)
Система учитывает общее пространство, занимаемое файлами, владельцем которых является контролируемый пользователь: если пользователь владеет файлом, размер последнего добавляется к общей сумме занимаемого пользователем дискового пространства. Важно отметить, что, поскольку квотирование выполняется на уровне тома, не имеет значения, находится ли том на одном физическом жестком диске или на различных устройствах. И наоборот, если на одном физическом диске хранится несколько томов, то квотирование может осуществляться индивидуально по каждому тому.
После установки квот дискового пространства пользователь сможет хранить на томе ограниченный объем данных, в то время как на этом томе может оставаться свободное пространство. Если пользователь превышает выданную ему квоту, в журнал событий вносится соответствующая запись. Затем, в зависимости от конфигурации системы, пользователь либо сможет записать информацию на том (более "мягкий" режим ограничений), либо ему будет отказано в записи из-за отсутствия свободного пространства ("жесткий" режим).
Для работы с точками соединения можно использовать оснастку Disk Management (Управление дисками), имеющую графический интерфейс.
Для монтирования тома (создания точки соединения):
1. Запустите оснастку Disk Management (Управление дисками). (Для этого проще всего ввести в командной строке diskmgmt.msc— расширение файла обязательно!)
2. Укажите нужный целевой том (отформатированный с использованием любой файловой системы) и нажмите правую кнопку мыши. В появившемся контекстном меню выберите команду Change Drive Letter and Path (Изменить букву диска или путь к диску). Откроется диалоговое окно Change Drive Letter and Paths (Изменение буквы диска или путей) (рис. 4.1).
3. Нажмите кнопку Add (Добавить) и в открывшемся окне (рис. 4.2), нажав кнопку Browse (Обзор), выберите путь к тому. Можно использовать пустую папку на любом томе NTFS или создать новую папку непосредственно в окне просмотра (рис. 4.3).
4. Нажмите кнопку ОК, закройте все открытые ранее окна. Теперь доступ к тому можно получить с помощью указанного нового пути.
Рис. 4.1. В данном окне можно менять букву диска или пути доступа к этому диску
Рис. 4.2. Укажите имя пустой папки, которая будет использоваться для доступа к выбранному тому
Рис. 4.3. Это окно позволяет выбрать существующую пустую папку в файловой системе или создать новую папку
Для удаления точки соединения (размонтирования тома):
1. Запустите оснастку Disk Management (Управление дисками).
2. Укажите нужный целевой том файловой системы и нажмите правую кнопку мыши. В открывшемся контекстном меню выберите команду Change Drive Letter and Path (Изменить букву диска или путь к диску).
3. В открывшемся окне (рис. 4.4) выберите путь и нажмите кнопку Remove (Удалить).
4. В открывшемся окне подтвердите правильность выполняемого действия.
Рис. 4.4. Это окно показывает, что доступ к тому L: может осуществляться с помощью указанных путей. Можно удалить некоторый путь или добавить новый
Теперь доступ к выбранному тому с помощью точки соединения становится невозможен. Все описанные выше операции никак не влияют на содержимое указанного тома.
Устанавливая пользователям определенные разрешения (permissions) на доступ к файлам и каталогам (папкам), администраторы системы могут защищать конфиденциальную информацию от несанкционированного доступа. Каждый пользователь имеет определенный набор разрешений на доступ к каждому объекту файловой системы.
Кроме того, пользователь может быть владельцем файла или папки, если сам их создает. Вопросы передачи права владения рассматриваются ниже в разд. "Передача права владения ".
Разрешения пользователя на Доступ к объектам файловой системы работают по принципу дополнения (аддитивности). Это значит, что действующие разрешения, т. е. те разрешения, которые пользователь реально имеет в отношении конкретного каталога или файла, образуются из всех прямых и косвенных разрешений, назначенных пользователю для данного объекта с помощью логической функции ИЛИ. Например, если пользователь имеет прямо назначенное разрешение для каталога на чтение, а косвенно через членство в группе ему дано разрешение на запись, то в результате пользователь сможет читать информацию в файлах каталога и записывать в них данные.
Следует все же заметить, что правило сложения разрешений с помощью логического ИЛИ не выполняется, когда пользователь имеет определенное разрешение, а группе, в которую он входит, отказано в этом разрешении (или наоборот). В этом случае отказ в разрешении (Deny) имеет более высокий приоритет над предоставлением разрешения, т. е. в результате пользователь не будет иметь данного разрешения. Появление возможности отказа пользователю или группе в разрешении для файлов и каталогов сделало ненужным разрешение No Access, применявшееся в Windows NT 4.0. Теперь для отказа пользователю в разрешении на доступ к какому-либо файлу или папке следует включить пользователя в группу, которой отказано в разрешении Full Control (Полный доступ) для данного объекта файловой системы.
В Windows XP и Windows Server 2003 процедура редактирования разрешений несколько изменилась по сравнению с Windows 2000, поскольку появились дополнительные возможности поиска и выбора групп и пользователей. В отличие от Windows XP, на системах Windows Server 2003 вкладка Security (Безопасность) в окне свойств файлов и папок отображается всегда, даже на компьютерах, не входящих в домен.
Напомним, что разрешения поддерживаются только на файловой системе NTFS, поэтому не удивляйтесь, если вы не увидите вкладку Security (Безопасность) в свойствах дисковых томов, отформатированных для FAT или FAT 32.
Все операции по работе с разрешениями выполняются из окна программы Windows Explorer. Для назначения пользователю или группе разрешения на доступ к определенному файлу:
1. Выберите файл и нажмите правую кнопку мыши. Выполните команду Properties (Свойства) контекстного меню. В появившемся окне свойств файла перейдите на вкладку Security (Безопасность) (рис. 4.5).
2. На панели Group or user names (Имена групп или пользователей) показан список пользователей и групп, которым уже предоставлены разрешения для данного файла. Для того чтобы добавить или удалить пользователей
или группы, нажмите кнопку Add (Добавить) или Remove (Удалить) соответственно. При добавлении пользователей появится диалоговое окно Select Users, Computers, or Groups (Выбор: Пользователи, компьютеры или группы) (рис. 4.6).
Рис. 4.5. Вкладка Security окна свойств файла
Рис. 4.6. Диалоговое окно для выбора пользователя или группы
3. Здесь у вас две возможности: вы можете сразу ввести имя в поле Enter the object names to select и нажать кнопку Check Names для проверки введенного имя; если имя правильное, нажмите кнопку ОК. Для поиска нужных имен можно нажать кнопку Advanced. При этом откроется модифицированное окно Select Users, Computers, or Groups, в котором нужно нажать кнопку Find Now (Найти). (На компьютерах — членах домена в этом окне можно также задавать критерии поиска.) В нижней половине окна появится список всех групп и пользователей, имеющихся на компьютере или в домене (рис. 4.7). Выберите необходимое имя и нажмите кнопку ОК. Выбрав нужные имена в окне Select Users, Computers, or Groups, закройте его, нажав кнопку ОК.
Специальные разрешения |
  Стандартные разрешения   |
|||
Full Control |
Modify |
Read& Execute |
Read |
Write |
Traverse Folder/Execute File (Обзор папок/ Выполнение файлов) |
+ |
+ |
+ |
  |
List Folder/Read Data (Содержание папок/ Чтение данных) |
+ |
+ |
+ |
+ |
Read Attributes (Чтение атрибутов) |
+ |
+ |
+ |
+ |
Read Extended Attributes (Чтение дополнительных атрибутов) |
+ |
+ |
+ |
+ |
Creat Files/Write Data (Создание файлов/Запись данных) | + | + | + | |
Create Folders/Append Data (Создание папок/ Дозапись данных) |
+ | + | + | |
Write Attributes (Запись атрибутов) | + | + | + | |
Write Extended Attributes (Запись дополнительных атрибутов) | + | + | + | |
Delete (Удаление) | + | + | ||
Read Permissions (Чтение разрешений) | + | + | + | + |
Change Permissions (Смена разрешений) | + | |||
Take Ownership (Смена владельца) |
+ |
Специальное разрешение |
Описание |
Traverse Folder / Execute File |
Определяет возможность перемещения по каталогам файловой системы вне зависимости от того, имеет или не имеет пользователь разрешения для просмотра пересекаемых в процессе перемещения каталогов. На работу этого разрешения влияет политика безопасности Bypass Traverse Checking (Обход перекрестной проверки) (см. узел Local Policies | User Rights Assignment в параметрах безопасности). Разрешение Execute File (Выполнение файлов) определяет возможность исполнения программ |
List Folder / Read Data |
Определяет возможность просмотра имен файлов или подкаталогов данного каталога (относится только к каталогу). Разрешение Read Data (Чтение данных) определяет возможность просмотра данных файла |
Read Attributes |
Определяет возможность просмотра атрибутов файла или каталога. Сами атрибуты определяются операционной системой |
Read Extended Attributes |
Определяет возможность просмотра дополнительных атрибутов файла или каталога. Сами дополнительные атрибуты определяются операционной системой |
Create Files /Write Data |
Определяет возможность создания файлов внутри каталога (относится только к каталогам). Разрешение Write Data (Запись данных) определяет возможность изменения содержимого файлов или перезаписи существующих данных файла новой информацией (относится только к файлам) |
Create Folders / Append Data |
Определяет возможность создавать подкаталоги внутри данного каталога (относится только к каталогам). Разрешение Append Data (Дозапись данных) определяет возможность присоединения новых данных к существующему файлу без изменения, уничтожения или перезаписи существующей информации (относится только к файлам) |
Write Attributes |
Определяет возможность изменения атрибутов файла или каталога. Атрибуты определяются операционной системой |
Write Extended Attributes |
Определяет возможность изменения дополнительных атрибутов файла или каталога. Дополнительные атрибуты определяются программой и могут быть ею изменены |
Delete Subfolders and Files |
Определяет возможность удаления подкаталогов и файлов, находящихся в данном каталоге, даже если для этих подкаталогов и файлов нет разрешения Delete (Удаление). Это разрешение имеется только у каталогов |
Delete |
Определяет возможность удаления файла или каталога. Если вам отказано в разрешении Delete (Удаление) для данного каталога или файла, вы все же можете удалить их, получив разрешение Delete Subfolders and Files (Удаление подпапок и файлов) на родительский каталог |
Read Permissions |
Определяет возможность чтения таких разрешений для файлов и каталогов, как Full Access, Read и т. д. |
Change Permissions |
Определяет возможность изменения таких разрешений для файлов и каталогов, как Full Access, Read и т. д. |
Take Ownership |
Определяет возможность вступления во владение данным файлом или каталогом. Владелец файла или каталога может всегда изменить разрешения к этому объекту, независимо от других разрешений |
Процедура установки разрешений для папок практически не отличается от описанной выше процедуры назначения разрешений для файлов.
Для назначения разрешения на доступ к каталогу (папке) пользователю или группе:
1. Укажите каталог и нажмите правую кнопку мыши. Выберите команду Properties контекстного меню. В появившемся окне свойств каталога перейдите на вкладку Security (рис. 4.10).
Рис. 4.10. Вкладка Security окна свойств папки
2. Как и в случае установки разрешений для файлов, предоставление и удаление разрешений пользователям и группам выполняется с помощью кнопок Add и Remove. Список стандартных разрешений на панели Permissions для каталога несколько отличается от набора разрешений для файла (табл. 4.9). Кроме того, нужно помнить, что разрешения для каталогов по умолчанию распространяются на находящиеся в них файлы и каталоги.
Таблица 4.9. Соответствие стандартных и специальных разрешений для папок
Специальные разрешения |   Стандартные разрешения  | ||||||||||
Full Control | Modify | Read& Execute | List Folder Contents | Read | Write | ||||||
Traverse Folder/Execute File (Обзор папок/ Выполнение файлов) | + | + | + | + |   | ||||||
List Folder/Read Data (Содержание папок/ Чтение данных) | + | + | + | + | + | ||||||
Read Attributes (Чтение атрибутов) | + | + | + | + | + | ||||||
Read Extended Attributes (Чтение дополнительных атрибутов) | + | + | + | + | + | ||||||
Create Files/Write Data (Создание файлов/ Запись данных) | + | + |   |   |   + | ||||||
Create Folders/Append Data (Создание папок/ Дозапись данных) | + | + |   |   |   + | ||||||
Write Attributes (Запись атрибутов) | + | + |   |   |   + | ||||||
Write Extended Attributes (Запись дополнительных атрибутов) | + | + |   |   |   + | ||||||
Delete Subfolders and Files (Удаление подпапок и файлов) | + |   |   |   |   | ||||||
Delete (Удаление) | + | + |   |   |   | ||||||
Read Permissions (Чтение разрешений) | + | + | + | + | + | ||||||
Change Permissions (Смена разрешений) | + |   |   |   |   | ||||||
Take Ownership (Смена владельца) | + |   |   |   |   |
Системы Windows Server 2003 поддерживают традиционные для Windows 2000 и Windows XP дисковые файловые системы: FAT12, FAT 16, FAT32 и NTFS. Кроме того, две файловые системы поддерживаются на устройствах CD-ROM и DVD: Compact Disc File System (CDFS) и Universal Disk Format (UDF). В данном разделе содержатся краткие обзорные сведения об этих файловых системах. На выбор файловой системы оказывают влияние следующие факторы:
цель, для которой предполагается использовать компьютер;
аппаратная платформа;
количество жестких дисков и их объем;
требования к безопасности;
используемые в системе приложения.
Windows Server 2003 поддерживает также Распределенную файловую систему (Distributed File System, DFS) и Шифрующую файловую систему (Encrypting File System, EFS). Хотя DFS и EPS и названы "файловыми системами", они не являются таковыми в строгом понимании этого термина. Так, DFS (см. главу 8 "Работа с дисковыми ресурсами") представляет собой расширение сетевого сервиса, позволяющее объединить в единый логический том сетевые ресурсы, расположенные на разных компьютерах в разделах, которые могут иметь различные файловые системы. Большей частью в этой главе мы используем понятие "том" в широком смысле; том может представлять собой весь физический диск, основной (primary) или дополнительный (extended) раздел диска, логический диск, созданный в дополнительном разделе, и т. д. — т. е. логическое устройство, имеющее имя (букву). Для динамических дисков понятие "том" имеет особое, дополнительное значение, которое будет рассматриваться в разд. "Разделы и тома". Что касается EFS (см. главу 22 "Средства безопасности Windows Server 2003"), то это — надстройка над NTFS, которая дополняет систему NTFS возможностями шифрования данных.
В нашей книге мы будем рассматривать способы хранения информации только для систем Windows Server 2003 на х86-совместимых платформах.
В приведенных ниже таблицах (табл. 4.2 и 4.3) собраны данные о совместимости файловых систем NTFS и FAT, а также ограничения, налагаемые на каждую из этих файловых систем. Таблицей совместимости обязательно нужно пользоваться при создании систем с множественной загрузкой.
Таблица 4.2. Поддержка файловых систем операционными системами
Операционная система |   Файловая система  | |||||
FAT | FAT32 | NTFS | ||||
MS-DOS, Windows 3.1 х и Windows 95 (версии до OSR2) | + | - | - | |||
Windows 95 OSR2, Windows 98 и Windows ME | + | + | - | |||
Windows NT 4.0 | + | - | + | |||
Windows 2000/XP/Server 2003 | + | + | + |
Таблица 4.3. Ограничения файловых систем в Windows Server 2003
Ограничения | NTFS | FAT и FAT32 | |||
Размеры тома | Минимальный размер тома составляет (фактически) приблизительно 10 Мбайт. На практике рекомендуется создавать тома, размер которых не превышает 256 Тбайт минус 64 Кбайт. С помощью NTFS нельзя форматировать дискеты | FAT поддерживает различные размеры томов — от объема дискет до 4 Гбайт (тома объемом более 2 Гбайт могут не поддерживаться другими системами). FAT32 поддерживает тома объемом от 2 Гбайт до 2 Тбайт. Работая под управлением Windows Server 2003, можно форматировать тома FAT32, объем которых не превышает 32 Гбайт | |||
Размеры файлов | Практический максимум 1 6 Тбайт минус 64 Кбайт | FAT и FAT32 поддерживают файлы размером не более 4 Гбайт |
Как уже говорилось, пользователь или группа получают разрешения на доступ к файлам или папкам непосредственно и через членство в группах (учтите, что в доменах Windows 2000 и Windows Server 2003 группы могут быть членами других групп). Поэтому, когда возникает вопрос "а какие же в конце концов права имеет данный пользователь?", ответ получить не так просто и быстро. Системы Windows XP Professional и Windows Server 2003 предлагают новую возможность — определение действующих разрешений (effective permissions).
Упомянутое средство особенно хорошо работает в домене, а для компьютеров — членов рабочей группы данная возможность, похоже, реализована "не до конца": вы можете определить разрешения только для пользователей или групп, непосредственно указанных в окне Security (Безопасность). Если же пользователь получает разрешения через членство в группе, то никакие разрешения не отображаются.
Как выполняется процедура определение действующих разрешений — рассмотрим на примере. Допустим, пользователь Mike, входящий в группу Managers, имеет для файла Picture.jpg разрешения Write, в то время как для группы определено разрешение Read. Чтобы определить все права, которые пользователь имеет в отношении данного файла, нужно выполнить следующие операции:
1. Выберите файл и перейдите на вкладку Security (Безопасность).
2. Нажмите кнопку Advanced (Дополнительно) и в окне Advanced Security Settings (Дополнительные параметры безопасности) перейдите на вкладку Effective Permissions (Действующие разрешения).
3. Нажмите кнопку Select (Выбрать). Откроется окно Select Users, Computers, or Groups (Выбор: Пользователи, компьютеры или группы), аналогичное тому, какое появляется при добавлении разрешений (см. рис. 4.6).
4. Выберите пользователя и нажмите кнопку ОК.
Теперь на вкладке Effective Permissions (Действующие разрешения) будут отображены все разрешения, которые выбранный пользователь имеет по отношению к данному объекту (рис. 4.13). Как можно видеть, пользователь Mike имеет и прямое разрешение Write, и косвенное разрешение Read через членство в группе Managers.
Рис. 4.13. Вкладка Effective Permissions позволяет увидеть все разрешения для выбранного пользователя или группы
При определении действующих разрешений нужно помнить о том, что пользователь может иметь права на операции с объектом, назначенные не с помощью механизма разрешений, а через политики безопасности. Например, пользователь может изменять владельца объекта, даже если у него нет разрешения Take Ownership, однако если такое право ему дано в политиках безопасности.
Ярлыки играют важную роль организации доступа пользователя к программам и файлам данных операционных систем Windows. Однако наряду с бесспорными преимуществами они имеют и недостатки, одним из которых является нарушение связи между ярлыком и соответствующим ему ресурсом, если ресурс переносится в другое место или переименовывается. Вплоть до появления Windows 2000 с этим недостатком приходилось мириться, поскольку средства NTFS 4.0 не позволяли от него избавиться.
В Windows 2000/XP и Windows Server 2003 имеется Служба отслеживания изменившихся связей (Distributed Link Tracking), позволившая приложениям находить файл, соответствующий данному ярлыку, и связи OLE даже в случае, если этот файл был переименован или перенесен в другое место дерева папок. Теперь, щелкнув на ярлыке рабочего стола, вы всегда сможете получить доступ к нужному ресурсу.
Каждая связь состоит из двух частей — клиента и источника. Например, если документ Word содержит связь OLE с электронной таблицей Excel, сам документ является клиентом связи, а электронная таблица — это источник связи.
Служба отслеживания восстанавливает разрушенную связь в случаях, если:
источник связи был переименован;
источник связи был перемещен с одного тома NTFS 5.0 на другой в пределах одного компьютера;
источник связи был перемещен с тома NTFS 5.0 одного компьютера Windows 2000/XP/Server 2003 на том NTFS 5.0 другого компьютера Windows 2000/XP/Server 2003 в пределах одного домена;
том NTFS 5.0 с источником связи был физически перемещен с одного компьютера Windows 2000/XP/Server 2003 на другой компьютер Windows 2000/XP/Server 2003 в пределах одного домена;
компьютер, на котором находится том NTFS 5.0 с источником связи, был переименован, но остался в том же домене;
изменилось имя общего ресурса, где находится файл-источник связи;
образовалась любая комбинация описанных выше случаев.
Служба отслеживания связей имеет некоторые ограничения, перечисленные ниже.
В предыдущих версиях Windows NT право владения файлом или папкой являлось характеристикой, жестко привязанной к создателю данного объекта. Пользователь, создавший файл или папку, становился владельцем этого объекта. Право владения не могло быть передано другому пользователю. Единственное исключение составлял администратор, который мог стать владельцем файла или папки. Сам пользователь не мог передать право владения папкой или файлом другому пользователю.
Операционные системы Windows 2000/XP и Windows Server 2003 обеспечивают более гибкое пользование таким средством обеспечения безопасности информации, как право владения объектом файловой системы. Теперь администратор или уполномоченный пользователь может назначить любого пользователя владельцем какого-либо объекта файловой системы (эта возможность имеется только в Windows Server 2003) или пользователь сам может стать владельцем объекта, не созданного им самим. Естественно, что для этого он должен иметь необходимые разрешения (право Take Ownership). Кроме того, с помощью локальных или доменных политик безопасности можно указывать, какие пользователи всегда могут становиться владельцами файлов или других объектов (по умолчанию такое право имеют только администраторы), при этом они могут даже не иметь никаких разрешений для этого объекта.
Из вышесказанного следует принцип восстановления разрешений для любого объекта (в том числе для объектов, у которых ошибочно удалены все разрешения): нужно стать его владельцем, а затем установить нужные разрешения для других пользователей и групп.
Для передачи владения объектом файловой системы или для просмотра текущего владельца файла или папки откройте соответствующее окно свойств, перейдите на вкладку Security, затем нажмите кнопку Advanced. Появится окно Advanced Security Settings. Перейдите на вкладку Owner (Владелец) этого окна (рис. 4.21).
Текущий владелец объекта виден в поле Current owner of this item (Текущий владелец этого элемента). В поле Change owner to (Изменить владельца на) перечислены учетные записи, обладающие правом изменения владельца данного объекта файловой системы (т. е. для которых установлен флажок Take Ownership в разрешениях на доступ к объекту или право изменения владельца получено через политики безопасности; если у пользователя это разрешение отсутствует, то просмотр данной информации ему запрещен). Выделите учетную запись пользователя, которому вы хотите передать право владения, и нажмите кнопки Apply (Применить) и ОК.
С самой первой версии NTFS позволяла одному файлу иметь несколько потоков. К сожалению, этот весьма удобный механизм использовался очень слабо, хотя применение потоков позволяет изящно решать многие проблемы.
Например, вы создаете файл. Для него необходимо сформировать и сохранить эскиз (уменьшенное изображение содержимого файла, предназначенное для предварительного просмотра) (thumbnail), который, как правило, записывается в конец файла. Для вывода эскиза надо открыть файл, считать информацию заголовка, найти начало нужной вам информации и только после этого считать данные. Можно хранить эскиз в отдельном файле, но в этом случае велика вероятность того, что сам файл будет перенесен в другое место без соответствующего ему эскиза.
Подобную проблему можно решить с использованием нескольких потоков. При создании файла основные данные следует записать в неименованный поток. Затем необходимо создать внутри того же файла именованный поток, предназначенный для данных образа. Теперь один файл будет содержать два потока.
Проведем следующий эксперимент. На машине Windows Server 2003 откроем окно командной строки. Перейдем в раздел NTFS (например, в папку, содержащую системные шрифты) и введем следующую команду (не делайте лишних пробелов!): С:\WINDOWS\Fonts>dir > New_Stream.TXT:New_Stream
В результате выполнения этой команды система создаст файл New_Stream.TXT. Он будет содержать два потока: неименованный, в котором находится 0 байт, и именованный (с именем New_Stream), где будет находиться результат выполнения команды dir. Доступ к именованному потоку можно получить, обратившись к нему по имени через двоеточие после имени файла. В именах потоков, как и в именах файлов, имеет значение регистр символов.
К сожалению, многие утилиты, входящие в состав Windows Server 2003, не могут работать с именованными потоками. Рассмотрим, к примеру, следующую команду:
C:\WINDOWS\Fonts>dir New_Stream.TXT
Volume in drive C is WinSrv2003
Volume Serial Number is 10D5-4C68
Directory of C:\WINDOWS\Fonts
Как говорилось выше, точки соединения NTFS позволяют монтировать тома и папки. Для работы с томами можно использовать стандартные средства системы — утилиту Mountvol.exe и оснастку Disk Management (Управление дисками). Для монтирования папок нужна специальная утилита Linkd.
Монтируя тома, можно избежать использования большого количества имен устройств, поскольку обращение к необходимому тому происходит через корневую папку. При монтировании создаются неизменные связи с корневыми папками локального тома файловой системы. Для этого применяется технология, гарантирующая, что при изменениях в параметрах оборудования целевая папка не изменяется.
Утилита Mountvol. С помощью утилиты Mountvol.exe можно:
отобразить корневую папку локального тома в некоторую целевую папку NTFS 5.0 (другими словами — подключить, или смонтировать том);
вывести на экран информацию о целевой папке точки соединения NTFS, использованной при подключении тома;
просмотреть список доступных для использования томов файловой системы;
уничтожить точки подключения томов, созданных с помощью Mountvol.
При монтировании тома целевая папка должна обязательно находиться на NTFS-томе-. Однако монтируемый том может быть отформатирован с использованием любой из поддерживаемых систем: NTFS, FATI6, FAT32, CDFS или UDF.
Параметры утилиты Mountvol можно получить, введя в командной строке mountvol. Мы рассмотрим только два параметра:
/D — уничтожение существующей точки подключения из указанной папки;
/L — отображение списка томов, подключенных к данной папке.
Подключение тома к точке соединения. Предположим, что на жестком диске компьютера создано два тома (С: и D:). На этом же компьютере установлено устройство CD-ROM (E:). Том С: отформатирован под NTFS, поэтому на нем можно расположить несколько точек соединения NTFS. В приведенных здесь примерах предполагается, что все необходимые для работы с точками соединения NTFS инструменты находятся в папке %SystemRoot98\system32, поэтому их можно запустить, находясь в любом месте дерева папок файловой системы. Все описанные ниже команды выполняются из командной строки.
В отличие от ранних операционных систем производства компании Microsoft, позволяющих использовать физические диски только в базовом режиме хранения информации (basic storage), в системах Windows 2000/XP существует новый тип хранения информации — диски с динамическим режимом хранения данных (dynamic storage). Диск, инициализированный для динамического режима хранения, называется динамическим диском (dynamic disk).
Используя динамические диски, можно без перезагрузки операционной системы управлять дисками и томами, а также динамически расширять тома. Для клиентских систем — это, пожалуй, единственное преимущество динамических дисков, да и то не слишком ценное, поскольку на рабочих станциях диск обычно один и размечается "раз и навсегда". Поэтому эффект от использования Динамических дисков можно в первую очередь получить на серверных платформах, имеющих сложную дисковую конфигурацию. Дисковая система этих систем может состоять из любой комбинации базовых и динамических дисков. Однако том, состоящий из нескольких дисков, должен иметь один режим хранения данных.
Для начала определимся с терминологией. В табл. 4.10 перечислены основные понятия для базовых и динамических дисков: понятию, указанному в одной колонке таблицы, соответствует логический эквивалент из соседней колонки той же строки.
Таблица 4.10. Организация базовых и динамических дисков
Базовый диск | Динамический диск | ||
Системный (system partition) и загрузочный разделы (boot partition) | Системный (system volume) и загрузочный тома (boot volume) | ||
Основной раздел (primary partition) | Простой том (simple volume) | ||
Дополнительный раздел (extended partiotion) | Простые тома и свободное пространство диска | ||
Логический диск (logical drive) | Простой том | ||
Набор томов (volume set) | Составной том (spanned volume) | ||
Чередующийся набор (stripe set without parity) | Чередующийся том (stripped volume) | ||
Зеркальный набор (mirror set) | Зеркальный том (mirrored volume) | ||
Чередующийся набор с четностью (stripe set with parity) | Том RAID-5 (RAID-5 volume) |
При форматировании дисковые тома размечаются на кластеры —- это минимальное пространство, выделяемое на диске для файлов. Для любой файловой системы размер кластера по умолчанию определяется размером тома. В табл. 4.4 приведены сравнительные размеры кластеров для FAT16, FAT32 и NTFS в зависимости от размера диска.
В Windows Server 2003 минимальный размер тома, который можно задать в оснастке Disk Management, — 8 Мбайт. Реальный объем тома получается чуть больше (около 10 Мбайт).
Напомним, что для дисков с NTFS максимальный размер кластера (по умолчанию) ограничен 4 килобайтами, поскольку предусматривается возможность сжатия файлов и папок. Если же размер кластера превышает 4 Кбайт, сжатие невозможно.
Таблица 4.4. Размеры кластеров по умолчанию для FAT16, FAT32 и NTFS в Windows Server 2003
Размер диска | Размер кластера FAT16 | Размер кластера FAT32 | Размер кластера NTFS | ||||
До 32 Мбайт включительно | 51 2 байт | Не поддерживается | 51 2 байт | ||||
33-64 Мбайт | 1 Кбайт | 51 2 байт | 512 байт | ||||
65-1 28 Мбайт | 2 Кбайт | 1 Кбайт | 51 2 байт | ||||
129-256 Мбайт | 4 Кбайт | 2 Кбайт | 51 2 байт | ||||
257-5 12 Мбайт | 8 Кбайт | 4 Кбайт | 51 2 байт | ||||
51 3-1 024 Мбайт | 16 Кбайт | 4 Кбайт | 1 Кбайт | ||||
1025-2048 Мбайт (2 Гбайт) | 32 Кбайт | 4 Кбайт | 2 Кбайт | ||||
2049-4096 Мбайт (4 Гбайт) | 64 Кбайт | 4 Кбайт | 4 Кбайт | ||||
4097-8192 Мбайт (8 Гбайт) | Не поддерживается | 4 Кбайт | 4 Кбайт | ||||
8 193-1 6 384 Мбайт (16 Гбайт) | Не поддерживается | 8 Кбайт | 4 Кбайт | ||||
16 385-32 768 Мбайт (32 Гбайт) | Не поддерживается | 16 Кбайт | 4 Кбайт | ||||
От 32 Гбайт | Не поддерживается | Не поддерживается | 4 Кбайт |
По своему назначению точки соединения распределенной файловой системы DFS (links) и точки соединения NTFS похожи. Они представляют собой инструмент, предназначенный для отображения одного пространства имен хранения данных на другое. Ниже описаны отличия точек соединения DFS и NTFS. В DFS точки соединения имеют более широкий набор возможностей, чем в NTFS.
Точки соединения DFS:
позволяют сбалансировать нагрузку при передаче информации по сетевым соединениям путем перенаправления запросов целевым репликам;
позволяют избежать отрицательных последствий отказа сетевого соединения, заново выбрав копию общего ресурса из набора целевых реплик;
запрашивают у службы Active Directory информацию о топологии соединения;
располагают полным набором функций, позволяющих осуществлять импорт и экспорт для пространства имен DFS.
В табл. 4.6 перечислены различия точек перехода DFS и NTFS.
Таблица 4.6. Различия точек соединения DFS и NTFS
Свойство | Точки соединения DPS | Точки соединения NTFS | |||
Исходный объект точки соединения | Общий локальный ресурс сети | Локальная папка NTFS 5.0 | |||
Представление точки соединения | Том DFS, общий сетевой ресурс | Любой допустимый путь Windows 2000/XP/Server 2003 | |||
Возможность восстановления | Да | Да (Chkdsk) | |||
Состояние неизменности/переноса | Да (хранится в виде файла) | Да (прямая операция копирования, переноса или архивирования) | |||
Возможность работы с набором целей | Да | Нет | |||
Поддержка кластеров | Да | Нет | |||
API | Да | Да | |||
Наличие инструментов с графическим интерфейсом | Да (оснастка Distributed File System (Распределенная файловая система DFS)) | Да (оснастка Disk Management (Управление дисками)) | |||
Доступность | В NT 4.0 и выше | Только в Windows 2000/XP и Windows Server 2003 на NTFS 5.0 |
Компьютеры на базе х86-совместимых процессоров для управления дисками всегда используют главную загрузочную запись (Master Boot Record, MBR). MBR содержит таблицу разделов (partition table), описывающую разбиение диска.
На компьютерах, работающих на базе процессоров Itanium под управлением Windows XP 64-Bit Edition и 64-разрядных версий систем Windows Server 2003, Enterprise Edition и Windows Server 2003, Datacenter Edition, используется новый механизм — GUID partition table (GРТ). Хотя между MBR и GРТ существуют различия, типы дисков и средства администрирования остаются одними и теми же. (Подробную информацию о GUID partition table можно найти в справочной системе, воспользовавшись контекстным поиском.)
В этой книге мы не будем касаться нюансов использования GРТ-разделов, поскольку с точки зрения эксплуатации между MBR- и GРТ-разделами принципиальных различий нет.
Тип информации | Описание |
Стандартная информация |
Атрибуты файла, например, "только чтение", "скрытый" и "системный"; время создания, последнего доступа, последнего изменения; счетчик жестких связей файла |
Имя |
Имя файла или папки в кодировке Unicode. Если имя файла соответствует схеме 8.3 или файл имеет жесткие связи, атрибутов имени файла может быть несколько |
Дескриптор безопасности |
Структура, хранящая данные безопасности, ассоциированные с файлом, управляющим доступом пользователя к файлу |
Данные |
Содержимое файла; папки не имеют этого типа информации |
Системные средства сжатия удобны тем, что их работа практически не сказывается на скорости обращения к данным. Можно шифровать как всю папку целиком (вместе с содержимым), так и отдельные файлы. Нужно лишь помнить о том, что операции сжатия данных и их шифрования (с помощью EFS) являются несовместимыми, т. е. исключающими друг друга (см. подробности в главе 22 "Средства безопасности Windows Server 2003")!
Чтобы разрешить/запретить сжатие файла или папки, нужно в программе Windows Explorer выбрать объект, открыть окно свойств и нажать кнопку Advanced (Дополнительно). В окне дополнительных атрибутов (рис. 4.14) следует установить/сбросить флажок Compress contents to save disk space (Сжимать содержимое для экономии пространства), нажать кнопку OK, a затем закрыть окно свойств. По умолчанию папки сжимаются вместе со всем содержимым.
Рис. 4.14. Окно дополнительных атрибутов
Точки повторной обработки (reparse points) — еще одна новая возможность, появившаяся в NTFS 5.0. Они позволяют выполнять при открытии папки или файла заранее созданный программный код. Точка повторной обработки представляет собой контролируемый системой атрибут, который может быть ассоциирован с папкой или файлом. Значение атрибута точки повторной обработки — это задаваемые пользователем данные, максимальный размер которых может достигать 16 Кбайт. Они представляют собой 32-разрядный ярлык (определяемый Microsoft), указывающий, какой фильтр файловой системы должен быть извещен о попытке получения доступа к данной папке или файлу. Фильтр выполняет заранее определенный код, предназначенный для управления процессом доступа. Поскольку размер данных атрибута точки повторной обработки может достигать 16 Кбайт, помимо ярлыка в атрибуте можно сохранить информацию, имеющую значение для соответствующего фильтра. Фильтр файловой системы может полностью изменить способ отображения данных файла. Поэтому фильтры устанавливаются только администраторами системы. Если по каким-либо причинам система не может найти фильтр, соответствующий определенному ярлыку повторной обработки, доступ к папке или файлу не будет предоставлен, однако они все же могут быть удалены.
Точки повторной обработки используются при создании жестких связей и точек соединений NTFS (т. е. при монтировании томов и папок), позволяющих перенаправлять запрос к папке или файлу в другое место файловой системы.
Точки соединения NTFS (junction point) представляют собой новое средство, позволяющее отображать целевую папку в пустую папку, находящуюся в пространстве имен файловой системы NTFS 5.0 локального компьютера. Эта процедура также называется монтированием тома или папки. Целевой папкой может служить любой допустимый путь в системе. Точки соединения NTFS поддерживаются только в NTFS 5.0.
Точки соединения NTFS отличаются от точек соединения распределенной файловой системы DFS. Последние отображают общий ресурс сети, управляемый DFS. Таким ресурсом может служить любой допустимый общий ресурс сети. Однако оба средства служат для создания общего пространства имен хранения информации.
Точки соединения NTFS прозрачны для приложений. Исключение составляет случай, когда информация об определенной точке соединения необходима программе для работы. Прозрачность в данном случае означает, что приложение или пользователь, осуществляющие доступ к локальной папке NTFS, автоматически перенаправляются к другой папке.
Доступ к локальным томам файловой системы, подключенным с помощью точки соединения, может быть получен даже в случае, если томам не присвоены имена. При этом исчезает ограничение на количество имен, равное 26 (по числу букв английского алфавита).
Предположим, что у вас есть файл, который должен находиться одновременно во многих папках одного дерева. Каждая из копий этого файла занимает определенное место, что приводит к непроизводительному использованию дискового пространства. Кроме того, следует учитывать, что в одной из копий может быть сделано изменение. В этом случае необходимо обновить все копии файла, что может вылиться в долгую и утомительную операцию, в течение которой легко сделать ошибку.
Эту проблему можно решить с помощью жесткой связи (hard link) NTFS. Она позволяет в пределах одного тома создать для одного файла множество имен. Сам файл может находиться в одном месте. Жесткие связи могут быть распространены по всему дереву папки. В Windows XP и Windows Server 2003 имеется новая утилита — Fsutil.exe, позволяющая пользователям создавать произвольные жесткие связи между файлами. Утилита Linkd (см. ниже) позволяет создавать связи между папками. (Связи можно также создавать программно, воспользовавшись функцией CreateHardLink из kernel32.dll.) Рассмотрим пример. Следующая команда создает новый файл fiieNew.txt, который связан с существующим файлом fiiel.txt:
C:\>fsutil hardlink create C:\fileNew.txt C:\Texts\filel.txt Hardlink created for C:\fileNew.txt «===» C:\Texts\filel.txt
При обращении к любому из файлов вы увидите одно и то же содержимое.
Все жесткие связи находятся в одной записи MFT. Поэтому они имеют одинаковые атрибуты (время создания, безопасность и размер файла). При создании новой жесткой связи система добавляет информацию в поле имени записи MFT и увеличивает счетчик жестких связей. При каждом уничтожении жесткой связи удаляется соответствующий атрибут в поле имени, а счетчик жестких связей уменьшается на 1. После уничтожения последней жесткой связи счетчик жестких связей становится равен 0.