МИХАИЛ ПЛАТОВ
Symantec Ghost, или Как сделать клон своими руками
Вам наверняка приходилось сталкиваться с ситуацией, когда нужно было установить несколько компьютеров с абсолютно одинаковым набором программ. «Тупая механическая работа – думали вы, – почему нельзя просто взять и скопировать?». Собственно, а кто сказал, что нельзя? Очень даже можно, и сегодня вы узнаете как!
Первое знакомство
Поддержка парка компьютеров большого предприятия – задача не из легких. Наиболее удручающая часть – рутинная работа по обслуживанию компьютеров. Наиболее типичные задачи: установка ОС, поддержка ее работоспособности, модернизация оборудования, миграция настроек пользователей и т. д. Для решения этих проблем можно использовать платформу Windows Server System. Так, благодаря Active Directory упрощается управление учетными записями пользователей организации, а с помощью Remote Installation Services (RIS) можно автоматизировать процесс установки операционной системы. Однако возможности RIS небезграничны, поэтому и существуют продукты партнеров Microsoft, к числу которых относится и Symantec. О продукте Symantec Ghost 8.0 Corporate Edition и пойдет речь в этой статье.
Итак, что же может делать Symantec Ghost? Полный ответ приводится на более чем трехстах страницах сопроводительного руководства [1]. Коротко же можно сказать так: «Symantec Ghost позволяет значительно облегчить установку и поддержку ОС и программного обеспечения в организации». Кратко перечислю его наиболее интересные функции:
- Массовое «клонирование» компьютеров. Представьте, что вам необходимо установить операционную систему, а также некий набор программ на 100 только что купленных компьютеров. С помощью Symantec Ghost можно изготовить так называемый «эталонный образ», содержащий все необходимые программы, а затем растиражировать его на необходимое количество компьютеров (при этом предполагается, что вы располагаете необходимыми лицензиями для эксплуатации ПО на необходимом количестве компьютеров).
- Резервное копирование. С помощью Ghost можно делать резервные копии нескольких папок, разделов и жестких дисков. Поддерживаются как полные, так и инкрементальные резервные копии.
- Восстановление компьютеров до «известного» состояния. С помощью планировщика заданий можно по заданному расписанию периодически (например, раз в день) восстанавливать ОС на компьютерах до известного состояния. Данная схема особенно полезна для интернет-салонов, учебных заведений, а также других мест, в которых за компьютерами работает большое количество слабо контролируемых пользователей. Кроме того, при такой схеме для установки новой программы на все компьютеры достаточно просто один раз обновить используемый мастер-образ.
- Централизованное управление компьютерами – с помощью консоли можно выполнять на управляемых компьютерах любые команды и файлы, а также получать информацию от системных объектов WMI. Так, по определенному признаку (тип ОС, объем установленной памяти и другие параметры) можно выделить группу компьютеров и выполнить для них некоторую команду (запуск файла установки обновления ПО, специализированная утилита и т. д.).
- Миграция параметров пользователей – используя встроенные средства, можно перенести файлы и параметры учетной записи пользователя при установке новой версии операционной системы.
- Централизованная установка ПО – создавая специальные пакеты установки (AI Packages), можно просто и быстро устанавливать дополнительное ПО на компьютеры, управляемые Ghost-сервером.
- Поддержка популярных файловых систем. Symantec Ghost может на уровне файлов работать с файловыми системами FAT, FAT32, NTFS и Linux Ext2/3.
- Возможность работы с различными устройствами. Для хранения образов могут использоваться локальные жесткие диски, сетевые ресурсы, CD и DVD-приводы, устройства USB 1.1/2.0 и FireWire (IEEE1394).
Для лучшего понимания принципов работы, давайте посмотрим на Symantec Ghost изнутри.
Рисунок 1. Структура Symantec Ghost
Как видно из рис. 1, Symantec Ghost представляет собой типичное клиент-серверное приложение. Серверная часть представлена «Службой конфигурации» (Symantec Ghost Configuration Service), СУБД Adaptive Server Anywhere 7.0 и графической консолью управления (Ghost Console).
В составе клиента условно можно выделить два основных компонента:
- Ghost-раздел на жестком диске.
- Клиент Ghost-консоли, работающий как системная служба ОС.
Существует два типа Ghost-разделов: реальный раздел на жестком диске (FAT12, 16 Мб) и так называемый «виртуальный» раздел. Первый является обычным загрузочным DOS-разделом, с которого при необходимости запускается DOS-версия клиента Ghost. (Например, при обновлении ОС компьютера). В отличие от реального раздела, виртуальный создается в нефрагментированном файле, на загрузочном системном диске. Если вы планируете периодически обновлять ОС, то лучше создать выделенный раздел для клиента, если же Ghost будет преимущественно использоваться только для выполнения команд, установки ПО, получения информации и редкой переустановки ОС, то можно ограничиться виртуальным разделом.
Работа в Ghost происходит по следующему сценарию:
- С помощью консоли администратор назначает компьютеру задание (запись раздела жесткого диска, установка пакета ПО, копирование фалов, применение параметров компьютера, выполнение файла и т. д.).
- Сервер конфигурации подключается к клиенту и сообщает ему команду, которую необходимо выполнить.
- В зависимости от типа команды клиент либо выполняет ее непосредственно из Windows, либо загружает DOS-версию клиента и выполняет ее оттуда (например, в случае записи раздела диска).
Итак, думаю общее рассмотрение на этом можно закончить и плавно перейти к практической части нашего исследования.
Устанавливаем Ghost-сервер
В качестве примера рассмотрим решение проблемы, которую мы рассмотрели выше – установка 10 новых компьютеров с возможностью их периодического сброса до начального состояния. Для усложнения задачи будем считать, что компьютеры имеют различные аппаратные конфигурации.
Первое, что нам потребуется сделать, – установить Ghost-сервер. Для этого скачаем с сайта Symantec [2] ознакомительную версию Symantec Ghost 8.0 Trialware (90 Мб). Эта версия обладает полной функциональностью, ограничением же является максимальное число обслуживаемых клиентов – 10, а также суммарное количество операций, которые можно выполнить из консоли – 20. Процесс инсталляции не должен вызвать каких-либо затруднений – стандартные диалоги мастера InstallShield. Установка с параметрами по умолчанию (все компоненты) нас вполне устроит.
Системные требования для сервера более чем скромные – ОС Windows 2000 SP4 или выше с 96 Мб ОЗУ. После установки сам Ghost занял 72 Мб на диске. Требования к клиентам еще смешнее – процессор от 386. Поддерживаемые клиентом ОС – от Windows 9x до Windows XP, Linux (желательно с файловой системой ext2 или ext3).
После установки будут созданы две системные службы: Symantec Ghost Database Service и Symantec Ghost Win32 Configuration Server. Первая служба представляет собой СУБД Adaptive Server Anywhere 7.0, которая используется для хранения служебных данных, вторая – сервер конфигурации Ghost, отвечающий за взаимодействие с Ghost-клиентами.
В программном меню будет созданы ярлыки для запуска следующих компонентов:
- Symantec Ghost Console – как следует из названия, это и есть основной компонент, с помощью которого осуществляется управление зарегистрированными рабочими станциями.
- GhostCast Server – с помощью этого приложения можно вручную организовывать передачи ghost-образов клиентам. Очень полезно при первом подключении компьютеров к консоли. При выполнении заданий из консоли GhostCast Server будет запускаться автоматически.
- Ghost Boot Wizard – с помощью этой утилиты можно формировать загрузочные носители (дискета, компакт-диск, загрузочный раздел жесткого диска), содержащие DOS-клиента Ghost.
- AI Builder – инструмент создания пакетов установки ПО для их последующего централизованного размещения через Ghost-консоль.
- Ghost Explorer – программа, позволяющая просматривать и редактировать Ghost-образы.
На этом ненадолго оставим наш сервер и перейдем к клиентскому компоненту.
Изготавливаем клон
Первое, что нам понадобится сделать, – создать эталонный образ, который впоследствии и будет растиражирован на все компьютеры. При этом мы можем использовать как образ всего жесткого диска (содержащий загрузчик и все разделы), так и образ одного системного раздела ОС. Второй способ является более гибким и, возможно, чуть более сложным. Именно его мы и рассмотрим.
Итак, возьмем наиболее типичный компьютер и приступим к установке. Первым делом переразметим диск, удалив с него все разделы. Для ОС и сопутствующих программ создадим 10 Гб primary-раздел. Оставшееся место используем по собственному усмотрению, например, для хранения файлов. В установке ОС нет никаких особенностей (здесь предполагается, что используется корпоративная версия Windows XP SP2, не требующая повторной активации при изменении оборудования). Единственное, при использовании XP SP2 пришлось отключить режим «Простого общего доступа к файлам» и активировать исключающее правило для службы «File and Printer Sharing» в параметры firewall. Разрешения для Ghost-клиента в Windows Firewall добавились автоматически.
Для централизованного управления установим на подопытную машину клиента Ghost-консоли. Для этого зайдем на сервер, запустим Ghost Console и в меню Tools выберем пункт Remote Client Install. В появившемся списке выберем нужный компьютер и нажмем кнопку «Add >>». Затем введем имя и пароль пользователя, имеющего доступ к машине, в нашем случае таким пользователем будет локальный администратор. После нажатия кнопки «Install» сервер подключится к компьютеру и установит на него Ghost-клиента.
Если же по каким-то причинам дистанционно установить клиента не удалось, то можно провести установку вручную. Дистрибутив клиента можно взять либо на компакт-диске продукта, либо в папке установки сервера. При запуске необходимо указать имя компьютера с Ghost-сервером. Через некоторое время после установки машина появится в Ghost-консоли.
Подготавливаем образ
После завершения инсталляции программ перейдем к наиболее интересному моменту – подготовке системы к тиражированию. При этом нам необходимо будет решить две основные проблемы:
- Добиться переносимости образа между компьютерами с различным оборудованием.
- Сделать так, чтобы ОС-клоны смогли работать в одной сети.
Истоки первой проблемы скрываются в недрах архитектуры Windows NT, а именно – в механизме работы ОС с оборудованием. В Windows NT существует так называемый HAL (Hardware Abstraction Layer) – уровень абстракции от оборудования, скрывающий от ядра ОС особенности работы с физическими устройствами. Ничего плохого в самой идее HAL нет, скорее даже наоборот, просто его конкретная реализация в ОС Windows вызывает некоторые трудности применительно к массовому тиражированию. Дело в том, что в Windows существует несколько различных HAL. Так есть HAL PIC, APIC, MP и несколько версий ACPI (cм. таблицу 1). Выбор в пользу применения конкретного HAL делается на этапе установки ОС, в зависимости от типа имеющегося в компьютере оборудования. Так, для компьютеров на основе чипсета i440LX/BX, скорее всего, будет выбран HAL PIC или APIC, в то время как на более новых материнских платах (большинство выпущенных после 1999 года) при установке, скорее всего, будет выбрана ACPI-версия HAL. Соответственно, если эталонная система изготавливалась на компьютере с полной поддержкой ACPI (в диспетчере устройств для компьютера написано ACPI Uniprocessor PC), то растиражировать образ можно будет только на такие же 100% ACPI-совместимые компьютеры. С другой стороны, использовать HAL Standard PC на современных компьютерах тоже не совсем правильно.
Таблица 1. Возможные типы HAL, используемые Windows
Имя файла
|
Идентификация в Windows
|
Характерные особенности
|
hal.dll
|
Standard PC
|
Этот HAL использует стандартный программируемый контроллер прерываний – PIC. Как данный тип HAL выбирается на очень старых компьютерах с отсутствующей (или некорректной) поддержкой ACPI. Явным признаком использования данного HAL является невозможность выключения питания компьютера при завершении работы
|
halapic.dll
halmps.dll
|
MPS Uniprocessor PC
MPS Multiprocessor PC
|
Данный тип HAL использует т.н. Advanced Programmable Interrupt Controller (APIC) и тоже не поддерживает ACPI. Как следует из названия, вторая версия используется на многопроцессорных компьютерах
|
halacpi.dll
halmacpi.dll
|
Advanced Configuration
and Power Interface (ACPI) PC
|
Первый HAL для компьютеров, поддерживающий ACPI. Часто выбирается для компьютеров, не полностью поддерживающих спецификацию ACPI
|
halaacpi.dll
halmacpi.dll
|
ACPI Uniprocessor PC
ACPI Multiprocessor PC
|
Данный HAL используется для компьютеров, полностью поддерживающих ACPI. Практически все современные компьютеры используют именно его. Компьютеры с поддержкой HyperThreading используют многопроцессорную версию HAL
|
Таким образом, выбор в пользу конкретного HAL следует производить исходя из реального парка компьютеров. В нашем примере мы будем использовать компромиссный вариант HAL – Advanced Configuration and Power Interface (ACPI) PC, поддерживающий часть спецификаций ACPI. В этом случае мы, с одной стороны, получим большинство функций Power Management, а с другой стороны, обеспечим хорошую переносимость клона. Гораздо проще поддерживать один клон, чем по одному для каждой линейки, особенно если линеек таких много.
Однако успех переноса определяется не только текущим HAL, но и драйверами, используемыми в системе. Так, наверняка многие из вас пробовали переставлять жесткий диск с установленной ОС в другой компьютер, причем если в этом компьютере использовался другой чипсет (более новая версия или чипсет другого производителя) то ОС, как правило, стартовать отказывалась. Причина такого поведения достаточно проста. ОС загружается, попутно инициализируя известные ей устройства. Думаю, не нужно быть пророком, чтобы догадаться, что скажет IDE контроллер Intel, когда с ним будут говорить на языке контроллера VIA или AMD. Мы же при этом обычно видим «синий экран» с надписью «Inaccessible boot device». Чтобы этой ситуации избежать, поступим следующим, неоднократно проверенным способом: перед переносом системы с помощью диспетчера устройств заменим драйверы контроллера IDE и его каналов стандартными версиями. Перезагружать компьютер при этом не нужно (рис. 2).
Рисунок 2. Стандартные версии драйверов
Далее можно выключить компьютер, вытащить диск, переставить его в другую машину, например, с другой аппаратной конфигурацией, при необходимости установить недостающие драйверы и убедиться, что все корректно работает. Повторив эту операцию для каждого типа используемых машин, мы доставим в систему все необходимые драйверы, тем самым избавив себя от проблем с их установкой после клонирования. На этом первую проблему (переносимость) можно считать решенной и теперь перейдем ко второй.
Причины второй проблемы кроются в механизмах работы ОС Windows NT в рамках сети. В доменах и рабочих группах компьютеры идентифицируются по имени и уникальному идентификатору безопасности – SID (Security Identifier), создаваемому на этапе установки ОС. Таким образом, скопировав диск «в лоб» мы получим вторую копию операционной системы, имеющую точно такие же SID компьютера и пользователей. С практической стороны эта ситуация будет выглядеть следующим образом: из всех наших клонов только один сможет войти в рабочую группу или домен.
Итак, как вы уже, наверное, догадались, решением второй проблемы является изменение имен и компьютеров и их идентификаторов безопасности (SID). Для этого можно использовать как минимум 2 средства:
- Symantec Ghost Walker
- Microsoft Sysprep
Первое средство входит в состав корпоративной версии Ghost и предназначено специально для изменения идентификаторов безопасности.
Второе, более полно именуемое как System Preparation Tool, выпускается корпорацией Microsoft для тиражирования и аудита ОС Windows 2000/XP корпоративными клиентами, реселлерами и дистрибьюторами. Ввиду большей гибкости и универсальности для решения нашей задачи будем использовать sysprep. Помимо самой утилиты нам понадобится сделать так называемый «файл ответов», в котором будут указаны параметры, которые будут использоваться для автоматизации установки. Утилиту sysprep возьмем с компакт-диска Windows XP из архива deploy.cab, находящегося в папке support ools. Разархивировав содержимое архива, на Ghost-сервер запустим файл setupmgr.exe. С его помощью мы создадим файл ответов для sysprep. В первом диалоге укажем, что мы хотим создать новый файл (пункт «create new»), во втором выберем файл ответов для sysprep (опция «sysprep setup»), далее укажем тип используемой нами ОС, а на последний вопрос мастера выберем ответ с полной автоматизацией установки («Yes, fully automate the installation»). В появившемся окне мы можем ввести ответы на вопросы, задаваемые при установке. Для успешного клонирования определим следующие значения полей:
- Time Zone – выберем GMT+3.
- Product Key – введем серийный номер ОС.
- Computer Name – выбрать вариант с автоматической генерацией имен.
- Networking Components – использовать DHCP.
- Workgroup or domain – необходимо оставить вариант с включением в рабочую группу.
- Regional Settings, Languages – выбрать русский язык.
Остальные поля можно заполнить по собственному усмотрению. Сохраним файл под именем sysprep.inf (рис. 3).
Рисунок 3. Окно диалога Setup Manager
Теперь вернемся к Ghost-консоли и создадим задание для получения образа. Для этого откроем раздел меню Tasks, щелкнем правой кнопки мыши в области справа и в появившемся меню выберем параметр «New Image Create Task» (см. рис. 4).
Рисунок 4. Создание задания
В появившемся окне зададим имя задания – Dump Image, выберем диск, раздел и компьютер, с которого будет делаться образ. Напротив «Image Name» нажмем «Browse», и укажем имя файла, которое будет использоваться для хранения образа (см. рис. 5).
Рисунок 5. Диалог создания задания
На закладке «Network» выберем режим «Unicast» и, если необходимо, зададим ограничение на максимально используемую пропускную способность сети. Затем перейдем на закладку «Sysprep», активируем параметр «Run Microsoft Sysprep on machine before creating image» и создадим sysprep-конфигурацию с использованием файлов, распакованных из deploy.cab. После запуска этого задания на машине-эталоне загрузится DOS-клиент, который начнет передачу образа на сервер (см. рис. 6).
Рисунок 6. Передача образа в DOS-клиенте
Предстартовый отсчет
Как только образ скопируется, можно будет перейти к заключительному этапу – массовой установке ОС на клиентские компьютеры. А пока идет копирование, произведем небольшую настройку рабочих станций. Как вы уже, наверное, догадались, для передачи образа на рабочие станции нам понадобится предварительно запустить на них Ghost-клиента. Сделать это можно двумя способами.
Способ 1: загрузка DOS-версии Ghost-клиента с помощью 2 загрузочных дискет. Создать дискеты можно с помощью мастера «Ghost boot Wizard». В этом случае нужно будет вручную загрузить все необходимые компьютеры, запустить GhostCast-сервер и передать клиентам файл-образ. Данный способ прост, и его вполне можно использовать, если машин немного и регулярно клонировать их, скорее всего, не придется.
Если же ситуация иная, то больше подойдет способ 2: автоматизированная установка служебного Ghost-раздела. В этом случае с использованием механизмов сетевой загрузки на каждом клиентском компьютере создается служебный загрузочный раздел, на котором размещается DOS-версия клиента.
В варианте «из коробки» для сетевой загрузки Ghost используется механизм 3Com DynamicAccess boot. Ввиду того, что эта технология поддерживается далеко не всеми сетевыми платами, рассмотрим другой, более универсальный способ.
Идея следующая – сетевая загрузка Linux-системы с последующим копированием служебного раздела Ghost. При этом необходимо выполнить следующие шаги:
- Создать 2 загрузочные дискеты с DOS-клиентом Ghost. Дискеты создаются с помощью мастера «Ghost boot Wizard», вариант «Network boot disk».
- Создать образ загрузочного раздела Ghost, содержащий Ghost-клиента и драйверы сетевых карт. Для создания образа используется тот же самый мастер, вариант «Console Boot Partition». Для добавления драйверов нескольких карт можно использовать пункт «Multicard Template».
- При помощи стандартных средств (GhostCast-сервер и дискеты) записать полученный образ на один из целевых компьютеров (но не на тот, на котором мы сделали клон) в режиме копирования диска.
- Через PXE загрузить Linux с корневой файловой системой на NFS-сервере.
- Скопировать загрузчик и первый раздел диска на NFS-сервер. Сделать это можно с помощью следующей команды:
# dd if=/dev/hda of=/home/hda count=32256 ibs=512
322256+0 records in
322556+0 records out
|
Через PXE загрузить все остальные компьютеры и записать на них полученный образ. (Внимание! При этом вся информация на первом жестком диске будет уничтожена!) В самом простом случае достаточно модифицировать стартовые скрипты дистрибутива так, чтобы выполнялись команды dd и reboot.
После перезагрузки компьютеры загрузят DOS-клиента Ghost и зарегистрируются в консоли. Теперь создадим для них конфигурации (имя компьютера, рабочая группа и т. д.), взяв в качестве шаблона вариант от компьютера-клона (см. рис. 7).
Рисунок 7. Копирование конфигурации компьютеров
Вот теперь мы можем приступать к клонированию компьютеров.
Лейся, образ…
Для доставки образа создадим задание Deploy Image. Перейдем в раздел Tasks, и в контекстном меню мыши выберем пункт «New Task». На первой закладке отметим галочками «Clone» и «Configuration» и выберем группу подопытных машин (см. рис. 8).
Рисунок 8. Основные настройки задания Deploy Image
На второй закладке выберем режим Multicast, на закладке «Clone», укажем, что мы будем разворачивать наш образ на второй раздел первого жесткого диска (см. рис. 9).
Рисунок 9. Настройки клонирования задания Deploy Image
Для того чтобы второй раздел не занял все оставшееся место на жестком диске, нажмем на кнопку Advanced и укажем дополнительный параметр командной строки: szee. Убедимся, что на закладке «Configuration» установлен параметр «default», и нажмем «OK».
Теперь в контекстном меню только что созданного задания выберем пункт «Execute Task». Через несколько минут компьютеры загрузят DOS-версию клиента Ghost и начнут передачу образа. Если процесс прошел нормально, то после выполнения задания на всех компьютерах группы будет установлена «свежая» операционная система.
В качестве последнего штриха добавим эти компьютеры в домен. Для этого можно либо воспользоваться соответствующей функцией Ghost, либо провести подключение вручную. Мы поступим вторым способом, попутно рассмотрев механизм выполнения команд на компьютерах с Ghost-клиентом. Для решения этой задачи воспользуемся утилитой netdom.exe, входящей в состав Windows Support Tools. В консоли создадим задание «Add to domain», с параметрами «Transfer Files» и «Execute Command». На закладке первого параметра укажем, что мы хотим записать файл netdom.exe в incoming-каталог клиента Ghost, для второго параметра укажем, что в ОС мы хотим запустить следующую команду:
"c:program filessymantecghostincoming etdom.exe"
с параметром:
Join %computername% /domain:имя_домена /userD:Administrator@имя_домена/password:пароль /reboot
После выполнения команды компьютеры перезагрузятся и подключатся к домену.
Заключение
Справедливости ради нужно отметить, что существуют ситуации, в которых не обязательно использовать все компоненты продукта. Если вы занимаетесь предпродажной установкой ОС, то Ghost-клиент и консоль нам вряд ли понадобится, а вот sysprep и компакт-диск с DOS-версией клиента Ghost будут как нельзя кстати. При помощи простого скрипта можно заранее записать ОС на десяток жестких дисков, а затем просто при необходимости вставлять их в собираемые компьютеры. Похожий метод будет полезен и при установке нескольких машин в небольших фирмах. Ghost-клиент DOS с поддержкой сетевых карт позволит быстро переустановить компьютер, не прибегая к помощи отвертки. Если же компьютеров у вас очень много и дружбу с Ghost вы планируете всерьез и надолго – устанавливайте консоль, не пожалеете!
Приложение
FAQ
Можно ли с помощью Ghost клонировать Linux, установленный на ext2/3 файловую систему?
Можно, но в этом случае образ будет делаться посекторно, со всеми вытекающими отсюда последствиями (невозможность изменения размера раздела при клонировании, отсутствие возможности просмотра и редактирования файлов в образе).
Можно ли с использованием Ghost клонировать Windows 2000/2003 серверы?
Технически ghost способен сделать образ раздела или диска сервера, который в дальнейшем может использоваться как резервная копия или как образ для миграции. Если же предполагается создание дополнительной копии существующего сервера, например, для работы в качестве резервного контроллера домена, то ghost для этих целей лучше не использовать. Дело в том, что многие серверные службы при установке создают собственные уникальные идентификаторы. При клонировании Ghost изменит только SID компьютера (с помощью Ghost Walker или sysprep). Идентификаторы служб потеряют свою уникальность, что в свою очередь может привести к сбоям в их работе.
Как клонирование отражается на файлах, зашифрованных с помощью EFS?
Если при клонировании вы изменяете SID (с помощью sysprep, Ghost Walker или другого средства), то зашифрованные файлы прочитать будет невозможно. Если же делаете копию диска в целях резервирования, то SID не изменится и зашифрованные файлы будут читаться так же, как и на ригинальном компьютере.
Можно ли с помощью Ghost клонировать ОС, установленную на RAID-массиве?
Нет, работа с RAID-массивами не поддерживается.
Меняем HAL
А зачем вообще может понадобиться смена HAL? В нашем случае целью является создание «универсального образа ОС», работающего на компьютерах различной конфигурации, хотя могут быть и другие причины: например, вы купили новую материнскую плату с поддержкой HyperThreading, а переустанавливать заново ОС и все программы особого желания нет.
Можно выделить два варианта замены HAL – смена «более продвинутого HAL» (нижние строки таблицы 1) на более «старый» (верхние строки таблицы 1). В этом случае подойдет стандартное средство – диспетчер устройств. Найдем устройство компьютер, в контекстном меню выберем «Обновить драйвер» и в режиме ручной установки выберем нужный HAL из списка.
К сожалению, для обратной замены (более старого HAL на продвинутый), начиная с Windows XP и выше, такой способ не работает, и HAL придется менять вручную.
Для начала определитесь с типом HAL, который вы хотите установить. Если вы планируете установить ACPI-ядро вместо Standard PC, то, скорее всего, придется переустанавливать ОС, слишком сильны отличия в реестре. Если же нужно заменить одно ACPI-совместимое ядро на другое, то можно обойтись без переустановки.
Рассмотрим сказанное на примере. Допустим мы хотим обновить HAL для поддержки HyperThreading. Из дистрибутива Windows (или файла drivers.cab) возьмем файлы ntkrnl.exe и halmacpi.dll и скопируем их в папку system32 инсталляции Windows. Затем откроем файл boot.ini и продублируем последнюю строчку, добавив к ней параметры /kernel=ntkrnlmp.exe /hal=halmacpi.dll.
Должно получиться нечто похожее на это:
ulti(0)disk(0)rdisk(0)partition(1)WINDOWS="XP Professional MP"/noexecute=optin /fastdetect/kernel=ntkrnlmp.exe/hal=halmacpi.dll
Теперь перезагрузимся и проверим новый HAL, открыв Task Manager. На компьютерах с поддержкой HT процессоров будет два.
Symantec Ghost и VMWare Workstation
Прочитав заголовок, вы наверняка подумаете: «С Symantec Ghost все понятно, но при чем тут WMWare Workstation? Ведь это совершенно разные продукты». На самом деле, WMWare Workstation хорошо дополняет систему с Ghost. Представьте себе, что вам необходимо поддерживать несколько различных клонов: бухгалтерия, отдел программирования, студия дизайна, отдел верстки и т. д. При этом время от времени приходится обновлять некоторые программы. С использованием стандартной схемы с Ghost процесс обновления, скорее всего, будет проходить так: распаковка образа на тестовый компьютер, установка программы, создание нового образа. А что если после обновления вы нашли ошибку? Делать резервные копии образов? При каждом обновлении? Для каждой ветки образа? А вот теперь самое время вспомнить о VMWare Workstation 5. Одной из возможностей данной программы является созданием снимков (Snapshot) и клонов. Если различия между используемыми версиями не очень велики, то различные образы можно поддерживать в дереве снимков (см. рис. 10). При этом для установки новой программы не нужно загружать образ на тестовый компьютер, достаточно просто перейти к нужному снимку, установить нужную программу и скопировать образ с помощью Ghost-клиента. Если в процессе установки вы случайно совершили ошибку, – не расстраивайтесь, ведь у вас есть Undo!
Рисунок 10. Дерево снимков VMWare Workstation
Литература, ссылки:
- Symantec Ghost Implementation Guide.
- http://sea.symantec.com/jp/promotions.cfm?productid=9&promocode=website.