PDA

Показать полную графическую версию : [решено] BootScreen и процессоры QUAD


Cobra_1_Stas
21-03-2009, 17:27
Есть скрипт который проверяет какой процессор установлен на компе и исходя из этого прописывает в boot.ini строчку /Kernel=dualkrnl.exe либо /Kernel=singkrnl.exe


cmdow @ /HID
@echo off
FOR /F "tokens=3 delims= " %%A IN (`REG QUERY "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v NUMBER_OF_PROCESSORS`) DO SET NUMBER_OF_PROCESSORS=%%A
if %NUMBER_OF_PROCESSORS%==2 goto DUAL
REM ----For Single proc
bootcfg /RAW "/Kernel=singkrnl.exe" /A /ID 1
goto End
:DUAL
REM ----For Multiprocess/Hyperthread proc
bootcfg /RAW "/Kernel=dualkrnl.exe" /A /ID 1
:End
bootcfg /Default /ID 1


На QUAD-овых процессорах эта схема не срабатывает, он почему то пишет "/Kernel=singkrnl.exe" вместо dual...
Как изменить этот скрипт чтобы срабатывало и на новых компах?



П.С. И ещё вопрос в тему, винХР видит больше чем 3гб памяти? Если нет, то зачем файлы ntkrnlpa.exe и ntkrpamp.exe? (http://www.oszone.net/3149)

Petya V4sechkin
21-03-2009, 17:47
if %NUMBER_OF_PROCESSORS%==2 goto DUAL
Заменить на:
if %NUMBER_OF_PROCESSORS% GEQ 2 goto DUAL

Cobra_1_Stas
21-03-2009, 18:17
Ок, спасибо!

А что насчёт второго вопроса?

Petya V4sechkin
21-03-2009, 18:37
винХР видит больше чем 3гб памяти? Если нет, то зачем файлы ntkrnlpa.exe и ntkrpamp.exe?
Для поддержки РАЕ (Physical Address Extension).
PAE в XP используется не для адресации памяти свыше 4 ГБ (эта возможность в XP вообще заблокирована из-за проблем с драйверами/софтом сторонних производителей), а только для реализации DEP (Data Execution Prevention).

Статья KB875352 о DEP (http://support.microsoft.com/kb/875352/ru)
Чтобы использовать указанные функции, необходимо, чтобы процессор работал в режиме расширения физических адресов (Physical Address Extension, PAE). Windows автоматически включает режим PAE для поддержки функции DEP

Cobra_1_Stas
22-03-2009, 02:52
10x




© OSzone.net 2001-2012