Время на прочтение7 мин
Количество просмотров65K
Речь пойдет про платы периода 2016-2021+, т.е. процессоры Skylake и выше. На платформe AMD почти те-же проблемы, но чуть меньше. Все что относится к Windows XP также применимо к Windows 2003 Server за исключением мелких деталей. C Windows XP/2003 x64 ситуация тоже схожа, но изначально условия несколько благополучнее (нет проблем с драйверами в системах с памятью выше 4Гб). Статья не является «пошаговой инструкцией», в основном теория и способы решения проблем. На вопрос «Да кому сейчас нужен этот XP?» мой персональный ответ — это хобби, протащить алмаз код 2001 года через паутину современного железа…
Если попытаться установить XP c установочного носителя (cdrom/usb/hdd), установщик вывалится в BSOD 0xA5.
Этот код ошибки относится к подсистеме ACPI, которая выбирается установщиком как приоритетная. В установщике можно выбрать режим без использования ACPI, затем это отразится на работе Windows — 1) ограниченное управление питанием процессора/частоты и возможное ограничение на кол-во обнаруженных ядер, 2) часть устройств содержит код инициализации/управления/… в ACPI таблицах DSDT/SSDT, этот код никогда не будет задействован. Я режим «без ACPI» никогда не использовал и не тестировал, возможно есть и другие ограничения (самое известное — отсутствие программного способа выключить компьютер).
Вернемся к приоритетному режиму, с активным ACPI. Cтандарт менялся, выходило несколько версий, для нас ключевые версии ACPI 1.0b и ACPI 2.0, разница между ними существенная, а вот разница между ACPI 2.0 и например ACPI 6.1 со стороны Windows я подозреваю отсутствует (imho). Windows XP поддерживает только версию 1.0b, Vista и выше поддерживают обе версии. Производители мат. плат ориентируются на актуальные версии Windows, совместимость с Windows XP больше не требуется, поэтому код bios реализует только версию 2.0(или одну из последующих версий). Основные отличия стандарта 2.0 от 1.0b:
-
синтаксис ACPI Source Language (ASL) расширен на ~13 новых комманд
-
появился 64-битный доступ к памяти/полям структур
-
на хранение/арифметику всех целых чисел выделяется 64 бита вместо 32 бит.
Причина почти всех BSOD 0xA5 это пункт 1. ACPI Source Language (ASL), для решения этой проблемы существует два различных файла ACPI.sys реализующих новый синтаксис. Второй файл взят из бета версии Longhorn и имеет также реализацию пунктов 2. и 3.
Итак, установщик более не радует нас BSOD 0xA5, можно устанавливать Windows c активным ACPI. Для управления используется клавиатура, после первой перезагрузки включается графическая часть установщика и можно использовать еще и мышь. Эти устройства давно с USB интерфейсом и у большинства пользователей с ширпотреб. материнскими платами подключены к портам южного моста. Южный мост у Intel еще с предыдущих платформ переименован в PCH (Platform Controller Hub) и на микросхеме H110(и выше) содержит только USB3 контроллер (в предыдущих платформах Ivy/Sandy/??? был совмещенный USB2/USB3 контроллер). Windows XP имеет встроенные драйвера только на USB1/USB2, для USB3 встроенные драйвера появились только в Windows 8. Так как же управлять USB-клавиатурой подключенной к USB3 контроллеру в установщике без драйверов? Помощь приходит со стороны мат. платы, почти во всех BIOS есть эмулятор PS/2 клавиатуры/мышь. Это программный эмулятор, работающий на уровне SMM (System Management Mode), он преобразует аппаратные события со стороны USB3 контроллера в виртуальный IO порт 0x60-0x64, для Windows и даже DOS это выглядит как аппаратное устройство и они активируют свои PS/2 драйвера. Эмулятор ущербный, с клавиатурой еще как-то можно работать, но мышь эмулируется на уровне «если прицелиться, то можно попасть в нужную точку на экране», но для установщика этого эмулятора хватает.
Управлять установщиком теперь возможно, далее будет BSOD 0x7B, про эту ошибку все и так знают — Windows не может найти ни одного поддерживаемого контроллера дисков(накопителей), решение тоже всем известное — в файлы установщика интегрировать AHCI драйверы производителя, для Intel есть много вариантов:
-
простой и универсальный iaStor v11.2.0.1006, работающий на любом Intel контроллере
-
продвинутые Intel RST/RSTe
-
StorAHCI из Windows 8 как в виде портированных исходников от минимум двух авторов так и в двоичном виде
-
MS AHCI из Windows 7
-
опенсорсный UniATA
Для NVMe накопителей также есть несколько вариантов универсальных драйверов: open source OFA 1.3/1.5, Windows 7 NVMe Driver, Samsung NVMe Driver
В итоге мешающие препятствия преодолены, Windows можно установить и загрузить до состояния графического рабочего стола. Но работать в такой системе некомфортно, решаемые(-частично) проблемы:
1) по прежнему используется неэффективнaй PS/2 эмулятор мыши/клавиатуры
2) некоторые приложения ведут себя странно, рывки анимации или похожие глюки
3) процессор всегда потребляет существенную мощность
4) доступно 1.5-3.2Гб ОЗУ при установленном размере физической памяти 4Гб и выше
5) нет доступа к дополнительным накопителям с GPT разметкой
6) расширенные инструкции AVX/AVX2/AVX-512
По каждому пункту:
1) по прежнему используется неэффективнaй PS/2 эмулятор мыши/клавиатуры
Вместо эмулятора нужен драйвер USB3 контроллера, Intel для XP драйвер не выпускала. После ряда экспериментов выяснилось что для Intel USB3 контроллера подходят три различных драйвера с разной стабильностью и совместимостью, самый лучший это портированный из Windows 8 драйвер от Microsoft. Для активирования более быстрого UASP режима накопителей есть три драйвера почти одинакового качества: а)VIA uas б) Microsoft uaspstor в) Etron uas. USB3 драйвер можно также интегрировать в установщик, но процесс достаточно сложный. Драйвера сторонних производителей USB3 для Windows XP это отдельная тема, «кто у кого что украл и при чем здесь индусы»
2) некоторые приложения ведут себя странно, рывки анимации или похожие глюки
Проблема связана со счетчиком производительности. В разных версиях Windows для этого счетчика разный выбор из доступных аппаратных способов. Даже между Windows XP SP1 и SP2 выбор разный. Для SP3 выбор состоит из двух вариантов: а) ACPI Timer б) TSC процессора. Выбор определяет BIOS. С этим счетчиком актуален вопрос «Кто же напортачил, авторы спецификации ACPI 2.0, которые сэкономили на одном бите регистра и этим сломали совместимость c пред. стандартом или это авторы современных BIOS, которые своенравно интерпретируют назначение этого бита ?» Мое маленькое расследование почему важен этот бит:
Аппаратный таймер ACPI и предположительно часть других аппаратных ACPI-блоков на современных Intel-мат. платах отключены за ненадобностью (не используются в Windows 7-10, но могут использоваться в Vista или других «не windows» ОС). Этот бит говорит операционной системе можно ли вообще использовать таймер ACPI. Логично не устанавливать этот бит поскольку таймер отключен, но BIOS по прежнему устанавливает этот бит , так как в ACPI 2.0 за ним закрепили еще одну функцию — индикатор наличия рабочего HPET таймера. От таких «оптимизаций» у Windows XP сносит крышу и она использует выключенный ACPI таймер как счетчик производительности(прошедшего времени). Решение проблемы — один из системных файлов патчится чтобы состояние этого бита интерпретировалось всегда как «0» и выбор счетчика был только один — TSC. Еще один камень в сторону авторов BIOS — на плате Gigabyte H110 при отключении HPET в bios этот бит по прежнему равен «1», т.е. явная ошибка
3) процессор всегда потребляет существенную мощность
Проблема снова связана с отключенными аппаратными ACPI блоками. В стандарте ACPI описаны два режима пониженного потребления мощности С2 и С3, для перехода процессор должен записать определенные значения в определенные порты ACPI железа, потом происходит БАХ и наступает мрак, на процессор тактовые импульсы больше не подаются + остальная магия, связанная с состоянием внутреннего кэша и т.д. Поскольку теперь ACPI на плате в урезанном режиме, Windows XP в режимы С2/С3 не переходит, хоть и записывает все что нужно в порты. Мрак не наступает, процессор крутится как ни в чем не бывало. Логично спросить — а как же экономят энергию Windows 7-10? Очень просто — они используют только возможности центрального процессора без задействования подсистемы ACPI.
От центрального процессора можно добиться два варианта:
-
классическая инструкция hlt, можно переключится только в режим С1
-
инструкции monitor/mwait, переключается в С7 или С10.
Решение для Windows XP — патчим один файлик чтобы вместо ACPI С2/С3 использовались те-же два процессорных способа
4) доступно 1.5-3.2Гб ОЗУ при установленном размере физической памяти 4Гб и выше
Проблема давно известная, это программное ограничение появилось в Windows XP SP2. Для решения существует несколько известных утилит, PatchPae или более поздний комбайн «fix128» (все они некорректно меняют DMA функции, см. далее). Потом выяснилось что проблема зарыта гораздо глубже и виной тому Microsoft — она не смогла сделать удобное API для программирования DMA-передач. Вместо этого был монстр, который состоял из закрытых абстракций, коллбаков и подобных трюков. В теории через такой API все равно можно правильно программировать, но так смогли не только лишь все. Когда у вас менее 4Гбайт памяти, то драйвер какого-то устройства работает нормально, но если память переходит за эту границу, драйвер начинает вести себя по-другому. Вместо того чтобы заменить API и мотивировать сторонних разработчиков исправить существующие драйвера, Microsoft пошла короткой дорогой — в SP2 вырезана поддержка памяти выше 4Гбайт, все DMA-передачи теперь также ограничены максимальным 32-битным адресом, система сертификации драйверов дает добро на драйвера, которые даже не работают с памятью > 4Gb, разрабы больше не парятся на тему «а как наш драйвер поведет себя на >4Гб ?»
Полноценного решения проблемы нет в принципе, если у вас есть некое устройство, но его драйвер некорректно работает с памятью >4GB, то устройство «в пролете», надо возвращать обратно лимиты по памяти. У Microsoft тоже есть такой драйвер — печально известный драйвер USB2. Тот же драйвер для Windows 2003 не имеет подобной проблем, но внутри он «другой», с корректным программированием DMA.
Вместо старых утилит снятия ограничений, обновилась WinXPPAE v3.5 от Daniel K., только она содержит правильный патч DMA-передач, восстанавливающий эквивалентный код из SP1 и при этом не создающий новых проблем.
5) нет доступа к дополнительным накопителям с GPT разметкой
Когда-то Paragon Software выпустил GPT драйвер для Windows XP, с тех пор его и используют. Альтернативный вариант это файлы из Windows 2003 поверх встроенных в XP. Для загрузки с GPT раздела этого недостаточно, так как необходима сквозная поддержка начиная с кода бут сектора, есть удачные эксперименты с использованием сторонних загрузчиков
6) расширенные инструкции AVX/AVX2/AVX-512
AVX и выше требуют поддержки со стороны ОС так как нужно сохранять куда-то новые регистры при переключении контекста. Решение частичное — когда то Microsoft расщедрилась и заранее добавила новые поля как резервные в область сохранения контекста. Этих полей достаточно для сохранения всех AVX регистров в x32 режиме, но уже не хватает для всех AVX-512 регистров. Если речь про Windows XP x64, то места по-моему не хватит даже для всех AVX регистров, их там банально больше в два раза.
А теперь время «печали», список нерешаемых(нерешенных) проблем:
-
Отcутствие WINE for Windows XP (есть конечно One-Core-API, но у него реализация на мой взгляд бескомпромиссная — заменять существующий код XP на код ReactOS/Wine ). Это самая существенная проблема выживания Windows XP, из-за неё почти все новые версии выпускаемого ПО неработоспособны (функция xxx не найдена в библиотеке yyy)
-
существующие ACPI.sys не дотягивают до уровня хотя бы vista
-
загрузка Windows 32бит из современного 64-битного UEFI режима
-
установка/загрузка с GPT накопителя
-
нет TRIM «на лету» для SSD, можно только периодически запускать сторонние утилиты для принудительного «маркирования» всех неиспользуемых секторов как свободных
-
поддержка DirectX 10/11 видео-драйверов с более поздних Windows
P.S. Есть пара законченных проектов для ковыряния в кишках ядра XP и портирования драйверов:
-
Remote kernel debug over LAN or USB3 cable,
-
WinXP/W2003 ntoskrnl.exe Emu_Extender
-
ACPI DSDT/SSDT Patcher at boot time for any windows
Yuri S.
Загрузка…
Отказаться от подписки на канал «Yuri S.»?
Обработка…
665
Загрузка…
Загрузка…
Обработка…
Хотите сохраните это видео?
Войдите в аккаунт и добавьте его в плейлист.
Войти
-
Пожаловаться на видео?
Выполните вход, чтобы сообщить о неприемлемом контенте.
Войти
Поработать над переводом
1 115 просмотров
Понравилось видео?
Войдите в аккаунт, чтобы поставить отметку.
Войти
Не понравилось?
Войдите в аккаунт, чтобы поставить отметку.
Войти
Операционная система 2001 года выпуска добралась до нового минимума по числу пользователей.
В ежемесячной статистике распространения различных версий системы Windows основное внимание уделяется увеличению доли Windows 10 и соответствующему снижению популярности Windows 7. Между тем, в статистику пока ещё продолжает входить и когда-то самая популярная в мире Windows XP.
Она была представлена в 2001 году, а поддержка прекращена в апреле 2014 года. Несмотря на это, пользователей у Windows XP было много, есть они и сейчас.
Статистика NetMarketShare показывает, что их количество добралось до новой минимальной отметки после взлётов и падений в 2018 году. Год назад на долю Windows XP приходилось 4,59% персональных компьютеров. Для системы, поддержка которой закончилась четырьмя годами ранее, это было значительное достижение.
Что ещё хуже для Microsoft, с тех пор доля Windows XP даже вырастала до 5,04% в минувшем мае. Потом популярность системы пошла на спад и в сентябре показатель составлял 3,19%, но в декабре снова вырос до 4,54%.
Наконец, с тех пор наблюдается только падение. В марте нынешнего года доля Windows XP была 2,29% компьютеров по всему миру. Наверняка этот результат будет продолжать ухудшаться.
Как и в случае с Windows XP после января 2020 года, оставаться на Windows XP не рекомендуется по соображениям безопасности. Отсутствие поддержки делает систему и пользовательские данные в ней уязвимыми. Для такой старой системы ситуация усугубляется тем, что там давно нет поддержки множества сторонних приложений.
Telegram-канал @overclockers_news — теперь в новом формате. Подписывайся, чтобы быть в курсе всех новостей!
-
Главная
- Windows xp в 2020 году
play_arrow
557
15
18:05
Выжить на Windows XP в 2020 г. Часть I
chaoskrl
Обновление Windows XP от Simplix —- Официальный сайт: https://blog.simplix.info/updatepack/ Копия на Mega.
play_arrow
323 тыс
8 тыс
17:39
Выживание на Windows XP в 2020 году
ЕРМАКОВ
Я решил провести эксперимент: можно ли пользоваться Windows XP в 2020 году? Проверка программ и игр, поиск …
play_arrow
2 тыс
69
30:04
Windows xp в 2020 году на старом ноуте. ЕЩЁ ЖИВЁТ!
Captain Strannik
Всем привет, сегодня я решил показать вам как работает Windows xp на моем старом ноуте. И простите за такое качество, …
play_arrow
5 тыс
106
46:41
Windows XP в 2020 году (часть 1)
Music Box
Продолжение (Проверка Youtube) : https://youtu.be/zgrg9Dr-QqE В этом видео мы с вами посмотрим на что способна …
play_arrow
32 тыс
674
15:30
WINDOWS XP В 2020 ГОДУ РАБОТАЕТ ОТЛИЧНО !!!
ЧИПИНКОС TV
Я работаю на Windos Xp и вообще не парюсь.
play_arrow
206
1
15:21
Выжить на Windows XP в 2020 г. Часть II. Офисные пакеты и антивирусы.
chaoskrl
Libre Office 5.4.7.2 for Windows XP —- Дистрибутив: …
play_arrow
358
6
14:52
ВЫЖИВАНИЕ НА WINDOWS XP В 2020 ГОДУ!
FoxyGR
Сможем ли, выжить на устаревшей ОС Windows XP в 2020 году? Выживание на Windows Vista: …
play_arrow
2 тыс
37
31:43
Windows XP в 2020 году (часть 2)
Music Box
Music: Version Lujo — Baby We Did It Baby Billy_in_the_Lowground — Крис Тили и Майкл Дэйвс Quincas Moreira — Entire Dem …
play_arrow
286
19
7:13
Windows XP в 2020 году + Ускорения Винды!
DARKWØØD
Windows XP в 2020 году. И ещё в этом ролике ускорения этой OC. Друзья спасибо за просмотр, подпишитесь и поставьте …
play_arrow
125
3
50:42
Установка windows xp в 2020 году
Коржик
Устанавливаю windows xp в 2020 году на виртуальную машину поставь.
play_arrow
540
11
23:52
ПРИМЕР ВЫЖИВАНИЯ НА WINDOWS XP В 2020 ГОДУ
Nik 86
Дома видео рассмотрим пример выживание на Windows XP 2020 году Полное пользование операционной системой и …
play_arrow
2 млн
38 тыс
26:52
Установится ли Windows XP на современный мощный ПК в 2025 году?
Ramtech
Установится ли Windows XP на новый современный ПК в 2022 году? В данном эксперименте я попробую установить …
play_arrow
5 тыс
118
4:20
Выживаем на Windows XP в 2020-м 2/2
Jupiter 5700
… изображение и плавно там пожалуйста разница таким образом на xp интернет я вам рекомендую использовать браузер …
play_arrow
113
2
1:29:25
Как выжить на Windows xp в 2020 году!? ЭТО ОЧЕНЬ СЛОЖНО
Virtual Studio
Я решил провести эксперимент: можно ли пользоваться Windows XP в 2020 году? Проверка программ и игр, поиск …
play_arrow
482
11
49:45
Выживание под Windows XP в 2020 году
NayRest
В этом видео я вам покажу как выжить под Windows XP. Выжить под этой ОС это достаточно просто. Дело в том, что под XP …
play_arrow
273
13
12:15
🎁 Бадум-тсс! Экспресс обзор. Windows XP в 2020, есть ли там жизнь? Как тебе такое, Илон?
NECRODEFLORATOR
Реанимировал отвал видео на своем старом ноуте, впердолил в него 30гб ССД времен мезозоя, потыкал всякие линуксы и …
play_arrow
79
3
10:13
Выживание на Windows XP в 2020 году
Chopper TV
Мой Discord сервер: https://discord.com/invite/77uJSbK Я попытаюсь выжить на Windows XP в 2020 году.
play_arrow
10 тыс
970
6:49
Исходный код Windows XP слили в Сеть,кто виноват?
Алексей Лещенко
Куда нам можно написать Куда скинуть новости и тд тп в 2020году https://www.donationalerts.com/r/dr_bream Донат для …
play_arrow
3 тыс
61
24:07
Windows XP в 2020. Тоже самое будет с windows 7.
PRO DvigateL
На виндовс XP еще можно работать — интернет вполне годно. Правда можно исключить небольшую часть сайтов, которые …
play_arrow
11 тыс
197
13:56
Активируем windows xp в 2020 году звоню в microcoft как активировать виндовс xp обход wpa kill
computer killer
Добро пожаловать на канал! Не забываем подписываться и ставить пальцы вверх. Всем спасибо за внимание и хорошего …
Для вашего поискового запроса Windows xp в 2020 году, мы нашли 50 публикаций, соответствующие вашему запросу. Так же мы рекомендуем ознакомиться с публикацией Выжить на Windows XP в 2020 г. Часть I которое опубликовал пользователь chaoskrl 01 Январь 1970 продолжительностью 18 часов 05 минут секунд у которого 197 просмотров и 11 тысяч лайков.