Процесс загрузки операционной системы. Операционная система не загружается. Что делать
Загрузка операционной системы
Файлы операционной системы хранятся во внешней, долговременной памяти (на жестком, гибком или лазерном диске). Однако программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы операционной системы необходимо загрузить в оперативную память.
Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным .
После включения компьютера производится загрузка операционной системы с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки. Однако для того чтобы компьютер выполнял какую-нибудь программу, эта программа должна уже находиться в оперативной памяти. Разрешение этого противоречия состоит в последовательной, поэтапной загрузке операционной системы.
Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки операционной системы - это BIOS (Basic Input/Output System - базовая система ввода/вывода).
После включения питания компьютера или нажатия кнопки Reset на системном блоке компьютера или одновременного нажатия комбинации клавиш {Ctrl+Alt+Del} на клавиатуре процессор начинает выполнение программы самотестирования компьютера POST (Power-ON Self Test). Производится тестирование работоспособности процессора, памяти и других аппаратных средств компьютера.
В процессе тестирования сначала могут выдаваться диагностические сообщения в виде различных последовательностей коротких и длинных звуковых сигналов (например, 1 длинный и 3 коротких - не подключен монитор, 5 коротких - ошибка процессора и так далее). После успешной инициализации видеокарты краткие диагностические сообщения выводятся на экран монитора.
Для установки правильной даты и времени, а также внесения изменений в конфигурацию аппаратных средств компьютера в процессе выполнения самотестирования необходимо нажать клавишу {Del}. Загрузится системная утилита BIOS Setup, имеющая интерфейс в виде системы иерархических меню. Пользователь может установить новые параметры конфигурации компьютера и запомнить их в специальной микросхеме памяти, которая при выключенном компьютере питается от батарейки, установленной на системной плате. В случае выхода из строя батарейки конфигурационные параметры теряются и компьютер перестает нормально загружаться.
После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы).Если диск системный и программа-загрузчик оказывается на месте, то она загружается в оперативную память и ей передается управление работой компьютера. Программа ищет файлы операционной системы на системном диске и загружает их в оперативную память в качестве программных модулей (рис. 4.20).
Рис. 4.20. Процесс загрузки операционной системы |
Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение "Non system disk" , и компьютер "зависает", то есть загрузка операционной системы прекращается и компьютер остается неработоспособным.
После окончания загрузки операционной системы управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы к вводу команд. Приглашение представляет собой последовательность символов, сообщающих о текущем диске и каталоге. Например, если загрузка операционной системы была произведена с диска С:, а операционная система была установлена в каталог WINDOWS, то появится приглашение:
В случае загрузки графического интерфейса операционной системы команды могут вводиться с помощью мыши.
Вопросы для размышления
1. Каковы основные этапы самотестирования компьютера?
2. Что хранится в микросхеме конфигурационной памяти компьютера?
3. Каковы основные этапы загрузки операционной системы?
Процесс загрузки любой ОС начинается со считывания в память первого сектора жесткого диска, содержащего загрузочный код (Master Boot Record, MBR) и таблицу разделов (Partition Table) . Программный код загрузочной записи, просматривает таблицу разделов в поисках загружаемого системного раздела. Найдя такой раздел, MBR загружает в память его первый сектор и исполняет код, содержащийся в нем. Загрузочный сектор раздела (partition boot sector) , содержит загрузочный код установленной на данном разделе операционной системы. В системах Win2k/XP этот код находит файл загрузчика ntldr , который всегда находится в корневом каталоге системного диска, загружает его в память и передает управление ему.
NTLDR начинает выполнение c переключения процессора в защищенный режим с использованием 32-разрядной модели памяти с плоской адресацией (после включения питания процессор (CPU) всегда запускается в реальном режиме).
Затем загрузчик считывает расположенный в корневом каталоге системного диска файл Boot.ini
и отображает на экране меню (boot loader screen - BLS) для выбора загружаемой ОС. Записи в boot.ini позволяют загрузчику найти дальнейшие компоненты загружаемой системы и определяют нужные параметры начальной загрузки. Пример содержимого boot.ini:
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
multi(0)disk(0)rdisk(0)partition(3)\WINNT="MS Windows 2000 Server" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT="MS Windows 2000 Professional RUS" /fastdetect
Параметр timeout
задает время ожидания выбора загружаемой ОС в секундах, default
- определяет, что загружать по умолчанию. В секции
- список загружаемых ОС и параметры их загрузки. Пути задаются в ARC-виде (Advanced RISC Computer), где:
multi(0)
- номер контроллера HDD. 0 - Primary, 1 - Secondary.
disk(0)
- для IDE всегда равен 0, для SCSI - номер логического устройства (LUN)
rdisk(0)
- для SCSI всегда равен 0, для IDE - номер физического диска.
partition(1)
- номер раздела с установленной OC. Номера разделов начинаются с "1"
\WINNT
- имя каталога с установленной OC.
Далее - в кавычках указывается строка названия ОС, отображаемая загрузчиком в меню выбора, и ключ по умолчанию - /fastdetect, означающий, что не нужно производить распознавание устройств PnP при начальной загрузке. При определении причины, по которой не грузится ОС, полезно использовать ключи:
/BOOTLOG
- записывать протокол загрузки в файл %SytemRoot%\ntbtlog.txt
В нашем случае - C:\WINNT\ntbtlog.txt.
Пример журнала[»]
/SOS
- выводить в процессе загрузки имена загружаемых драйверов. Выводимая информация по содержанию похожа на ту же, что записывается в ntbtlog.txt. Однако запись в файл журнала может и не сработать, например, при ошибке типа "STOP: 0x0000007B Inaccessible Boot Device".
Начало файла журнала или списка загружаемых модулей по /SOS:
Loaded driver \WINNT\System32\ntoskrnl.exe
Loaded driver \WINNT\System32\hal.dll
Loaded driver \WINNT\System32\BOOTVID.DLL
Loaded driver ACPI.sys
Loaded driver \WINNT\system32\DRIVERS\WMILIB.SYS
Loaded driver pci.sys
Loaded driver isapnp.sys
....
BOOTVID.DLL обеспечивает выдачу информации на экран при возникновении критических ошибок системы, и для русскоязычных систем, делает это не очень хорошо - русский текст в сообщениях выдается в неправильной кодировке и нечитаем. Однако в Интернете можно найти пропатченную BOOTVID.DLL для вашей системы с нормальной кодировкой и заменить ею существующую в \WINNT\System32\ и WINNT\System32\dllcache. Для проверки можно искусственно вызвать "синий экран" (BSOD), убив сервис winlogon, с помощью FAR или PSkill.exe .
Можно добавить в меню загрузки свои строки с желательными параметрами, просто скопировав элемент описания ОС и заменив /fastdetect на нужный вам ключ. Желательно, также отразить этот вариант загрузки в выводимом названии:
multi(0)disk(0)rdisk(0)partition(3)\WINNT="MS Windows 2000 Server-BOOTLOG" /bootlog
Версии загрузчиков Windows 2000 и Windows XP значительно отличаются, в первую очередь, по оптимицации программного кода для увеличения скорости загрузки (Fast Boot в XP), но в остальном они очень похожи.
После выбора ОС, NTLDR загружает в память находящийся в корневом разделе файл ntdetect.com
, который собирает информацию о физических устройствах, подключенных на данный момент к компьютеру и возвращает полученную информацию загрузчику NTLDR, после чего загрузчик запускает ядро операционной системы Ntoskrnl.exe
и hal.dll
из каталога установленной ОС
, и передает ему информацию, собранную модулем ntdetect.com. Программный код ядра выполняется в привилегированном режиме процессора и имеет прямой доступ к аппаратной конфигурации, а также, обеспечивает программный интерфейс доступа (HAL.DLL) к аппаратным ресурсам для других программ.
С этого момента на экране появляется графическая заставка с индикатором загрузки.
Ядро создает ключ HKEY_LOCAL_MACHINE\HARDWARE
, используя информацию, полученную от загрузчика NTLDR. Этот ключ содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о ресурсах, используемых конкретными аппаратными устройствами.
До этого момента причину, по которой может не загружаться ситема, установить довольно просто - отсутствие или повреждение загрузочных секторов, вышеперечисленных файлов, каталогов или реестра, естественно, при исправном оборудовании. Дальше все значительно сложнее. Начинается загрузка в память и инициализация драйверов и системных служб, информация о которых хранится в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Каждому драйверу соответствует свой ключ, в составе которого имеется параметр Start
, определяющий, на каком этапе загрузки системы производится загрузка и инициализация данного драйвера или службы. Значения Start:
0 - BOOT - драйвер загружается загрузчиком.
1 - SYSTEM - драйвер загружается в процессе инициализации ядра.
2 - AUTO - служба запускается автоматически при загрузке системы.
3 - MANUAL - служба запускается вручную.
4 - DISABLE - отключено.
Сами файлы драйверов хранятся в каталоге %SystemRoot%\system32\drivers
.
Сначала загружаются и инициализируются низкоуровневые драйверы устройств, параметр Start у которых равен 0. Для их загрузки используются функции BIOS (естественно, ведь никаких других драйверов в оперативной памяти еще нет.)
Затем загружаются и инициализируются остальные драйверы устройств, параметр Start у которых равен 1. Для их загрузки уже используются ранее загруженные драйверы с параметром Start=0
Имеено на этом этапе чаще всего возникают причины появления "Синих экранов смерти" (Blue Screen Of Death - BSOD), связанные с невозможностью загрузки нужного драйвера или неправильной его работы с оборудованием компьютера, например,
STOP: 0x0000007B Inaccessible Boot Device
Обработка ошибок в процессе инициализации драйверов устройств основана на значении элемента ErrorControl
ключа реестра, относящегося к драйверу, и заканчивается "синим экраном" с соответствующим кодом ошибки.
После успешно отработанного данного этапа начальной загрузки запускается "Диспетчер сеансов" (\SystemRoot\System32\smss.exe)
, задача которого - запустить высокоуровневые подсистемы и сервисы (службы) операционной системы. На этом этапе запускаются процессы CSRSS (Client Server Runtime Process), WINLOGON (Windows Logon), LSASS (LSA shell), и оставшиеся службы с параметром Start=2 из HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Информация, предназначенная для диспетчера сеансов, находится в ключе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
.
Система загружена и все готово к регистрации пользователя (если система не настроена на автоматическую регистрацию).
Решение проблем с помощью консоли восстановления.
Консоль восстановления предоставляет пользователю командную строку, позволяющую устранить ошибки в системе, используя ограниченный набор консольных команд. С помощью консоли восстановления можно удалять и создавать разделы, форматировать диски, восстанавливать загрузочные секторы, включать и отключать службы, восстанавливать системные файлы с дистрибутива или другого носителя.
Консоль восстановления можно запустить двумя способами:
- с использованием установочных дисков.
- с использованием выбора в меню загрузчика предварительно установленной консоли восстановления в качестве одного из вариантов загрузки. Установить же консоль можно на рабочей системе, поэтому чаше используется первый вариант.
При загрузке с установочного диска нужно выбрать режим выполнения восстановления установленной копии Windows 2000/XP, а затем - запуск консоли восстановления. После запуска консоли восстановления нужно будет выбрать диск (если на компьютере установлено несколько систем) и войти в систему, используя пароль администратора. Если вы не знаете, какие команды можно использовать - наберите help
. Можно получить подсказку по конкретной команде - help имя команды
.
В случае, когда загрузка системы не доходит до инициализации ядра (запорчены загрузочные секторы, отсутствует или испорчен загрузчик ntldr и т.п.) алгоритм действий может быть следующим:
Пример для случая стандартно установленной Windows 2000 на диске C: и наличии CD-ROM с дистрибутивом на D:
- Убедимся в наличии нужных системе файлов в корне диска.
dir C:\
Результат выполнения DIR частично представлен на рисунке ниже. Первая колонка текста - дата создания (последней модификации файла или каталога), вторая - время, третья - атрибуты, где d- каталог, r-только чтение, s- системный, h - скрытый, c - служебный.
После выполнения команды в списке файлов должны присутствовать:boot.ini
Bootfont.bin
NTDETECT.COM
ntldr
WIINT (каталог в результатах выдавемых DIR имеет символ "d" в колонке атрибутов)Если файлы и каталоги присутствуют, возможно причина в ошибке на диске.
- Выполним проверку диска:
chkdsk C: /p - стандартная проверка диска.
chkdsk C: /r - проверка на сбойные блоки.Если проверка завершилась без ошибок - возможно запорчены загрузочные секторы.
- Для восстановления загрузочных секторов используем:
fixmbr - восстановить Master Boot Record (MBR).
fixboot C: восстановить загрузочный сектор раздела. - Если отсутствует какой-либо из файлов - копируем из дистрибутива D:\i386
copy D:\i386\ntldr C:\ - копируем загрузчик ntldr.
copy D:\i386\ntdetect.com C:\ - копируем ntdetect.com.
copy D:\i386\atapi.sy_ C:\winnt\system32\drivers\atapi.sys - копируем драйвер atapi.sys
Если у вас на компьютере установлены одновременно Windows 2000 и Windows XP, файлы, находящиеся в корне системного диска (ntldr, ntdetect.com, bootfont.bin) нужно использовать из дистрибутива Windows XP. В противном случае, Windows 2000 будет нормально грузиться, а попытка загрузить XP закончится черным экраном, до меню выбора ОС.
Иногда удобно задать в качестве текущего каталога тот, куда вы копируете файлы:
cd c:\winnt\system32\drivers
в этом случае, если путь явно не задан, копирование будет выполняться в текущий каталог и не придется набирать длинные пути:
copy D:\i386\atapi.sy_ atapi.sys
Если отсутствует файл boot.ini, то с дистрибутива вы его не возьмете, придется брать с другого компьютера (и править при необходимости) или создавать самостоятельно. Информацию об ARC-путях поможет получить команда:
map arc - Отключение и разрешение драйверов и сервисов.
Иногда причиной проблемы с загрузкой ОС может быть неправильно установленный или некорректно работающий драйвер или сервис. Консоль восстановления позволяет легко решить эту проблему.
Список сервисов и их состояние можно получить по команде:
listsvcВ первой колонке - имя драйвера или сервиса, во второй - статус загрузки и выполнения, соответствующий рассмотренному выше параметру start в ключе реестра, относящемуся к данному драйверу или службе, и в третьей - краткое описание.
start=0 - Boot
start=1 - System
start=2 - Auto
start=3 - Manual
start=4 - Disabled
Отключить службу или драйвер (например atapi) можно с помощью:
disable atapi
Эта команда выводит на экран то состояние службы, которое было до ее отключения, чтобы, при необходимости, можно было вернуть это состояние с помощью команды enable.
enable atapi SERVICE_BOOT_START
Эта команда так же, как и disable, перед изменением состояния службы выводит на экран его предыдущее значение.
Добавлю, что со значением параметра start нужно обращаться очень аккуратно, например, если для драйвера стандартного контроллера жестких дисков (atapi) поменять параметр запуска с BOOT на SYSTEM вы получите синий экран с ошибкой "STOP: 0x0000007B Inaccessible Boot Device", как и в случае отсутствия файла драйвера atapi.sys или его отключения (Disable). - Работа с разделами жесткого диска.
И, наконец, если вам надоело восстанавливать систему, можно удалить разделы жесткого диска, переразбить его и поставить ее с нуля. Для работы с разделами используется diskpart
, порядок работы с которой, ничем не отличается от того, что используется при установке новой системы.
Пример "ремонта" BSOD
Вы решили поменять системную плату на более современную, ОС у вас установлена давно, и очень не хотелось бы ее переустанавливать, однако при первой загрузке системы с новой "начинкой" - синий экран с ошибкой "STOP: 0x0000007B Inaccessible Boot Device". В новой материнской плате есть встроенный IDE-контроллер, который использует чипсет, отличный от чипсета предыдущей материнской платы. Простейший выход из такой ситуации с минимальными потерями - следовать рекомендациям от Microsoft:1. Загрузитесь с установочного диска или дискет Windows 2000/XP
2. На первом экране нажмите Enter
3. Нажмите F8, когда попросят подтвердить лицензионное соглашение
4. Выберите Windows 2000/XP и нажмите R
5. Придерживайтесь инструкций на экране, чтобы выполнить ремонт Windows 2000/XPПодробнее рекомендации от Microsoft по устранения неполадок Stop 0x0000007B - Однако можно решить проблему и иначе. Я для примера взял STOP 7B, как наиболее распространенную ошибку.
Нужно заставить работать стандартные драйверы дисковой подсистемы от Microsoft с нашим новым оборудованием. Для начала, убедимся, что у нас есть в SystemRoot\system32\drivers файлы Atapi.sys, Intelide.sys, Pciide.sys и Pciidex.sys. Затем, что они загружаются с параметром SERVICE_BOOT_START. Это можно сделать с помощью той же консоли восстановления. Это необходимые условия для загрузки, но недостаточные. Дело в том, что устройства Plug-n-Play (PnP) идентифицируются системой с помощью специального кода (PnP-ID), зависящего от набора микросхем, на которых собрано устройство, и новый контроллер IDE, скорее всего будет иметь неизвестный установленной системе идентификатор. Он просто не будет восприниматься как контроллер IDE.
Информация об известных системе устройствах создается на основе.inf-файлов при установке нового оборудования и хранится в разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\
Можно было бы подправить существующие данные или создать новае записи, тем более, что сейчас несложно найти.reg-файлы для идентификации контроллеров IDE основных производителей оборудования например - этот[»] но как записать их в реестр? К сожалению, консоль восстановления этого делать не умеет и придется воспользоваться сторонним ПО. Наиболее популярным, пожалуй, инструментом восстановления системы является Winternals ERD Commander компании "Winternals Software" .
Сайт программы - winternals.com[»]
С помощью специального "Boot CD-ROM Wizard"а" создается загрузочный диск на основе дистрибутива Windows XP, загрузившись с которого, вы получите возможность с помощью Start menu. работать с "мертвой" системой почти так же, как будто вам удалось с нее загрузиться.
Берем содержимое выше упомянутого файла для идентификации контроллеров IDE, создаем из него рег файл на дискете и с помощью Registry Tools импортируем его в реестр "мертвой" системы.Перерзагружаемся - и система вернулась к жизни. И даже если этого не произошло, то с помощью ERD Commander"a проблема решаема, например, правкой реестра вручную. Есть еще один, довольно длительный, но вполне надежный способ справиться с STOP 7B.
Ставим временную систему в другой раздел, каталог, диск - не важно, - она будет нужна только на 1 загрузку.
- После первой загрузки делаем экспорт ветки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase в файл.
- Грузимся в ERDC и делаем импорт из этого файла.
- Перезагружаемся, выбрав старую систему.
- Удаляем каталог с установленной новой ОС и правим boot.iniЧто еще можно сделать с помощью ERDC:
- легко выполнить все задачи, решаемые с помощью консоли восстановления.
- получить полный доступ к дискам "мёртвой" системы.
- восстанавливать удаленные файлы, деинсталлировать установленные обновления ОС, восстанавливать систему по контрольным точкам (только WinXP)
- получить доступ к локальной сети и Интернет.
- менять пароли у пользователей установленной ОС, в т.ч. и пароль администратора
- просматривать журналы событий ОС
- получить доступ к автоматически запускаемым программам.
- возможность запуска некоторых из программ установленной ОС. FAR запускается и работает без проблем, но, например, офисные приложения работать не будут.
- стереть содержимое жестких дисков установленной ОС без возможности восстановления.
- получить информацию к размышлению от утилиты Crash Analyzer по дампу памяти, полученному при ошибке ОС.
Основная оснастка ERD Commander Computer Management :Кроме того, стандартный набор утилит ERD Commander"а можно дополнить своими любимыми программами (FAR, Nero, Winimage и т.п.) на этапе создания загрузочного CD и тем самым расширить его возможности и создать для себя удобный инструмент восстановления системы.
Использование точек восстановления
Бывают случаи, когда дело не доходит даже до "синего экрана смерти" и в самом начале загрузки вы получаете сообщение:
Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM
означающее, что запорчен раздел реестра HKEY_LOCAL_MACHINE\SYSTEM, без которого, конечно же, загрузка не возможна. (Очень часто подобное сообщение вызвано некорректной работой оборудования, разгоном, и т.п. поэтому, напомню, что в данном случае рассматриваются действия по восстановлению работоспособности операционной системы на РАБОТОСПОСОБНОМ ОБОРУДОВАНИИ).
Обычно в подобных случаях выполняется переустановка системы, хотя проблема несложно решается за каких-то 10-20 минут.
В Windows XP , существует механизм,с помощью которого, при возникновении проблем, можно восстановить предыдущее состояние компьютера без потери личных файлов (документы Microsoft Word, перечень просмотренных страниц, рисунки, избранные файлы и сообщения электронной почты). Точки восстановления (Restore Points) создаются системой автоматически ежедневно во время простоя компьютера, а также во время существенных системных событий (таких, как установка приложения или драйвера). Пользователь также имеет возможность в любое время создавать их принудительно. Эти точки восстановления позволяют вернуть систему к состоянию на момент их создания.Для работы с точками восстановления используется приложение C:\windows\system32\restore\rstrui.exe (Пуск-Программы-Стандартные-Служебные-Восстановление состемы ). Механизм довольно эффективный, но воспользоваться им можно только в среде самой Windows, которая в рассматриваемом случае не загружается по причине испорченного файла раздела реестра.
Однако, все не так плохо. Упомянутый выше Winternals ERD Commander умеет работать с точками восстановления подключенной операционной системы и позволяет легко выполнить откат на ее работоспособное состояние через меню "Start - System Tools - System Restore"
С помощью System Restore Wizard восстановление выполняется так же, как и в среде Windows.
Но проблему можно (а иногда и желательно) решить иначе - в нашем конкретном случае с файлом
\WINDOWS\SYSTEM32\CONFIG\SYSTEM,
можно ведь не откатывать систему на полное состояние точки восстановления, а просто восстановить испорченный файл раздела реестра.
Данные контрольных точек хранятся в каталоге System Volume Information системного диска. Это скрытый системный каталог, доступ к которому разрешен только учетной записи System (т.е. Службе восстановления системы). Поэтому, если вы хотите получить доступ к его содержимому, вам придется добавить права вашей учетной записи с использованием вкладки "Безопасность" в свойствах каталога "System Volume Information". В случае использования Winternals ERD Commander или загрузки в другой операционной системе этого делать не нужно. В папке System Volume Information есть подкаталог с именем, начинающемся с _restore... и внутри него - подкаталоги RP0, RP1 : - это и есть искомые контрольные точки (Restore Point - RPx). Внутри папки RPx имеется каталог snapshot , содержащий копии файлов реестра на момент создания контрольной точки.Файл REGISTRY_MACHINE_SYSTEM - это и есть копия файла SYSTEM , он же - раздел реестра HKEY_LOCAL_MACHINE\SYSTEM . Остается лишь перетащить этот файл в каталог \WINDOWS\SYSTEM32\CONFIG\ и переименовать его. Запорченный файл system можно, на всякий случай, переименовать в system.bad или удалить.
Если вы будете использовать Winternals ERD Commander, который работает с реестром подключенной системы, то могут возникнуть проблемы с занятостью файлов. Чтобы этого не случилось, лучше в процессе загрузки не подключаться к проблемной операционной системе и выбрать None :В Windows 2000 нет встроенной системы создания точек восстановления, но можно использовать стороннее программное обеспечение для создания их аналогов, например пакет Ontrack Fix It 2000.
Что касаемо сообщения "Missing or corrupt \windows\system32\config\system", в Windows2000, то, на одном древнем сервере, я заметил некую закономерность - когда размер файла system приближается к 6 мегабайтам, оно гарантировано возникает при установке любого программного обеспечения, выполняющего запись в system.
Проблему можно решить уменьшением размера файла system, чего можно добиться удалением неиспользуемых скрытых устройств, ненужных служб и т.п. с последующей дефрагментацией реестра с помощью сторонних утилит (Ontrack Fix-it 2000).Поиск проблемного драйвера.
Информация "синего экрана" не слишком информативна, и для определения причины сбоя, как правило, приходится использовать дополнительные источники, одним из которых (основным) является дамп памяти, записываемый на диск при аварийном завершении работы системы. В настройках Windows (Панель управления - Система - Дополнительно - Загрузка и восстановление) . В области "Запись отладочной информации" существует возможность разрешить или запретить запись дампа в случае отказа системы.
Обычно установлен режим "Малый дамп памяти (64КБ)". Как правило, для определения драйвера, вызвавшего BSOD, этого вполне достаточно. При возникновении каждой последующей ошибки и создании нового файла малого дампа памяти Windows сохраняет предыдущий файл. Каждому записываемому файлу дампа присваивается отдельное имя с указанием даты. Например, Mini123109-01.dmp - это первый файл дампа памяти, созданный 31 декабря 2009 г. Файлы малого дампа памяти по умолчанию хранятся в папке %SystemRoot%\Minidump.
Для анализа дампа можно использовать стандартные средства Windows dumpchk.exe (Crash Dump Analisys utility), отладчик Windbg или kd.exe
Гораздо удобнее для анализа малого дампа воспользоваться бесплатной утилитой BlueScreenView от Nir Sofer. Скачать, ~ 120 кб .
Окно программы состоит из 2-х частей. В верхней части - список и свойства файлов минидампов, в нижней - данные, имеющие отношение к выбранному минидампу:Формат отображения данных в нижнем окне можно задавать с помощью меню "Options- Lower Pane Mode":
- All drivers - отображать все загруженные драйверы. На красном фоне отбражена информация о драйверах, возможно являющихся причиной BSOD.
- Only Drivers Found in Stack - отображать только драйверы, возможно являющиеся причиной BSOD.
- Blue Screen in XP style - отображать BSOD в стиле Windows XPПрограмма очень проста и удобна. Есть русификатор в виде ini-файла, который нужно скопировать в каталог с установленной программой BlueScreenView.
Файлы операционной системы хранятся во внешней, долговременной памяти (на жестком, гибком или лазерном диске). Однако программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы операционной системы необходимо загрузить в оперативную память .
Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным.
После включения компьютера производится загрузка операционной системы с системного диска в оперативную память . Загрузка должна выполняться в соответствии с программой загрузки . Однако для того чтобы компьютер выполнял какую-нибудь программу, эта программа должна уже находиться в оперативной памяти. Разрешение этого противоречия состоит в последовательной, поэтапной загрузке операционной системы.
1. Процессор обращается в ПЗУ для считывания информации о конфигурации системы, BIOS загружается в оперативную память . Этот этап выполняется автоматически.
2. Выполняется самотестирование компьютера : проверяется работоспособность процессора, памяти и других аппаратных устройств компьютера с помощью программы POST (Power-On Self Test). В процессе тестирования могут выдаваться диагностические сообщения в виде звуковых сигналов (например, 1 длинный и 3 коротких - не подключен монитор, 5 коротких - ошибка процессора и так далее). После успешной инициализации видеокарты краткие диагностические сообщения выводятся на экран монитора. Для внесения изменений в конфигурацию аппаратных средств компьютера в процессе выполнения самотестирования необходимо нажать клавишу {Del}. Загрузится системная утилита BIOS Setup, имеющая интерфейс в виде системы иерархических меню.
3. После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы).
4. Если диск системный и программа-загрузчик оказывается на месте, то она загружается в оперативную память и ей передается управление работой компьютера. Программа ищет файлы операционной системы на системном диске и загружает их в оперативную память в качестве программных модулей.
Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение «Non system disk», и компьютер «зависает», то есть загрузка операционной системы прекращается и компьютер остается неработоспособным.
После окончания загрузки операционной системы управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы к вводу команд. Приглашение представляет собой последовательность символов, сообщающих о текущем диске и каталоге. Например, если загрузка операционной системы была произведена с диска С:, а операционная система была установлена в каталог WINDOWS, то появится приглашение:
В случае загрузки графического интерфейса операционной системы команды могут вводиться с помощью мыши.
Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в оперативной памяти. Этот процесс называется загрузкой операционной системы.
Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным
.
Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
Поэтапно загрузку ОС можно представить следующим образом:
В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются BIOS (Basic Input/Output System – базовая система ввода-вывода). После включения компьютера эти программы начинают выполняться. Причем информация о ходе этого процесса высвечивается на экране дисплея. Сначала производится тестирование и настройка аппаратных средств, затем начинается загрузка ОС. На этом этапе процессор обращается к диску и ищет в 1 секторе диска наличие небольшой программы-загрузчика Master
Boot
.
Master Boot ищет на диске основной загрузчик Boot
Sector
, загружает его в память и передает ему управление. Boot
sector
(сектор начальной загрузки) – часть диска, зарезервированная для программы самозагрузки ОС. В этом секторе обычно содержится короткая программа на машинном языке, которая загружает ОС.
Далее основной загрузчик ищет остальные модули операционной системы и загружает их в оперативную память.
После окончания загрузки ОС управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы, в противном случае загружается графический интерфейс.
В зависимости от вида ОС, процесс ее загрузки будет отличаться. В состав ОС обязательно входят файлы, отвечающие за процесс загрузки. Рассмотрим «работу» файлов в процессе загрузки Windows XP
.
Начальная фаза загрузки.
Выбор системы.
Определение «железа».
Выбор конфигурации.
В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP (FAT-16, FAT-32 и NTFS).
Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу - показывает меню с выбором и ожидает ввода от пользователя определенный период времени.
Если такого файла нет, то NTLDR продолжает загрузку с первого раздела, первого диска, обычно это C:\.
Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP
, то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.
Если выбранная операционная система XP, то NTLDR находит и загружает DOS программу NTDETECT.COM для определения «железа», установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.
Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации. После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNL.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и слой Hardware Abstraction Layer (HAL.DLL), для того чтобы ядро могло абстрагироваться от «железа». Оба файла находятся в директории System32.
NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их, NTLDR передает управление компьютером дальше. Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для каждого такого устройства на экране печатается точка.
NTOSKRNL в процессе загрузки проходит через две фазы - так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессора, они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке: Object Manager, Executive, Microkernel, Security Reference Monitor, Memory Manager, Cache Manager, LPCS, I/O Manager, Process Manager.
Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration. Последняя задача фазы 1 инициализации ядра - запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и «родным» приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login. SMSS загружает win32k.sys - графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно, процесс загрузки считается удачным и создается Last Known Good Configuration.
Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.
Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в оперативной памяти.
Доброго времени суток, дорогие друзья, знакомые и прочие личности.
Если Вы имеете на компьютере 2 и более операционных систем, то наверняка у Вас на определенной стадии загрузки компьютера появляется список этих операционных систем, предлагающий их выбрать в течении, скажем, 30 секунд. Или же, бывает такое, что после установки очередной операционной системы, вторая вдруг исчезла из списка, а то и вовсе перестала загружаться. Еще частая проблема, когда Вы недоустановили (или удалили вовсе) систему, но она уже успела прописаться в загрузчик и висит там мертвой строчкой, или же.. Или что-то еще:-)
Сегодня я помогу Вам устранить ряд конфузов с этим самым списком и вообще сделать работу с ним удобнее или убрать его насовсем, а так же отредактировать и прочее прочее.
Немного подробнее о том, что можно, ну а потом уже как это сделать.
Поехали.
Редактирование списка загрузки Windows
Пару слов о желаемых, на мой взгляд, и местами даже полезных, настройках и способах применения редактирования списка операционных систем, а так же о часто возникающих проблемах где оное может понадобиться.
- Во-первых , как по мне, 30 секунд - для кого-то много, для кого-то мало. Как может быть много? Ну, например, Вы включаете компьютер и идете ставить чайник, а по возвращению видите, что система, если и выбралась, то всё еще грузится. Так вот можно поменять это самое время на, в общем-то, любое значение от 1 до n . Возможно есть предел сего значения, но я не проверял, да и сильно сомневаюсь, что кому-то надо, чтобы система грузилась через 30 минут:)
- Во-вторых , как я уже говорил выше, возможно, Вы (или Ваши знакомые) ставили второй\третий\пятый Windows (или другую операционную систему), но прервали установку или что-то не получилось в ходе неё, или Вы вовсе удалили одну из систем с . Только вот запись то об этой самой недопоставленной\удаленной Windows осталась и всячески надоедает, т.к. приходится всё время выбирать рабочую систему из списка. Так вот можно избавиться от лишних строк.
- В-третьих . Многие любят всякие забавные примочки. В данном случае, можно, например, переименовать системы в списке как угодно, например, вместо поставить Mega Winda Vasi .
- В-четвертых , допустим, Вам друг принес жесткий диск со своим Windows , но Вы не знаете как добавить операционную систему в список доступных, чтобы её можно было выбрать. Опять же это можно сделать там, где я сейчас расскажу.
- В-пятых , есть несколько бредовая идея по использованию нижеописанного способа редактирования списка доступных для загрузок систем. Можно создать список из скажем 25 систем, но грузится из них будет одна, остальные в силу своего несуществования будут выдавать ошибку. Какая по счету работает будете знать только Вы, т.к Вы этот список и создадите, а злоумышленнику, включившему Ваш компьютер, придется раз 20 перезагружать компьютер в поисках рабочей системы. Кстати использовать это можно не только , но и просто как розыгрыш друга, или подруги;)
Если есть какие-то вопросы, мысли, дополнения и прочее прочее, то пишите в комментариях или , а так же .