Как мне удалось запустить Radeon R7 240 на Windows Server 2022

Прокомментировать Просмотры: 0

После переноса Windows Server 2022 из облака на домашний компьютер возникла проблема с видеодрайвером. Базовый адаптер Microsoft предлагал максимум 1280×1024, а одна из попыток установить драйвер закончилась чёрным экраном. Я уже подумывал о покупке T400 или RX 580, но сначала решил разобраться с имеющейся видеокартой.

Мой компьютер собран на платформе X99: процессор Xeon E5-2697 v4, 64 ГБ оперативной памяти и пожилая Radeon R7 240. Монитор подключён через HDMI. В Windows 11 видеокарта работала, поэтому менять её без необходимости не хотелось.

Помог драйвер, сохранившийся в старой Windows на соседнем разделе. Пакет оказался выпущен ещё в 2019 году. С ним Server загрузился после перезагрузки и предложил разрешение 3840×2160 при 30 Гц. Менять видеокарту или её прошивку не понадобилось.

Перенос системы

В облаке у меня работал Windows Server 2022 с двумя дисками. Я скачал оба образа в формате QCOW2 и разворачивал их на своём компьютере по очереди: места для всех промежуточных файлов одновременно не хватало.

Порядок был таким: преобразовал QCOW2 в VHDX, подключил образ для чтения, сохранил содержимое нужного раздела в WIM и восстановил его на подготовленный раздел локального диска. Затем настроил загрузчик и буквы дисков. Прежнюю Windows 11 оставил на случай, если Server не запустится и потребуется восстановление.

Запасная система понадобилась довольно скоро. Однако ещё до проблем с драйвером я обнаружил два варианта загрузки одного накопителя: UEFI OS и Windows Boot Manager. Первый приводил к ошибке MainFrame.xml, а второй запускал Server. В дальнейшем я выбирал Windows Boot Manager.

Установка драйвера и чёрный экран

Неудачей закончилась попытка установить AMD 27.20.20913.2000. Драйвер удалось поставить принудительно, но вместо рабочего стола появился чёрный экран, на котором система и оставалась. В журналах повторялись ошибки dwm.exe — процесса, отвечающего за отображение окон. Выяснилось, что в пакете был изменён INF-файл, а каталог подписали заново.

Я загрузился в резервную Windows 11 и отключил этот драйвер в реестре установленного Server. Рабочий стол вновь появился, теперь уже с базовым адаптером Microsoft. Правда, в списке разрешений остался единственный вариант — 1280×1024, а монитор определился как универсальный.

Это позволило продолжить настройку системы, но мириться с таким разрешением на своём мониторе я не собирался.

Другие попытки

Сначала я проверил настройки прошивки материнской платы. В разделе CSM переключил Video с Legacy на UEFI, а для Boot option filter выбрал UEFI only. После перезапуска изображение исчезло уже при включении компьютера, поэтому я вернул прежние значения.

Поскольку я одновременно изменил два параметра, установить причину не удалось. В итоге CSM остался включён, для видео был выбран Legacy, а для загрузки — UEFI и Legacy. Позже рабочий драйвер установился именно с этими настройками.

Затем я проверил параметры загрузки Windows. Отключил оставшийся BASEVIDEO и перезагрузился, но разрешение по-прежнему составляло 1280×1024. Отдельный запуск с highestmode тоже ничего не изменил. Этот параметр позволяет загрузочным приложениям использовать максимальный графический режим, доступный через прошивку; его описание есть у Microsoft. В моём случае он не помог, и после проверки я удалил временную запись загрузки.

Где обнаружился подходящий драйвер

После этого я решил выяснить, какой драйвер использовала прежняя Windows 11. В её хранилище обнаружилась папка:

...\System32\DriverStore\FileRepository\u0346830.inf_amd64_35731e557194973d

В ней находился AMD 26.20.12028.2 от 16 августа 2019 года с исходным INF-файлом u0346830.inf. В журнале старой Windows сохранилась запись о том, что этот пакет применялся к моей видеокарте. На тот момент раздел с Windows 11 был доступен из Server.

Заодно стало понятно, почему недостаточно просто найти «драйвер для R7 240». Видеокарта может присутствовать в INF, но подходящего раздела для Server в файле не окажется. Так было с проверенным пакетом 27.20.1034.6: моя карта в нём значилась, однако разделы предназначались для клиентской Windows. В Crimson 17.7.1 для Windows 8.1 нужный идентификатор тоже нашёлся, но раздел для Windows 10 был пуст.

В пакете 2019 года содержался точный идентификатор моей видеокарты:

PCI\VEN_1002&DEV_6613&SUBSYS_80941462

Там же был раздел NTamd64.10.0...16299, который Server мог выбрать. Ограничение ProductType=1, обозначающее клиентскую Windows, в нём отсутствовало. Подробнее о таких строках рассказано в документации Microsoft.

Я проверил подпись каталога: Microsoft Windows Hardware Compatibility Publisher. Она оказалась действительной, а INF соответствовал каталогу. Изменять пакет или повторно его подписывать не потребовалось.

Установка

Помня о предыдущем чёрном экране, я сначала скопировал ветку реестра SYSTEM и сохранил сведения об установленном драйвере. Затем добавил найденный пакет через PnPUtil, пока не устанавливая его на видеокарту. Windows приняла пакет и определила его как наиболее подходящий для аппаратного идентификатора устройства.

В командах ниже используется условный путь ...\Drivers\R7-240. В папке должен находиться весь пакет со вложенными файлами, а не только INF. Команды следует запускать от имени администратора.

Добавление пакета:

pnputil /add-driver "...\Drivers\R7-240\u0346830.inf"

После проверки пакета и подготовки способа отката можно выполнить установку:

pnputil /add-driver "...\Drivers\R7-240\u0346830.inf" /install

Параметры команды перечислены в справке PnPUtil. Я не копировал файлы вручную в работающую Windows: установку выполняла сама система.

На случай повторного появления чёрного экрана я заранее создал задачу от имени системы. Она должна была удалить новый пакет через десять минут, если я не отменю откат. Перед удалением задача сверяла имя пакета и контрольную сумму. В моём случае пакет получил имя oem0.inf, но на другом компьютере этот номер может относиться к совершенно другому драйверу.

Здесь я сам добавил себе работы: изображение появилось, но отменить откат вовремя я забыл. Таймер сработал и удалил драйвер. Пришлось установить тот же пакет повторно, проверить рабочий стол и убрать задачу. Заодно я убедился, что откат действительно работает. Резервную Windows всё же сохранил на случай полного зависания компьютера.

Результат

В диспетчере устройств появилась AMD Radeon R7 240 с драйвером версии 26.20.12028.2, ошибок устройства не было. Монитор определился как P27A2V. Стали доступны подходящие разрешения: 3840×2160 при 30 Гц и 2560×1440 при 60 Гц.

В dxdiag я проверил режим 3840×2160, 32 бита, 30 Гц. Там же отображались WDDM 2.6 и включённое ускорение Direct3D. Сам монитор сообщал о предпочтительном режиме 4К при 60 Гц, но на моей системе для 4К доступны только 30 Гц. Причину этого я пока отдельно не исследовал.

Затем я перезагрузил компьютер. Server запустился с тем же драйвером и разрешением, рабочий стол работал. Примерно через час после запуска я проверил журналы: новых сбоев графики не обнаружилось. Игры и серьёзную нагрузку я не тестировал — для этого компьютера они мне не нужны. Задача заключалась в том, чтобы вернуть нормальное изображение и убедиться, что после перезагрузки чёрный экран не появится снова.

Покупку другой видеокарты я пока отложил. Старую Windows тоже оставил: с её помощью удалось и отключить неудачный драйвер, и найти рабочий. Если вы столкнулись с похожей проблемой, стоит проверить, какой пакет прежде работал с вашим оборудованием. Мне подошёл 26.20.12028.2 — без изменения INF и отключения проверки подписей.

 

Источник

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов