Принимая во внимание приведенные выше доказательства, следует учитывать две наиболее вероятные причины:
Аппаратное обеспечение, отображаемое в памяти, ограничивает объем памяти, доступной для 32-битной операционной системы.
Windows искусственно ограничивает объем памяти, доступной операционной системе.
Аппаратное ограничение
С 32-битной ОС у вас есть 4 ГБ адресного пространства. Любые периферийные устройства с подключенным к памяти вводом-выводом (порты ввода-вывода, сетевые карты, графические карты, другие материнские платы или карты расширения) будут занимать часть (обычно довольно небольшую) этого адресного пространства. Любая память, используемая для ввода-вывода с отображенной памятью, не может использоваться для основной памяти.
Хуже всего в IO с отображением памяти являются видеокарты. Если у вас есть две видеокарты, каждая с 1 ГБ или памятью, 2 ГБ вашего адресного пространства будет израсходовано, в результате чего у вас останется только 2 ГБ основной памяти, сколько бы физической памяти вы не установили.
Это не проблема на машине с 64-битной ОС, так как эти 2 ГБ могут отображаться достаточно далеко от вашей основной памяти, но на 32-битной ОС вы ограничены всего 4 ГБ (без использования трюков, которые Microsoft отключила в своих сервер 32-битных ОС).
Искусственное ограничение
Другой вариант заключается в том, что некоторые аппаратные или программные средства устанавливают ограничение на объем памяти, доступной для Windows, когда она была установлена, и этот искусственный лимит сохраняется, даже после установки дополнительной памяти.
Я никогда не делал этого под Vista, но под XP вы запускаете msconfig и смотрите «Дополнительные параметры» на вкладке «BOOT.INI». Если был установлен «/ MAXMEM», то XP игнорировал всю память выше этого.
Поиск в Интернете, похоже, вы используете bcdedit под Vista. Хорошее описание того, как его использовать, можно найти здесь . Однако, как всегда, убедитесь, что вы понимаете, что делаете, прежде чем связываться с этими вещами.
Другие возможности, специфичные для систем сервера / рабочей станции
Просматривая X6DAL-XG руководство, интересно, «Зеркальная память и Sparing» включена в Bios:
Выберите Enabled, чтобы включить Memory RAS (-Mirroring and Sparing), чтобы позволить системе создавать зеркальную копию данных, записанных в память, для обеспечения безопасности данных. Возможные варианты: «Отключено» и «Включено».
Я предполагаю, что в режиме зеркалирования памяти используются только 4 банка, что объясняет, почему удаление 512MB Dimms не имеет значения для памяти, видимой для Windows.