Клонування Windows і проблеми апаратної сумісності, Windows, Операційні системи, статті

Олександр Лисенко

“.. Насправді клонів більше. А всякі співчуваючі, які,
видно, і самі не проти клонуватися, ллють воду на їх млин! ”
С. Лук’яненко “Геном”

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

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

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

У більшості статей Microsoft на цю тему (наприклад, тут: Клонування системи Windows 2000), Вказується на існування лише двох джерел несумісності – контролера накопичувачів і 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:


Уважні читачі повинні були відразу зауважити – наведений список набагато коротше фігурує в документації 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 з образів на комп’ютери з різною конфігурацією в цілому підтверджує наведені в таблиці дані з одним застереженням – в ній відсутній вказівка ​​на можливість використання 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 => ACPI PIC
=> ACPI APIC UP <=> ACPI APIC MP

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

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


Для повноти картини можна додати, що 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. При виникненні на кінцевому комп’ютері проблем можуть допомогти наступні дії:


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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*