none
How can I change the resolution of WinPE?

    Question

  • Hey guys,

    I created a WinPE Boot Disc using Windows ADK for Windows 8.1, everything worked fine, except for the screen resolution of WinPE, it shows in a very high resolution and the software/fonts it runs show very small, how can I change the resolution so the running software shows the correct way?

    I already tried putting an unattend.xml in:

    • Boot disc root (media folder and root after moounted)
    • %windir%
    • %windir%\system32

    With these lines:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="windowsPE">
            <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        	   <Display>
                    <ColorDepth>32</ColorDepth>
                    <HorizontalResolution>1024</HorizontalResolution>
                    <RefreshRate>60</RefreshRate>
                    <VerticalResolution>768</VerticalResolution>
               </Display>
            </component>
        </settings>
    </unattend>


    I also tried adding -attend:x:\unattend.xml in startnet.cmd

    But it still shows too small.

    Ant ideas?

    Thanks.




    • Edited by JFHPHS Wednesday, May 20, 2015 8:09 PM
    Wednesday, May 20, 2015 7:40 PM

Answers

  • Ok to be more specific... if using WinPE 5 (or any PE based on Win8 and newer)... booting in UEFI mode... WinPE will query the system firmware to see if it has GOP capable graphics (a requirement of UEFI 2.3.1 spec although it wouldn't surprise me to find systems out of compliance.) If GOP capable, WinPE will use the native resolution of the display.

    In a case like this, currently there is no way to disable this behaviour. Now, fortunately, WinPE will scale certain portions of the UI to look "normal" but some GUIs will not and as a result everything is small. The "official" answer here is to re-write your software (or whoever made it) to run correctly in that type of environment. Of course, even MS has this problem... say if you do UEFI boot with a Windows 8+ DVD on a system with 4k display... let's just say you need a magnifying glass to do your install!

    Anyways, as noted, using an unattend file to set resolution is parsed but ignored. Also using third party programs to change resolution (in my experience) do not work properly to solve this.
    Friday, May 22, 2015 3:04 PM

All replies

  • how can I change the resolution so the running software shows the correct way?

    As a guess I would have looked at the BCD.  There are settings in there about resolution. 

    https://msdn.microsoft.com/en-us/library/windows/hardware/ff542202%28v=vs.85%29.aspx
    (Microsoft Search for
        bcdedit resolution
    )
    <quote>

    vga [ on | off ]

    Forces the use of a safe resolution. For example, on a computer running Windows 7, this option forces the use of 640x480 resolution. On a computer running Windows 8, this option forces the use of 800x600 resolution if it is available, or 640x480 if not.

    </quote>

    Ugh.  I have seen something better than this somewhere...

    No thanks to any search engine this is what I was trying to recollect:

    C:\>bcdedit /types bootapp /?
    
    BOOT APPLICATION
    
    The following types apply to entries for boot applications. These types also
    apply to the boot manager, memory diagnostic application, Windows OS loader,
    and the resume application. For information about data formats for these types,
    run "bcdedit /? FORMATS".
    
    Display
    =======
        GRAPHICSRESOLUTION      Defines the graphics resolution, 1024x768, 800x600,
                                1024x600, etc.
    
        HIGHESTMODE (bool)      Enables boot applications to use the highest
                                graphical mode exposed by the firmware.
    
        GRAPHICSMODEDISABLED (bool)  Disables graphics mode.
        HIGHESTMODE (bool)      Forces the highest resolution supported by the
                                firmware.
        NOVESA (bool)           Disables the use of Video Electronics Standards
                                Association (VESA) display modes. (Defunct.)
    
        NOVGA (bool)            Disables the use of VGA modes entirely.
        BOOTUXDISABLED (bool)   Disables boot graphics.

    HTH



    Robert Aldwinckle
    ---

    Wednesday, May 20, 2015 8:56 PM
  • This seems more likely, but what do I have to type?

    bcdedit /WHAT

    I'm not familiar with bcdedit so I don't know what to type.

    Thanks.

    Thursday, May 21, 2015 1:12 PM
  • If you are booting in UEFI mode, you cannot change the resolution.
    Thursday, May 21, 2015 3:40 PM
  • If you are booting in UEFI mode, you cannot change the resolution.

    That sucks, thanks anyway.
    Thursday, May 21, 2015 4:54 PM
  • Ok to be more specific... if using WinPE 5 (or any PE based on Win8 and newer)... booting in UEFI mode... WinPE will query the system firmware to see if it has GOP capable graphics (a requirement of UEFI 2.3.1 spec although it wouldn't surprise me to find systems out of compliance.) If GOP capable, WinPE will use the native resolution of the display.

    In a case like this, currently there is no way to disable this behaviour. Now, fortunately, WinPE will scale certain portions of the UI to look "normal" but some GUIs will not and as a result everything is small. The "official" answer here is to re-write your software (or whoever made it) to run correctly in that type of environment. Of course, even MS has this problem... say if you do UEFI boot with a Windows 8+ DVD on a system with 4k display... let's just say you need a magnifying glass to do your install!

    Anyways, as noted, using an unattend file to set resolution is parsed but ignored. Also using third party programs to change resolution (in my experience) do not work properly to solve this.
    Friday, May 22, 2015 3:04 PM