Программирование драйверов Windows

       

Частные приемы восстановления системы


При поэтапном тестировании драйвера (сначала &#8212 процедур загрузки и выгрузки, затем скелета рабочих процедур, затем алгоритма функционирования и т.п.) неполадки в коде вряд ли вызовут проблемы общего функционирования системы. Однако полностью исключать вероятность разрушения системы нельзя. Поэтому рассмотрим некоторые методы приведения ее к работоспособному состоянию после сбоев.

Прежде всего, после фатального сбоя системы следует разрешить ей выполнить проверку целостности файловой системы. Несмотря на длительность этой процедуры, следует довести ее до завершения (при соответствующем запросе системы), поскольку накопления дефектов недопустимо &#8212 это опаснее, нежели каждый из сбоев в отдельности.

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

Во-первых, по нажатию клавиши F8 можно произвести выбор в начале загрузки компьютера разных вариантов, из которых наиболее часто применяемыми для восстановления работоспособности являются два:

  • загрузка последней удачной конфигурации;
  • загрузка в безопасном режиме.
  • В последнем случае по завершении загрузки можно удалить драйвер, ставший источником неприятностей, из системы средствами Диспетчера устройств, либо просто стереть бинарный файл нового "плохого" драйвера в том месте, где его должна обнаруживать операционная система &#8212 с целью не допустить его загрузку в следующий раз.

    В тех случаях, когда загрузка системы более или менее успешно доходит до конца, администратор может выполнить восстановление состояния системы в одной из ранее сохраненных резервных точек (об этом говорилось в 3 главе).

    При более серьезных проблемах можно воспользоваться загрузкой с внешнего носителя. Способ создания загрузочных дискет для Windows XP описан на Интернет-сайте Microsoft (статья Базы Знаний номер Q30559) по адресу support.microsoft.com/default.aspx?scid=kb;ru;30559. Загрузочная дискета позволит получить доступ к логическим дискам с установленной системой Windows.
    Логично пользоваться этим способом на компьютерах, не поддерживающих загрузки с CD ROM. (Имеется в виду то, что дискета обеспечивает доступ к загрузочному CD диску, который также необходим в этом процессе.)

    В том случае, если в распоряжении имеется компакт-диск для установки Windows и компьютер может быть загружен с CD ROM (практически все современные компьютеры на платформе Intel позволяют это сделать), то следует выполнить именно такой способ загрузки и войти в Консоль Восстановления системы (Recovery Console). B этом режиме будут доступны системные консольные команды, список которых можно получить по команде help. Наиболее актуальной является команда принудительной проверки диска (например, логического диска D)

    CHKDSK D: /p

    В данном случае ключ /p обеспечивает принудительную проверку.

    В том случае, если оказалась испорчена загрузочная запись (MBR) или следует избавиться от загрузочной записи нестандартных загрузчиков LILO, MILO и т.п., следует воспользоваться программой fixmbr. В этом же режиме можно выполнить поверку диска. Перезаписать загрузочный (boot) сектор на логическом диске можно при помощи команды fixboot.

    При ненарушенной файловой системе затруднения в загрузке могут быть обусловлены плохим состоянием информации в Системном Реестре. Некоторые источники предлагают (помимо специальных программ) такой метод восстановления как простое копирование ранее сохраненных файлов Системного Реестра на их место в директории %systemroot%\config. В нормальном рабочем состоянии операционная система не разрешает доступа к ним (для просмотра, копирования или перезаписи), однако, при загрузке с установочного CD диска, это становится допустимой операцией. Файлы Реестра, которые всегда имеют солидные размеры, для этого случая можно сохранять на других логических дисках компьютера.

    Заметим также, что все затруднения, связанные со спецификой доступа к разделам файловой системы в формате NTFS, можно обойти, если установить операционную систему на логический диск с форматом FAT32.


    Утратив некоторые преимущества NTFS (такие, как запись файлов более 4Гбайт и более высокая надежность), можно будет получать доступ к таким разделам с дискеты MS-DOS или при загрузке Windows 98 с другого логического диска. Совершенно аналогичный и официальный совет дает Microsoft, предлагая установить на компьютере еще один экземпляр Windows NT на другом логическом диске, что, безусловно, предоставит возможность доступа ко всем NTFS разделам, в том числе &#8212 к тому, на котором испытывается драйвер и, возможно, произошел сбой.

    Наконец, еще одним средством доступа к файлам операционной системы Windows NT 5, размещенным на диске с файловой системой NTFS, является программа NTFSDOS, разработанная фирмой SysInternals. При загрузке MS DOS либо при загрузке с загрузочной дискеты, сделанной под Windows 98, эта программа (если она записана в не-NTFS разделах) может быть запущена и позволяет получить доступ к NTFS разделам жесткого диска, включая запуск программы CHKDSK. (Интересно, что в свой загрузочный набор программа NTFSDOS при установке включает еще файлы Ntoskrnl.exe, Ntfs.sys и Ntdll.dll из установленной на компьютере версии Windows NT.) Соответственно, это позволяет модифицировать данные в NTFS разделах &#8212 при наличии полной версии NTFSDOS Professional &#8212 или копировать их в другие не-NTFS разделы (демо-версия), если они присутствуют в системе. Возможен вариант, при котором подготавливается комплект из 2-х дискет, с которых и выполняется загрузка.

    Приступая к тестированию драйвера, разработчик должен в достаточной мере подготовиться к потенциально возможным неприятностям, которые могут возникнуть из-за нарушения целостности операционной системы, сводя свое вмешательство к минимуму. Тем более, что неполадки, действительно требующие переустановки всей операционной системы, возникают не так уж часто.


    Содержание раздела