Войти

Показать полную графическую версию : [решено] Разрешение экрана в WIN PE\RE


Страниц : [1] 2 3

Smarty
05-02-2012, 23:01
Давно интересовался, какие разрешения экрана поддерживаются в среде WIN PE\RE.

Без установки драйверов видео доступны следующие разрешения:

800х600
1024х768
1280х1024
1600х1200


Изменить разрешение экрана можно с помощью утилиты командной строки SetRes.exe.
Пример:
setres.exe 1024 768 32

Интеграция драйверов видео в образы WIN PE\RE.

Решение от dorosa (http://forum.oszone.net/post-1870228-28.html)

yurfed
05-02-2012, 23:07
какие разрешения экрана поддерживаются в среде WIN PE\RE. »Ну вообще то всё зависит от вариаций WIN PE\RE и насколько эта сборка смогла определить вашу видеокарту.
Собственно весь "Результат выяснения" может сгодиться для одних, и быть неприемлемым для других.

Smarty
05-02-2012, 23:17
всё зависит от вариаций WIN PE\RE и насколько эта сборка смогла определить вашу видеокарту »
Какая сборка? Выяснял на чистом образе!

Проверял на VMware 8.
Информации по этому вопросу вообще нигде не нашел, пришлось так...
Проверю на реальной машине, если будут изменения - исправлю.

ЗЫ. А зачем в WIN PE\RE интегрировать драйвера видеокарты?
Или вы с аварийного диска в игрушки будете играть?
Вроде PE\RE имеют другое назначение. :)

yurfed
05-02-2012, 23:27
Какая сборка? Выяснял на чистом образе! »Про "чистоту небыло сказано ни слова. Это во первых. Во вторых - очень многое зависит от чипсета материнки и самой видеокарты.
И наконец - каким образом VMware выступает неким эталоном для проведения подобных экспериментов?

ЗЫ Я не собираюсь вступать в дискуссию, просто не всегда и не везде удаются подобные разрешения, даже если монитор или видео это поддерживают.
ЗЗЫ А ссылку на этот образ можно?

CtrlSoft
05-02-2012, 23:39
можно задать любое...
DisplayChanger http://12noon.com/?page_id=80

yurfed
05-02-2012, 23:43
можно задать любое... »а вы уверены что это в PE можно сделать?

CtrlSoft
05-02-2012, 23:45
yurfed, да. Сам пробовал.

http://img820.imageshack.us/img820/5415/screenshot201202050025.jpg
http://img835.imageshack.us/img835/9939/screenshot201202050032.jpg
http://img109.imageshack.us/img109/5496/screenshot20120205004.jpg
http://img16.imageshack.us/img16/4079/screenshot20120205005.jpg

Smarty
05-02-2012, 23:53
каким образом VMware выступает неким эталоном для проведения подобных экспериментов? »
Думаю, если там доступны эти разрешения, то на реальной машине и подавно.
А ссылку на этот образ можно? »
1. http://forum.oszone.net/thread-204044.html
2. http://forum.oszone.net/thread-195891.html

Да...
Тему можно закрывать.
:)

Smarty
06-02-2012, 07:06
можно задать любое... »
Попробовал с помощью Display Changer 4.3.2 на нетбуке выставить родное разрешение 1024х600.
Не поддерживается, только 800х600, так что не любое...

CtrlSoft
06-02-2012, 10:08
Smarty, попробуйте параметр dc.exe -max
или dc.exe -width=1024 -height=600 -depth=32 -force

sLiDeR-X
06-02-2012, 10:25
Smarty, я в своем winpe пользуюсь также Display Changer

Код на автоите (не помню у кого взял)
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=icon.ico
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Global Const $STDOUT_CHILD = 2
Opt("TrayIconHide",1)
$h=Run("dccmd.exe -max -test", "", @SW_HIDE, $STDOUT_CHILD)
$sRes = ""
While 1
$sRes &= StdoutRead($h)
If @error Then ExitLoop
Sleep(25)
WEnd
$iWidth=StringRegExpReplace($sRes,"(?si).*Width:\s+(\d+).*","\1")
$iHeight=StringRegExpReplace($sRes,"(?si).*Height:\s+(\d+).*","\1")
$iColor=StringRegExpReplace($sRes,"(?si).*Color:\s+(\d+).*","\1")

FileCreateShortcut("dccmd.exe",@DesktopDir & "\Разрешение " & $iWidth & "x"& $iHeight &".lnk",@WindowsDir,"-max -refresh=60", "", @SystemDir & "\shell32.dll", "", "94", @SW_HIDE)

Smarty
06-02-2012, 18:28
-force »
Что-то не хочется насильственных действий... :)

CtrlSoft
18-02-2012, 14:33
Цитата CtrlSoft:
можно задать любое... »
Попробовал с помощью Display Changer 4.3.2 на нетбуке выставить родное разрешение 1024х600.
Не поддерживается, только 800х600, так что не любое... »
я только что тестировал на нетбук Acer Aspire One D527 dc.exe -max - все работает! 1024х600.

также попробуй команду dc.exe -listmodes, она отобразит список доступных разрешений.

И, важно писать команды в нижнем регистре!

Smarty
18-02-2012, 14:42
CtrlSoft, сейчас уже ничего не осталось, но команда dc.exe -listmodes не показала разрешения 1024х600 (нетбук ViewSonic VNB101).
И, важно писать команды в нижнем регистре! »
Так и было.

ЗЫ. Повторил эксперимент, результат на скриншоте (и это на настольном компьютере!).

http://i2.imageban.ru/thumbs/2012.02.18/670302ae3585901f224ca6b36fd3efaf.jpg (http://imageban.ru/show/2012/02/18/670302ae3585901f224ca6b36fd3efaf/jpg)

Видеокарта NVIDIA GeForce GTX 460 (http://www.gigabyte.com/products/product-page.aspx?pid=3619#ov), монитор Samsung E2220 (http://www.samsung.com/ru/consumer/computers-peripherals/monitors/home-office-monitors/LS22CLZSB/EN).

CtrlSoft
18-02-2012, 20:05
Smarty, проверил также на Acer Aspire One ZG5. Максимальное доступное разрешение в WinPE - 800x600. В установленной ОС - 1024x600. Параметр -force не помог.
Думаю стоит попробовать интегрировать драйвера Intel и посмотреть что получится.

dorosa
28-02-2012, 13:56
В Win PE можно установить драйвера видеокарты.
Монтируем образ boot.wim
Dism /Mount-Wim /WimFile:"Путь к папке с бутом\boot.wim" /Index:Номер имиджа /MountDir:"Папка монтирования"
Интегрируем видео драйвера
Dism /image:Папка монтирования\ /Add-Driver /driver:Папка с драйверами /recurse /ForceUnsigned
Драйвера можно взять из рабочего виндовс с помощью специальных программ: Driver Genius, DriversBackUpSolution и др.
Сам пользуюсь драйверами из дистрибутива Windows 8 (размер меньше).
Из рабочего Windows или дистрибутива копируем в смонтированный образ boot.wim следующие файлы:
Windows\system32\cdd.dll
Windows\system32\dispci.dll
Windows\system32\dispex.dll
Windows\system32\wdi.dll
Windows\system32\ru-RU\dispci.dll.mui
Windows\system32\ru-RU\wdi.dll.mui
Windows\system32\drivers\dxapi.sys
Windows\system32\drivers\dxg.sys
Windows\system32\drivers\dxgkrnl.sys
Windows\system32\drivers\dxgmms1.sys

Подключаем куст SYSTEM реестра смонтированного образа и даем ему название CUSTOM
импортируем рег файл
Windows Registry Editor Version 5.00

; to make larger scracth space, it will set drive X to 256MB
[HKEY_LOCAL_MACHINE\CUSTOM\ControlSet001\services\FBWF]
"WinPECacheThreshold"=dword:00000100

; video driver
[HKEY_LOCAL_MACHINE\CUSTOM\ControlSet001\services\DXGKrnl]
"DisplayName"="LDDM Graphics Subsystem"
"Group"="Video Init"
"ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,\
00,69,00,76,00,65,00,72,00,73,00,5c,00,64,00,78,00,67,00,6b,00,72,00,6e,00,\
6c,00,2e,00,73,00,79,00,73,00,00,00
"Description"="Controls the underlying video driver stacks to provide fully-featured display capabilities."
"ErrorControl"=dword:00000000
"Start"=dword:00000003
"Tag"=dword:00000001
"Type"=dword:00000001
Отключаем куст.

В файле winpeshl.ini записываем запуск файла cmd
[LaunchApps]
Video_drv.cmd
%SYSTEMDRIVE%\sources\loader.exe
Путь и название шелла запишите свои.

В папке Windows\system32 монтированного образа создаем файл Video_drv.cmd
@ECHO OFF
CLS

ECHO.
ECHO Install of OEM Drivers ....
ECHO.

for %%i in (X:\Windows\inf\oem*.inf) do drvload.exe %%i

Демонтируем образ boot.wim
Dism /Unmount-Wim /MountDir:"Папка монтирования" /Commit
В результате получаем полное разрешение экрана (особенно актуально для карт последних поколений) и плавное перемещение окон.
А нужно это или нет, каждый решает сам.
Проверил на нескольких поколения видео карт от NVIDIA.
Проверить на видео картах от AMD нет возможности.

Smarty
28-02-2012, 19:29
dorosa, отлично!

Теперь осталось автоматизировать процесс при загрузке в WinPE\RE, а именно:
1. Определение максимального (или рекомендуемого?) разрешения текущего монитора на стадии отработки winpeshl.ini
2. С помощью одной из утилит автоматическая установка именно этого разрешения
3. Загрузка оболочки

Smarty
28-02-2012, 21:56
dorosa, что-то не то...
Драйвера "собраны" с помощью Double Driver 4.1.
Интеграция драйверов в смонтированный образ WinRE (его проще тестировать) прошла успешно.
При установке ИНФ-файла выдает ошибку:
0x800705b3 (This operation requires an interactive window station).
Какого окна ему надо? :dont-know

dorosa
28-02-2012, 22:16
Какого окна ему надо? »
Не знаю, у меня проблем не было.
Правда пробовал драйверы от восьмерки.
Попробуйте другой список файлов:
Windows\system32\cdd.dll
Windows\system32\dispci.dll
Windows\system32\dispex.dll
Windows\system32\wdi.dll

Windows\System32\dwmapi.dll
Windows\system32\dwmcore.dll
Windows\system32\dwm.exe
Windows\system32\dwmredir.dll
Windows\system32\uxsms.dll

Windows\system32\ru-RU\dispci.dll.mui
Windows\system32\ru-RU\wdi.dll.mui

Windows\System32\ru-RU\dwmapi.dll.mui
Windows\system32\ru-RU\dwmcore.dll.mui
Windows\system32\ru-RU\dwm.exe.mui
Windows\system32\ru-RU\dwmredir.dll.mui

Windows\system32\drivers\dxapi.sys
Windows\system32\drivers\dxg.sys
Windows\system32\drivers\dxgkrnl.sys
Windows\system32\drivers\dxgmms1.sys
Позже тоже попробую разные драйвера.
Данный метод подсмотрел в конструкторе Make PE3, поэтому первоисточник мне не известен.
Определение максимального (или рекомендуемого?) разрешения текущего монитора на стадии отработки winpeshl.ini »
У меня при загрузке лоадера от BoaSoft автоматом переходит на максимальное разрешение.

Smarty
28-02-2012, 22:39
автоматом переходит на максимальное разрешение »
В WinPE\RE могу выставить разрешение 1600х1200, которое не очень комфортно для глаз, 1024х768 комфортно, но всё очень крупное.
Родное разрешение 1920х1080.




© OSzone.net 2001-2012