Клонування windows 2000 / xp / 2003 і проблеми апаратної сумісності

Відео: [Tutorial] Install Windows 2000 / XP / 2003 on USB device

Тут ми розглянемо основні проблеми, пов`язані з установкою операційної системи і набору необхідних додатків на еталонний комп`ютер і подальше тиражування системи на інші (кінцеві) комп`ютери.

Клонування Windows, тобто установка операційної системи і набору необхідних додатків на еталонний комп`ютер і подальше тиражування системи на інші (кінцеві) комп`ютери - потужний інструмент в руках системного адміністратора, що дозволяє в кілька разів скоротити час, необхідний для підготовки робочої станції або сервера до роботи. Найбільшою перешкодою на шляху використання цієї технології є ту просту обставину, що не всякий раз Windows, скопійований з одного комп`ютера, погоджується працювати на іншому.

Відео: Laserjet 1018 Driver XP

Тут ми розглянемо основні проблеми, пов`язані з несумісністю різних апаратних платформ і методи вирішення цих проблем, що дозволяють максимально розширити "зону охоплення" при установці Windows з образу. Деякі з цих методів засновані на слабо документованих можливості Windows і офіційно не рекомендовані Microsoft до застосування, що не заважає їм на практиці показувати зовсім непогані результати. Природно, читачі статті, які вирішили застосовувати ці методики у своїй діяльності, повинні розуміти, що роблять це на свій страх і ризик - автор статті ніяких претензій з цього приводу не братиме. Також виклад буде виходити з припущення, що читачі знайомі з інструментами для створення образів дисків з встановленим Windows - наприклад, Norton Ghost і Acronis True Image- розглядати роботу цих програм ми тут не будемо. Під "Windows" в подальшому буде матися на увазі будь-яка ОС сімейства Windows 2000 / XP / 2003, за винятком особливо обумовлених випадків.

причини несумісності

У більшості статей Microsoft на цю тему, вказується на існування тільки двох джерел несумісності - контролера накопичувачів і HAL (Hardware Abstraction Layer). Правда, в частині документів згадується, що проблеми можуть бути також викликані особливостями реалізації BIOS (до цього питання ми ще пізніше повернемося). Практичний досвід автора підтверджує справедливість цих тверджень, а зустрічаються іноді в Мережі думки про необхідність враховувати сумісність по процесорам, видеоадаптерам тощо повинні бути визнані невірними. Зазвичай ці помилки виникають внаслідок того, що вже на стадії створення вихідного образу були встановлені драйвера для пристроїв (в тому числі для системної плати) від їх виробників, що строго не рекомендується. Якщо ви хочете мінімізувати можливі проблеми сумісності, обійдіть при створенні образу набором тих драйверів, які встановить сам Windows.

Несумісність по контролеру накопичувачів зазвичай має наслідком "випадання" Windows в синій екран з повідомленням "INACCESSIBLE_BOOT_DEVICE". Якщо обмежити розгляд тільки системами з ATA / SATA накопичувачами, то вирішення цієї проблеми не складе труднощів. Досить перед створенням образу в диспетчері пристроїв на еталонному комп`ютері замінити конкретний драйвер для контролера накопичувачів, скажімо "VIA Bus Master IDE Controller", на "Standart Dual Channel PCI IDE Controller" (в російській варіанті - "Стандартний двоканальний котроллер PCI IDE"). Не треба навіть перезавантажувати Windows, щоб зміни вступили в силу - можна відразу переходити до копіювання системи. Тим же, кому необхідно включити в процес клонування комп`ютери з дисковими інтерфейсами, відмінними від ATA, наприклад SCSI, доведеться освоїти використання Sysprep-сценаріїв, зокрема навчитися додавати записи в секцію [SysprepMassStorage]. Необхідні відомості з цього питання можна почерпнути зі статті Еда Рота "Образи Windows XP".

Несумісність по HAL в типовому випадку призводить до переривання завантаження Windows без будь-яких повідомлень - тільки порожній екран, в лівому верхньому кутку якого самотньо мерехтить курсор. Базова рекомендація Microsoft за рішенням цієї проблеми - мати окремий образ для кожної версії HAL. Повний перелік версій HAL, підтримуваних Windows, можна знайти в статті "Як вказати вручну драйвер рівня апаратних абстракцій під час установки або оновлення Microsoft Windows XP" і він досить великий для того, щоб посіяти великі сумніви щодо переваг установки Windows з образів. Однак не будемо поспішати з висновками і розберемося по порядку, так все погано.

Що таке HAL і як з ним боротися?

Дізнатися поточну версію HAL на комп`ютері з уже встановленим Windows найпростіше, відкривши Диспетчер пристроїв і перевіривши назву драйвера пристрою Комп`ютер. Остання обставина наводить на думку, що HAL - це просто один із системних драйверів і з ним можна звертатися так само, як з іншими драйверами. Скажімо, перед створенням образу просто змінити на еталонної машині драйвер для пристрою Комп`ютер на потрібний. На жаль, все не так просто. Насправді HAL грає роль прошарку між комп`ютерним залізом і драйверами, останні звертаються до обладнання не безпосередньо, а через посередництво HAL, що зумовлює його виділену роль в системі. Вибір потрібної версії HAL відбувається на ранніх стадіях установки Windows, замінити його згодом через Диспетчер пристроїв не завжди можливо - якщо Win 2000 обмежень на зміну HAL не накладаються, XP / 2003 пропонує суттєво урізаний список варіантів заміни. При великому бажанні можна, розібравшись з документацією, організувати примусову зміну HAL на рівні файлів. Найпростіше це зробити шляхом редагування файлу boot.ini - ключі / HAL і / kernel дозволяють вибрати потрібну версію HAL на стадії завантаження Windows. Однак, поекспериментувавши на цю тему, ми швидко переконаємося, що, незалежно від способу заміни HAL, клонований Windows в значній кількості випадків

  • просто не загружается-
  • вантажиться, але може не підтримувати деякі пристрої.



В силу цих обставин є сенс докладніше розібратися змінами в цьому випуску HAL. Спочатку визначимося з термінологією. Складемо список, в якому будуть присутні офіційні назви версій HAL, які зазвичай використовуються в документації і відповідні їм назви драйвера пристрою Комп`ютер для англійської та російської версій Windows:

  • Non-ACPI PIC HAL
    Standard PC
    Стандартний комп`ютер
  • ACPI PIC HAL
    Advanced Configuration and Power Interface (ACPI) PC Комп`ютер з ACPI
  • ACPI APIC UP HAL
    ACPI Uniprocessor PC
    Однопроцесорний комп`ютер з ACPI
  • ACPI APIC MP HAL
    ACPI Multiprocessor PC
    Багатопроцесорний комп`ютер з ACPI

Уважні читачі повинні були відразу помітити - наведений список набагато коротше фігурує в документації Microsoft. Справа в тому, що в нього включені тільки ті апаратні платформи, які реально мають широке поширення (або мали в нещодавньому минулому). Всі подальший виклад буде відноситься саме до цього усеченному списку.

Розташована у верхній частині списку платформа non-ACPI APIC на даний момент часу є безнадійно застарілою. Типовими її представниками були комп`ютери на базі Pentium без підтримки ACPI, реально до цієї ж категорії слід віднести найперші системи, в яких ACPI була реалізована (перші Celeron`и), але зроблено це було часто настільки криво, що функцію ACPI доводилося просто вимикати. Комп`ютери без підтримки ACPI володіли низкою суттєвих обмежень, найбільш видимим з яких була неможливість спільного використання одного переривання декількома пристроями, що при налаштуванні "наворочених" конфігурацій викликало проблеми із забезпеченням кожного пристрою окремим перериванням.

Систем з ACPI PIC HAL в експлуатації знаходиться ще досить багато (більшість машин з Socket 370, частина комп`ютерів з Socket A), але на даний момент найбільш представлений варіант однопроцессорной системи - це ACPI APIC UniProcessor (UP). Ця обставина підкреслено спеціально, тому що в ряді документів Microsoft йдеться, що ACPI APIC UP відповідає багатопроцесорним машинам з одним вставленим процесором. Це дійсно так, але зараз під цю версію HAL випускається велика частина звичайних однопроцесорних плат. Ну і, нарешті, ACPI APIC MP HAL відповідає багатопроцесорним комп`ютерів, як "справжнім", так і системам з підтримкою Hyper-threading.




На закінчення даної теми залишилося тільки поскаржитися на те, що виробники системних плат в документації майже ніколи не вказують, під яку версію HAL плата зроблена і єдиний спосіб визначити це точно - поставити на неї Windows. Тепер ми готові до того, щоб перейти до головного питання.

Скільки образів потрібно для повного щастя?

Очевидна можливість мінімізувати кількість образів випливає з того факту, що зовсім необов`язково для кожної використовуваної версії Windows передбачати можливість установки на всі можливі апаратні платформи. Однак цілком реально, що для деяких версій така необхідність все ж виникне, наприклад для тієї ж XP. Як правильніше вчинити в такому випадку? Звернемося до першоджерел.

Численні вказівки Microsoft з даного питання, в цілому мають обережний характер, все ж дещо різняться між собою і їх можна розбити на три групи:

  • в першому, найбільш поширеному випадку, просто коротко повідомляється, що для успішного копіювання Windows версії HAL на вихідному і кінцевому комп`ютері повинні бути ідентичні і для кожної версії HAL має бути принаймні один образ;
  • у другому випадку, прикладом якого може бути стаття HAL Options After Windows XP or Windows Server 2003 Setup, визнається, що Windows, встановлений в одній розкладці HAL, в деяких випадках може працювати на комп`ютері з іншого розкладкою. Однак гарантованої є лише взаємна сумісність між ACPI APIC UP і ACPI APIC MP, всі інші варіанти не рекомендуються до використання;
  • і, нарешті, в третьому випадку, наприклад в статті Identifying Hardware That Impacts Image-based Installations- Windows Server 2003 Deployment Kit, після звичайних попереджень про несумісність різний версій HAL раптом з`являється таблиця, в якій наведено цілий ряд допустимих способів перенесення Windows між комп`ютерами з незбіжними HAL і ось це і є те, що нам потрібно.

Практичний досвід установки Windows з образів на комп`ютери з різною конфігурацією в цілому підтверджує наведені в таблиці дані з одним застереженням - в ній відсутня вказівка на можливість використання Windows, встановленого в розкладці ACPI APIC UP на комп`ютерах з ACPI APIC MP, що начебто вступає в протиріччя як з практикою, так і з вказівками на цю тему інших статей Microsoft. Можливим поясненням тут таке - Windows XP / 2003 з розкладкою ACPI APIC UP, будучи скопійований на многопроцессорную машину, сам замінює HAL на ACPI APIC MP, що, таким чином, має виключити ситуацію, коли на багатопроцесорної системі працює Windows з розкладкою ACPI APIC Uniprocessor.

Підсумувавши все вищесказане і виключивши з розгляду свідомо екзотичні версії HAL, правило сумісності при копіюванні Windows можна записати в наступному вигляді:

non-ACPI PIC = gt; ACPI PIC = gt; ACPI APIC UP lt; = gt; ACPI APIC MP

Відео: Windows 2000 Password Hack

В одній цій рядку укладена майже вся інформація, необхідна для ефективної організації клонування Windows в апаратно-різнорідної середовищі. Весь інший текст буде представляти із себе або коментарі до сформульованому таким чином правилом сумісності, або ж необхідні застереження. Позначення "= gt;" замінює слова "може бути використаний для копіювання на". Для більшої наукоподібності додамо, що операція "= gt;" транзитивна, тобто з non-ACPI PIC = gt; ACPI PIC і ACPI PIC = gt; ACPI APIC UP слід, що non-ACPI PIC = gt; ACPI APIC UP.

Насправді застаріла розкладка НЕ-ACPI PIC приведена тут скоріше для відомості і далі ми не будемо її враховувати. Windows з цієї HAL дійсно буде працювати на всіх інших машинах, проте навряд чи варто використовувати такий спосіб для установки на нових комп`ютерах - не забувайте про обмеження, властиві моделі без підтримки ACPI. З правила сумісності випливають такі очевидні можливості в ряді випадків скоротити кількість образів до одного-єдиного:

  • якщо в вашому комп`ютерному господарстві досить багато систем з розкладкою ACPI PIC ( "Комп`ютер з ACPI", "ACPI PC") - використовуйте один з них для створення образу. Цей образ можна буде використовувати для всіх комп`ютерів, крім багатопроцесорних - на них встановлений таким способом Windows працювати буде, але тільки з одним процесором.
  • якщо комп`ютери з ACPI PIC вже не використовуються або планується їх заміна найближчим часом - то доцільно (а при наявності потреби встановлювати Windows з образу на багатопроцесорні системи - просто необхідно) створити образ в розкладці ACPI APIC UP ( "Однопроцесорний комп`ютер з ACPI", " ACPI Uniprocessor PC "). Цей образ можна буде використовувати для всіх комп`ютерів, крім застарілих - на машинах з ACPI PIC встановлений таким способом Windows просто не запуститься.

Для повноти картини можна додати, що Windows XP / 2003 з розкладкою ACPI APIC MP, будучи скопійований на комп`ютер з ACPI APIC UP, збереже многопроцессорную HAL, але на його працездатність ця обставина не вплине. Тому в принципі можна використовувати многопроцессорную систему для створення образу, який потім буде розгортатися на машинах з ACPI APIC Uniprocessor, ось тільки навіщо без необхідності породжувати такі невідповідності? Також є можливість провести зміну HAL з ACPI APIC MP на ACPI APIC UP і навпаки за допомогою Sysprep-сценарію, проте особливої практичної потреби в цьому немає - простіше створити образ в розкладці ACPI APIC UP. При установці з цього образу на многопроцессорную систему, Windows XP / 2003 сам замінить HAL на ACPI APIC MP, в разі Windows 2000 це перемикання доведеться виконати вручну за допомогою диспетчера пристроїв.

Можливі проблеми та їх вирішення

Перш, ніж починати установку з образу, розумним буде витратити деякий час на перевірку тестами справності кінцевого комп`ютера. При наявності апаратних проблем спроби заднім числом зрозуміти, чому клонований Windows поводиться неадекватно, можуть зайняти набагато більше часу і нанести непоправної шкоди вашій нервовій системі. Крім того, ви повинні бути морально готові до того, що наведене правило сумісності не даватиме 100% -ого результату. Насправді невдачі бувають навіть при копіюванні Windows на системах з ідентичними HAL. При виникненні на кінцевому комп`ютері проблем можуть допомогти наступні дії:

  • поновіть BIOS до останньої версії;
  • при наявності в налаштуваннях CMOS перемикання PIC / APIC скористайтеся ним для установки правильної розкладки;
  • при наявності режиму Hyper-threading - вимкніть його.

Проте, навіть після виконання всіх цих дій, якась частина ваших комп`ютерів (зазвичай - дуже невелика) може відмовитися брати участь в процесі клонування. Microsoft у своїй документації схильний пояснювати такі випадки особливостями реалізації BIOS. Можливо, краще за все було б просто позбутися від таких комп`ютерів (або їх системних плат).


Поділися в соц. мережах:

По темі: