Отже, я хочу вам розповісти про те, як за допомогою простих маніпуляцій з реєстром можна допится зміни версії Windows.

Інформація про поточної версії Windows знаходиться в двох параметрів реєстру Windows. Зараз ми поговоримо про параметри, що знаходяться у розділі реєстру HKEY_LOCAL_MACHINESYSTEMCurrentControlsetcontrolproductoptions. Це параметри Product Type і Product Suite.

Product Type — параметр REG_SZ типу. Визначає напрямок даній версії Windows. Може приймати значення:

WinNT робоча станція Windows (Win XP Pro, Win XP Home);
Lanman контролер домену;
ServerNT сервер

Product Suite параметр REG_MULTI_SZ типу. Визначає дод. градацію Windows. Може приймати значення:

Blade, DataCenter, TerminalServer, Small Business, BackOffice, CommunicationServer, Enterprise, ConcurrentLimit — визначають версію для Windows 2003 Server.

Personal лінійка Home Editions.

EmbeddedNT різновид Windows Embedded.

Тепер спробуємо шляхом зміни параметра Product Type змінити версію Windows. Єдиний момент спроба зміни призведе до появи Синього Екрану. Але з деякими поправками можна змінити значення Product Suite.

УВАГУ. Дані відомості надані ТІЛЬКИ для ознайомлення. Будь-яка зміна версії Windows є порушенням прав на даний продукт. Крім того воно робить вашу копію Windows піратської.

Для прикладу перетворимо Win XP Home в Win XP Pro.
Отже, подивившись вище, ми помітимо, що для Win XP Home параметр Product Suite дорівнює Personal. Тоді яке значення прийме цей параметр в Win XP Pro? Справа в тому, що параметр Product Suite повинен бути відсутнім.

Якщо ж ви спробуєте змінити цей параметр, система не дасть вам це зробити (Виведеться повідомлення про порушення ліцензії). Тому так просто ви цього не доб’єтеся.

Т. К. значення в гілці реєстру HKEY_LOCAL_MACHINESYSTEM є критичними для системи, програмістами Microsoft для страховки було вирішено продублювати ці відомості. Так з’явилися гілки реєстру HKEY_LOCAL_MACHINESYSTEMControlSet001, HKEY_LOCAL_MACHINESYSTEMControlSet002, і т. д.
Інформація, що знаходиться в них, береться в різні проміжки часу, а гілка HKEY_LOCAL_MACHINESYSTEMCurrentControlset є лише посиланням.
Тепер можна задатся питанням якщо гілка HKEY_LOCAL_MACHINESYSTEMCurrentControlset змінювати не можна, то чи можна змінити HKEY_LOCAL_MACHINESYSTEMControlSetnnn?
Виявляється, що гілка HKEY_LOCAL_MACHINESYSTEMControlSetnnn абсолютно ніяк не захищена.

Залишилося згадати, що Windows вибере з розділу HKEY_LOCAL_MACHINESYSTEMControlSetnnn при завантаженні. Для цього застосовується значення параметрів типу DWORD в HKEY_LOCAL_MACHINESYSTEMSelect. Вона містить наступні параметри:

Default визначає, яка копія розділу ControlSet буде завантажена при нормальному завантаженні. Якщо його значення 2, то завантажиться ControlSet002.

Current номер поточної копії розділу ControlSet, на який посилається CurrentControlSet.

LastKnowGood вказується копія розділу при завантаженні Windows в режимі Завантаження Останньої Вдалої Конфігурації.

Failed вказує ControlSet якщо завантаження Windows закінчилася невдачею.

Відразу виникає питання значення якого параметра варто змінювати? Виходячи з мого досвіду найкраще редагувати параметр LastKnowGood, т. к. є частка ймовірності, що система не завантажиться. Найчастіше потрібне введення реєстраційного коду. Якщо ви будете редагувати параметр Default, то відповідно при завантаженні пошкодиться параметр LastKnowGood.

От і все. Найближчим часом опублікую статтю про те, як з простого Win XP можна зробити інші редакції Windows.