UAC снижает скорость загрузки Windows Vista

Многие пользователи, установившие на свои компьютеры Windows Vista, сразу же отключают UAC. Почему? Потому, что по их мнению, UAC мешает работе, раздражая постоянными диалогами подтверждения. Но кто бы мог подумать, что UAC может тормозить загрузку ОС?

Итак, перед тем как вдаваться в детали, я сначала расскажу, о чём я вообще собираюсь рассказать. В субботу вечером я разговаривал с Райаном Прайсом (Ryan Price) о тех проблемах, которые мы заметили в Windows Vista. Основной проблемой, с которой сталкивался Райан, была довольно непонятная задержка при загрузке Vista. Казалось, что это происходит только в промежутке между экраном приветствия и загрузкой работопригодного рабочего стола. Я обратил на это внимание и, кажется, обнаружил причину этих задержек.

В логах событий я наткнулся на забавный элемент, который сообщал, что “LUAFv успешно запустился”. Я заинтересовался данным вопросом и после дальнейших изучений обнаружил, что LUAF есть LUA File Virtualization Driver, который отвечает за виртуализацию файла и записей в реестре при включенном UAC. Итак, я, конечно же, заинтересовался, почему это данный драйвер пытается загрузиться в моей системе, если UAC отключён. Мог ли данный драйвер быть причиной зависаний? Был только один способ проверить это. 

Повторное включение UAC привело к небольшому ускорению загрузки системы, что было хорошим признаком, и позволяло поддержать мою теорию. Но вот именно здесь начинается всё самое интересное. Отключение UAC и принудительное отключение драйвера luafv привело к еще более быстрой загрузке, чем при включённом UAC. Итак, драйвер зависал, что и вызывало проблему, но кажется странным, что драйверу необходимо так много времени, чтобы загрузится в системе, в которой включён UAC. Ниже привожу результаты некоторых тестов, которые мы провели с Райаном. Заметьте, что наилучшее время загрузки было достигнуто при выключенных UAC и luafv.

Компьютер Райана – Vista SP1 17042
UAC отключён w/o твик – 1 минута 50 секунд.
UAC включён – 1 минута 30 секунд.
UAC отключён w/ твик- 1 минута 12 секунд.

Конфигурация: AMD Opteron 165 (два ядра, 2.4 ГГц), 4 Гб DDR500, Geforce 8500GT, Windows Vista Ultimate x64 SP1 RC1.
Ноутбук – Vista RTM
UAC включён: 2 минуты 25 секунд.
UAC отключён w/ твик: 1 минута 45 секунд.

Конфигурация: Pentium Dual Core 1.6 ГГц, 1 Гб DDR2 533, Intel Mobile Graphics 950, Windows Vista Home Premium RTM.
Мой тест – Vista SP1 17042
UAC включён: 1 минута 38 секунд.
UAC отключён w/ твик: 1 минута 04 секунды.

Конфигурация: XPS M1710, Core 2 T7200 2 ГГц, 2 ГбDDR2, 7950GTX.

Итак, как видите, это реальная проблема, которая является основной причиной жалоб на Vista на сегодняшний день (медленная загрузка и неожиданные задержки). Еще одна вещь, которую необходимо отметить: данная проблема присутствует, начиная с Vista RTM, и не исправлена в нынешнем билде SP1 (6001.17042).

Что Microsoft должна сделать для решения данной проблемы? Ну, моё решение простое: сделать так, чтобы при отключении UAC тоже самое происходило с драйвером LUAFv, так как очевидно, что нужен он только на компьютере с включённым UAC. Такой шаг позволил бы отключать UAC и не сталкиваться с падением производительности, хотя, как показывает реальность, должен быть другой способ решения.

Итак, как же отключить самому данный драйвер? Думаю, многие захотят самостоятельно отключить драйвер LUAFv, чтобы они сами могли убедиться в правоте моих исследований по данному вопросу. Итак, вот он. Конечно же, делаете вы всё на собственный страх и риск, я не несу ответственности, если после данных манипуляций ваш компьютер воспламенится или взорвется.
Откройте редактор реестра
Перейдите в раздел HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\luafv
Нажмите два раза на строке со значением “start” и установите его значение на 4.
Перезагрузитесь и узрите сокращение времени загрузки.