НЕ ПРОПУСТИТЬ ИНТЕРЕСНОЕ

Свежие обсуждения

Sorry. No data so far.

Тестирование Windows 8 х86 со снятым 4 ГБ ограничением доступной физической памяти после установки обновления KB2859537

Здравствуйте уважаемые читатели блога www.ithabits.ru. Ставшая быстро популярной статья, посвященная описанию возможности работы 32-разрядных операционных систем Windows 8 с оперативной памятью больше 4 ГБ, заканчивалась обещанием протестировать работу такой системы на реальном компьютере.

Это обещание, возможно, еще долго стояло бы в очереди, отодвигаемое другими интересными темами, если бы не обновление безопасности от Microsoft за номером KB2859537.

В силу того, что это обновление помимо большого количества файлов заменяет еще и ядро ОС, повторное тестирование Windows 7 и Windows 8 с модифицированными ядрами оказалось неизбежным.

О том, что нужно сделать в системах с “поправленными” ядрами и двойной загрузкой (Patch PAE) после установки обновления KB2859537, рассказывалось в предыдущей публикации. Сегодня я наконец выполню обещание и напишу о результатах тестирования Windows 8 x86 с новым ядром в режиме 128GB.

Windows 8 x86 в режиме 128GB

Основные характеристики тестового компьютера

Материнская плата – Intel DX58SO
Процессор - Intel(R) Core(TM) i7 CPU 950  @ 3.07GHz, 3060 МГц, ядер: 4, логических процессоров: 8
Память – DDR3 6 ГБ
Видео - ATI Radeon HD 5700 Series 1 ГБ
Основная система компьютера – Microsoft Windows 7 Корпоративная x64

Для того, чтобы быстро протестировать Windows 8 x86 на этом компьютере не создавая при этом новых дисковых разделов, установим операционную систему на виртуальный диск. Как это можно сделать подробно рассказывалось в этой статье применительно к Windows 8.1 Preview.

Установка Windows 8 на виртуальный диск

Я думаю, что будет полезно коротко пройти по этапам установки.

В очередной раз должен напомнить, что замечательная способность загружаться и работать с виртуального носителя разрешена Microsoft только для корпоративных версий Windows.

1. Создаем новый виртуальный диск на выбранном носителе в графическом интерфейсе Windows 7.

Открываем “Управление компьютером” –> “Управление дисками” –> “Создать виртуальный жесткий диск”:

Создание нового виртуального диска в Windows 7

Задаем расположение и имя файла с будущим образом виртуального диска и его размер.

Если нужно максимально ускорить операции чтения/записи с VHD, то имеет смысл выбрать для него фиксированный размер.

Непосредственно перед созданием нового виртуального диска не помешает сделать дефрагментацию носителя, на котором он будет расположен.

После завершения операции создания VHD он будет автоматически присоединен к системе на первую свободную букву.

2. Если есть дистрибутивный DVD с Windows 8 Корпоративная, то можно сразу переходить к пункту №3.

Если в наличии ISO файл с образом дистрибутивного диска, то с помощью любого архиватора, поддерживающего данный формат — 7-Zip, Hamster, WinRar, нужно разархивировать файл Install.wim в любое подходящее место, например, в корень диска D:\.  Этот файл является самым большим по размеру и составляет большую часть объема дистрибутива.

3. Запускаем командную строку и выполняем следующую команду:

C:\imagex /apply D:\Install.wim 1 I:\— в данном случае предполагается, что утилита imagex перенесена в корень диска C:\, Install.wim находится в корне диска D:\, а новый виртуальный диск подключен в систему как I:\.

В случае DVD утилите imagex нужно указать путь до Install.wim на нем.

Подробнее о данной утилите смотрите в статье об установке Windows 8.1 на виртуальный диск.

Дожидаемся завершения операции копирования.

4. Обновляем системный загрузчик и создаем в BCD вариант загрузки Windows 8 с виртуального диска:

bcdboot I:\Windows /l ru-RU

5. Перезапускаем компьютер, выбираем загрузку Windows 8, завершаем установку новой системы как обычно. Устанавливаем все накопившиеся за прошедшее время обновления, в том числе KB2859537.

Одно интересное наблюдение по поводу содержимого BCD, вернее, по поводу его показа из разных систем. Это может быть важно в том случае, когда, по какой-либо причине, находясь в Windows 7 нужно создать секцию загрузки для Windows 8 в редакторе BCDedit.

Вот так выглядит секция загрузки Windows 8 из Windows 7 (BCDEdit без параметров):

-------------------
идентификатор           {5c2a7c55-a04e-11de-9dac-b90d3342b585}
device                  vhd=[D:]\win8-32.vhd
path                    \Windows\system32\winload.exe
description             Windows 8
locale                  ru-RU
inherit                 {bootloadersettings}
custom:17000077         352321653
osdevice                vhd=[D:]\win8-32.vhd
systemroot              \Windows
resumeobject            {5c2a7c53-a04e-11de-9dac-b90d3342b585}
nx                      OptIn
custom:250000c2         1
detecthal               Yes

А вот так она же, но уже непосредственно из Windows 8:

-------------------
идентификатор           {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 8
locale                  ru-RU
inherit                 {bootloadersettings}
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {5c2a7c53-a04e-11de-9dac-b90d3342b585}
nx                      OptIn
bootmenupolicy          Standard
detecthal               Yes

Обратите внимание на разницу выделенных строк. Более того, команды allowedinmemorysettings нет в списке команд BCDedit, следовательно, не понятно, как вручную прописать ее в загрузку. Можно предположить, что ей эквивалентно выполнение двух команд custom:.

Создание варианта загрузки Windows 8 без ограничения доступной физической памяти

Находясь в сеансе Windows 8 создаем новое модифицированное ядро ntoskrnx версии 6.2.9200.16659, и загрузчик winloadp.exe с помощью PatchPae2.exe и командного файла PatchPae2cmd. Командный файл выполнит запуск программы с нужными ключами, создаст новый вариант загрузки и добавит в него необходимые команды.

Подписка на обновления блога www.ithabits.ru

Для того, чтобы скачать командный файл PathPae2cmd, автоматизирующий все операции с PatchPae2, нужно просто подписаться на обновления блога по E-Mail. Ссылка на скачивание будет в почтовом подтверждении подписки.

После перезагрузки в режиме без 4 ГБ ограничения доступной физической памяти можно приступить непосредственно к тестированию.

Тестирование Windows 8 x86 в режиме 128GB

Для начала посмотрим, что показывает Windows 8 об использовании физической памяти в исходной системе и системе со снятым ограничением. Аналогичное исследование проводилось при исследовании использования памяти больше 4 ГБ в Windows 7 x86.

Windows 8 x86

w8-sysinfo-4gb

w8-monres-4gb

Тут все достаточно ожидаемо. Из 6 ГБ установленной на материнской плате компьютера памяти Windows 8 x86 может задействовать не 4, а лишь 3,24 ГБ. С чем это связано мы подробно разбирали в этой статье.

Под адреса ввода/вывода устройств зарезервировано, на самом деле, не 2,8 ГБ, как показывает диспетчер, а всего 4 – 3,24 = 0,76 ГБ.

Таким образом, по сравнению с Windows 7, ничего не изменилось и чистые потери памяти составляют 6 – 3,24 = 2,76 ГБ.

Дополнительно запустим утилиту meminfo Alexa Ionescu (см. статью по приведенной выше ссылке).

C:\Windows\system32>c:\i386\meminfo -r
MemInfo v2.10 - Show PFN database information
Copyright (C) 2007-2009 Alex Ionescu
www.alex-ionescu.com
Physical Memory Range: 00001000 to 0008F000 (142 pages, 568 KB)
Physical Memory Range: 00090000 to 0009D000 (13 pages, 52 KB)
Physical Memory Range: 00100000 to 00102000 (2 pages, 8 KB)
Physical Memory Range: 00103000 to CF49D000 (848794 pages, 3395176 KB)
Physical Memory Range: CF4BF000 to CF64C000 (397 pages, 1588 KB)
Physical Memory Range: CF7BF000 to CF7DB000 (28 pages, 112 KB)
Physical Memory Range: CF7FF000 to CF800000 (1 pages, 4 KB)
MmHighestPhysicalPage: 849920

Она показывает, что основной непрерывный диапазон памяти сосредоточен в диапазоне 00103000 – CF49D000 и составляет 3,24 ГБ.

Windows 8 x86 128GB

Повторим то же самое в сеансе Windows 8 с “поправленным” PatchPae2 ядром ntoskrnx  версии 6.2.9200.16659.

w8-sysinfo-128gb

В строке “Установленная память” исчезло сообщение об объеме доступной памяти.

w8-monres-128gb

Зарезервированными под нужды оборудования теперь числятся всего 11 МБ. Как мы уже разобрались ранее, адреса ввода/вывода устройств занимают, естественно, те же 0,76 ГБ, но с физической памятью теперь пересекается лишь их мизерная часть.

В завершении посмотрим диапазоны памяти:

C:\Windows\system32>c:\i386\meminfo -r
MemInfo v2.10 - Show PFN database information
Copyright (C) 2007-2009 Alex Ionescu
www.alex-ionescu.com
Physical Memory Range: 00001000 to 0008F000 (142 pages, 568 KB)
Physical Memory Range: 00090000 to 0009D000 (13 pages, 52 KB)
Physical Memory Range: 00100000 to 00102000 (2 pages, 8 KB)
Physical Memory Range: 00103000 to CF49D000 (848794 pages, 3395176 KB)
Physical Memory Range: CF4BF000 to CF64C000 (397 pages, 1588 KB)
Physical Memory Range: CF7BF000 to CF7DB000 (28 pages, 112 KB)
Physical Memory Range: CF7FF000 to CF800000 (1 pages, 4 KB)
Physical Memory Range: 00000000 to B0000000 (720896 pages, 2883584 KB)
MmHighestPhysicalPage: 1769472

Нетрудно заметить, что добавился новый большой диапазон памяти, объемом 2,75 ГБ. Это значит, что вся “потерянная” память “нашлась” и вернулась.

Теперь плавно переходим собственно к тестированию. Проведенное тестирование нельзя назвать слишком серьезным. Скорее, это своеобразные “показательные выступления”. Тем не менее они достаточно красноречивы.

Для того, чтобы быстро занять и задействовать большое количество оперативной памяти я создал в VirtualBox в Windows 8 две виртуальные машины: одна — Windows 7, которой выделено 3 ГБ RAM, другая – Windows XP с памятью 1 ГБ.

Обе виртуальные машины отлично запустились и продолжили исправно функционировать. Так выглядит использование памяти в Windows 8 x86 128 GB во время их работы.

w8-dispmem-128gb-full

w8-monres-128gb-full

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

Излишним будет говорить, что в Windows 8 x86 с “родным” ядром ntoskrnl гостевую машину, которой было выделено 3 ГБ памяти, запустить просто не удалось.

Выводы

Очевидно, что в новых ядрах ОС Windows, устанавливаемых обновлением безопасности KB2859537 с середины августа 2013 года, сохранился прежний механизм ограничения доступной физической памяти. Благодаря этому они по-прежнему без проблем модифицируются такими программами, как ReadyFor4GB (Windows 7) и PatchPae2 (Windows 7/8).

Еще раз хотелось бы отметить, что возможность работы Windows x86 в режиме PAE без ограничения доступной физической памяти на уровне 4 ГБ отнюдь не эквивалентна переходу на x64.

Проведенное удачное тестирование Windows 8 x86 128 GB не гарантирует от возможных ошибок в работе ОС в таком режиме на других компьютерах. О причинах возможных неприятностей можно прочитать здесь.

Написать комментарий

Subscribe without commenting