Причина именно в том, что для каждого конкретного интерфейса и монитора винда запоминает разрешение.
Можно поменять через реестр, подключились в безопасном режиме (он есть, но запускается не так, как в Windows 7, а через меню восстановления!) или загрузившись с диска Live CD/USB
Дефолтные системные настройки в реестре хранятся в
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{...}\{...}\
Где {...} — это уникальные идентификаторы вашего видеоадаптера и монитора (они различаются на разных системах).
Найдите параметры разрешения:
В нужном подразделе найдите следующие параметры (они могут называться немного по-разному):
· DefaultSettings.XResolution — ширина в пикселях.
· DefaultSettings.YResolution — высота в пикселях.
· DefaultSettings.BitsPerPixel — глубина цвета (например, 32).
· DefaultSettings.VRefresh — частота обновления (в Гц).
Пользовательские настройки хранятся в:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO
Здесь вы увидите одну или несколько папок с длинными именами. Зайдите в каждую, найдите подраздел 0000 или 0001 и ищите вышеуказанные параметры.
Также есть вариант PowerShell-скрипта с использованием .NET:
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class Resolution {
[DllImport("user32.dll")]
public static extern int SetDisplayMode(int width, int height, int flags);
}
"@
[Resolution]::SetDisplayMode(1920, 1080, 0)