Wie kann ich PAE unter Windows 7 (32-Bit) aktivieren, um mehr als 3,5 GB RAM zu unterstützen?

37

Ich weiß, dass Windows XP 32-Bit über PAE so konfiguriert werden kann , dass mehr als 3,5 GB RAM unterstützt werden. Gibt es ein gutes Tutorial, um dies mit Windows 7 32-Bit zu tun?

Warum ich nicht einfach 64-Bit-Windows 7 verwende: Die Software für meine Internetverbindung (Handy als Modem) funktioniert nur in 32-Bit-Umgebungen.

Niphoet
quelle
Sofern Sie keine Anwendungen verwenden, die speziell für die Nutzung der 36-Bit-PAE-Erweiterungen in der CPU und der AWE-API entwickelt wurden, ist die Verwendung des PAE-Schalters absolut sinnlos.
17
Molly: Tatsächlich hat PAE auch bei Apps einen Sinn, die keine 36-Bit-Adressierung kennen. Obwohl jede App nur auf 2 GB Arbeitsspeicher zugreifen kann, können Sie mehrere Apps mit jeweils eigenen 2 GB ausführen.
Davr
@ Molly7244 AWE und PAE haben nichts miteinander zu tun. Es ist sinnvoll, PAE ohne erweiterten Arbeitsspeicher zu verwenden, um den Hardware-No-Execute-Schutz zu aktivieren. Auf einem x86-Prozessor gibt es kein NX ohne PAE.
Jamie Hanrahan
@ Jamie Hanrahan AWE verwendet PAE.
Strg-Alt-Delor
@ ctrl-alt-delor Sorry, aber das ist eindeutig ein Missverständnis, da AWE auf 32-Bit-Windows-Systemen funktioniert, auf denen PAE nicht aktiviert ist. AWE funktioniert sogar auf Systemen, auf denen PAE nicht einmal eine Option ist (x64, ARM, Itanium - diese CPUs unterstützen PAE nicht). Auf einem 32-Bit-x86-Windows-System ohne aktivierte PAE findet eine AWE-fähige App zwar nicht viel Arbeitsspeicher, in den Sie "Fenster" öffnen können, funktioniert jedoch innerhalb des verfügbaren Arbeitsspeichers. AWE ist überhaupt nicht von PAE abhängig. Es ist nur so, dass auf x86, wenn PAE + mit mehr als 4 GB RAM unterstützt wird, mehr RAM für AWE (und alles andere) zur Verfügung steht.
Jamie Hanrahan

Antworten:

24

Vor einigen Jahren hat eine Gruppe von Programmierern einen Kernel-Patch für Windows 7 veröffentlicht, um die Verwendung von mehr als 4 GB RAM unter Windows 7 zu ermöglichen. In letzter Zeit wurde der Patch aufgrund einiger Virenscanner als falsch positiv erkannt von der Website entfernt. Glücklicherweise habe ich eine Kopie des Patches (der den RTM Windows 7-Kernel verwendet) gespeichert und auf meine Website hochgeladen (siehe Option 1, wenn ich die beiden Methoden zum Patchen Ihres Windows-Kernels beschreibe). Darüber hinaus haben die Autoren Anweisungen zum manuellen Patchen Ihres Kernels veröffentlicht .

Selbst wenn Sie Windows 7 SP1 (Build 7601) verwenden, können Sie den Patch installieren, der den Kernel 7600 enthält. Dies liegt daran, dass Ihr Standardkernel nicht geändert wird. Ein neuer wird in Ihren Systemordner kopiert, und es wird eine zusätzliche Startmenüoption hinzugefügt, um Windows mit dem neuen, gepatchten Kernel anstelle des älteren zu starten. Ich habe zwar keine Probleme beim Ausführen von Windows 7 SP1 mit dem älteren Kernel gefunden, aber wenn Sie Build 7601 von verwenden möchten ntkrnlpa.exe, müssen Sie Ihren Kernel manuell patchen (siehe den obigen Link).


Der Patch ändert den Windows 7-Kernel im Wesentlichen so, dass er dem Windows Server 2003 Datacenter Edition ähnelt, das im 32-Bit-Modus mit bis zu 8 GB RAM kompatibel ist. Auf diese Weise können Sie die PAE unter Windows 7 32-Bit auf 8 GB RAM erweitern. Weitere Informationen dazu, warum Microsoft diese technische Einschränkung implementiert hat, finden Sie unter Lizenzierter Speicher in 32-Bit-Windows Vista (erfordert, dass JavaScript von www.geoffchappell.com zugelassen ist ).

Wie bereits erwähnt, sind die einzelnen Prozesse auch dann auf 4 GB beschränkt, wenn das System auf mehr zugreifen kann. Wenn Sie jedoch 8 GB RAM hätten, hätten Sie zumindest noch 4 GB für andere Prozesse.


Für diejenigen, die sich für die technischen Aspekte interessieren, geschieht dies aufgrund von speicherabgebildeten Ein- / Ausgängen (kurz MMIO). Dadurch kann eine CPU über den Adressbus selbst auf Peripheriegeräte und RAM zugreifen . Normalerweise wird dies über die Speicheradressen höherer Ordnung ausgeführt, um Adressenkonflikte niedrigerer Ordnung zu vermeiden. Dies führte jedoch in allen Consumer-Varianten von 32-Bit-Windows-Betriebssystemen zu der allgemein bekannten 3-GB-Speicherbarriere .

Durchbruch
quelle
4
Achtung: Dieser erste Link enthält NSFW-Inhalte.
Jon Seigel
Warnung zur Antwort hinzugefügt, danke. Ich habe das nicht einmal bemerkt: S
Breakthrough
Gibt es Informationen darüber, ob dies gut funktioniert oder unzuverlässig ist?
Mark Gibaud
1
@ Mark Gibaud Ich habe es ein Jahr lang ohne Probleme benutzt. Ich hatte nur 4 GB RAM, aber zumindest konnte ich das Ganze nutzen. Beachten Sie, dass der Patch den Windows-Kernel ändert, sodass ich ein Backup erstellen würde, bevor Sie Ihr System patchen. Trotzdem hatte ich nie ein Problem (ich habe den Patch einige Male problemlos auf meinem Desktop und meinem Laptop angewendet, auch nachdem alles installiert war).
Durchbruch
1
@ Durchbruch: Das ist erstaunlich. Weißt du zufällig, wie man XP dazu bringt, etwas Ähnliches zu tun?
Mehrdad
17

In diesem Artikel auf der MSDN-Website von Microsoft werden die Speicherbeschränkungen für Windows- und Windows 7- Versionen aufgeführt. Die 32-Bit- Version ist als 4-GB-Grenze aufgeführt.

Früher konnten Sie mit PAE unter Windows XP mehr als 4 GB RAM anzeigen, aber diese Option war in Service Pack 2 deaktiviert .

Der Grund dafür war, dass die meisten Fahrer die PAE nicht kannten und ihr Spielzeug aus dem Kinderwagen warfen, wenn sie oberhalb der 4-GB-Grenze im Speicher landeten.

Wenn Sie den /PAESchalter jetzt unter Windows XP verwenden, wird DEP verfügbar, es werden jedoch nicht mehr als 4 GB RAM angezeigt.

Diese Beschränkung von 4 GB gilt weiterhin für Windows 7 32-Bit. Wenn Sie mehr als 4 GB RAM anzeigen möchten, müssen Sie eine 64-Bit-Version von Windows verwenden.

(Diese Option zur Verwendung von PAE für die Anzeige von mehr als 4 GB RAM ist unter 32-Bit- Serverversionen von Windows weiterhin verfügbar. Ich gehe davon aus, dass eine bessere Treiberqualität für die Art von Hardware vorliegt, auf der Windows Server ausgeführt werden soll. )

Dave Webb
quelle
2
Ich denke, die Serverunterstützung ist weniger auf eine bessere Treiberqualität zurückzuführen als auf die Tatsache, dass Systemadministratoren in der Lage sind, mit der Situation besser umzugehen als eine Mutter.
Will Eddins
1
"Der Grund dafür war, dass die meisten Fahrer nicht über PAE informiert waren und ihr Spielzeug aus dem Kinderwagen geworfen haben, wenn sie oberhalb der 4-GB-Grenze im Speicher landeten." - Gilt das auch für Windows 7 32bit (mit dem Kernel-Hack)?
Mark Gibaud
2
Der große Mark Russinovich erklärt in seiner Reihe von Blogposts "Pushing the Limits of Windows" die Gründe für die Speicherbeschränkungen von Client und Server unter Windows. blogs.technet.com/b/markrussinovich/archive/2008/07/21/…
ElvisFanTCB
Enthält das 4 GB Windows 7-Limit Hardware? Ich habe PAE eingerichtet und erhalte ca. 3,15 GB. Gibt es etwa 1 GB (potenzielle) Hardware, die den Rest verbraucht, und ms-windows, die die Verwendung von mehr als 4 GB blockieren? Unter Gnu / Linux bekomme ich alle 4GB.
Strg-Alt-Delor
@richard - das Adresslimit beinhaltet den für andere Hardware benötigten Adressraum, die meisten bemerkenswerten Grafikkarten, die einen Großteil der 4 GB aufbrauchen können.
Dave Webb
3

Laut dem MSDN-Artikel Physical Address Extension :

Windows aktiviert PAE automatisch, wenn DEP auf einem Computer aktiviert ist, der Hardware-fähiges DEP unterstützt, oder wenn der Computer für das Hinzufügen von Speichergeräten im laufenden Betrieb in Speicherbereichen über 4 GB konfiguriert ist. Wenn der Computer kein hardware-fähiges DEP unterstützt oder nicht für Hot-Add-Speichergeräte in Speicherbereichen über 4 GB konfiguriert ist, muss PAE explizit aktiviert werden.

Verwenden Sie zum expliziten Aktivieren von PAE den folgenden Befehl BCDEdit / set , um die Option pae boot entry festzulegen :

bcdedit /set [{ID}] pae ForceEnable

Wenn DEP aktiviert ist, kann PAE nicht deaktiviert werden. Verwenden Sie die folgenden BCDEdit / set- Befehle, um DEP und PAE zu deaktivieren:

bcdedit /set [{ID}] nx AlwaysOff
bcdedit /set [{ID}] pae ForceDisable

Windows Server 2003 und Windows XP: Verwenden Sie zum Aktivieren von PAE die Option / PAE in der Datei boot.ini . Verwenden Sie den / NOPAE- Schalter, um PAE zu deaktivieren . Verwenden Sie den / EXECUTE- Schalter, um DEP zu deaktivieren .

Der Hochstapler
quelle
2

PAE sollte standardmäßig aktiviert sein - Windows verwendet es bereits intern für die DEP / No-Execute- Funktion.

Aber diese Anweisungen könnten helfen , wenn Windows nicht sein Ding wieder tut.


Beachten Sie, dass einzelne Prozesse auch dann auf 4 GB beschränkt sind, wenn das System auf mehr zugreifen kann.

Grawity
quelle
Dieser Link ist falsch. Vista 32-Bit verwendet nur PAE für DEP und lässt nicht mehr als 4 GB RAM zu. support.microsoft.com/kb/929605
Dave Webb
Niphoet (der Fragesteller) verwendet jedoch Windows 7 mit einem Limit von 8 GB (Home Basic; in anderen Versionen sogar noch mehr).
Grawity
@grawity: Ja, es ist 8 GB, wenn Sie 64-Bit-Windows 7 verwenden. Das Limit beträgt immer noch 4 GB in 32-Bit-Windows 7.
Joshua
2

Wenn Ihr System dies unterstützt, können Sie mithilfe der Virtualisierung den Zugriff auf Ihre 32-Bit-Telefontreiber ermöglichen.

Es wäre etwas komplizierter, aber Sie könnten eine virtuelle Maschine einrichten, die die Verbindung herstellt und die Internetverbindung für Ihren Host freigibt. Auf diese Weise erhalten Sie die Vorteile von 64-Bit und können ältere Treiber verwenden.

VMware Workstation (kommerziell), VirtualBox (kostenlos, Open Source) und Windows Virtual PC (kostenlos) können USB-Geräte direkt in Ihre virtuelle Maschine leiten. Installieren Sie einfach ein 32-Bit-Betriebssystem (auch XP, wenn Sie dies wünschen), geben Sie ihm eine marginale Menge an RAM und Sie können tun, was Sie brauchen. Ich habe dies getan, um ältere Anwendungen zu laden, die Windows 7 nicht unterstützen, und mein Bruder hat seine alte Creative-Webcam (ohne 64-Bit-Treiber) geladen und Skype über seine virtuelle Maschine verwendet.

Joshua
quelle
Er hat Windows 7 ... Sie haben völlig vergessen, "XP Mode" zu erwähnen, die neue kostenlose Virtualisierungsfunktion, die in Windows 7 enthalten ist.
davr
Ich habe den XP-Modus nicht direkt erwähnt, da nicht angegeben wurde, ob 7 Professional oder Ultimate ausgeführt wird (für die anderen SKUs nicht verfügbar) :)
Joshua,
2

Windows 7 32 hat PAE, das den Zugriff über die 4-GB-Marke hinaus verbietet. Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx .

Für Leute da draußen, die auf 64-Bit-Nutzung bestehen - es gibt einige Dinge, die in 64-Bit-Umgebungen nicht funktionieren und die einen Leistungsgewinn von einer RAM-Festplatte bringen könnten, auf die in einer 32-Bit-Umgebung KÖNNTE, speziell auf Anwendungen dieser Seite, die Marke von 3,25 überschritten werden häufig. Sie können die Auslagerungsdatei auch in die Ramdisk einfügen. Darüber hinaus ist eine VM großartig, aber die Emulation funktioniert nie so gut wie das Original - alles hängt wirklich von der Anwendung und der Art und Weise ab, wie sie implementiert wird. Es gibt immer noch viele Hardwaregeräte, die in einer 64-Bit-Welt nicht funktionieren und für die der Echtzeitzugriff erforderlich ist (während es Beschleuniger gibt, die beim Echtzeitzugriff helfen, kann dies immer noch Probleme bereiten).

Während 64-Bit technisch überlegen ist, ist 32-Bit ein Erbe, das einige Zeit in Anspruch nehmen wird, und es wird viele Gründe geben, warum Benutzer über PAE auf den Speicher zugreifen möchten.

PS: In einer Antwort auf diesen Beitrag heißt es, dass das Speichern einer Auslagerungsdatei auf einer RAM-Disk keinen Sinn macht. Lassen Sie mich erklären. Wenn das System 4 GB RAM hat und Sie eine 2 GB RAM-Diskette erstellen und die Auslagerungsdatei dort ablegen, ist diese Konfiguration nicht sinnvoll. Wenn das System jedoch über 8 GB RAM verfügt und Sie eine 4-GB-RAM-Festplatte erstellen (auf den zusätzlichen Speicher zugreifen, den 32-Bit-Windows nicht erreichen kann), legen Sie die Auslagerungsdatei (und den temporären Ordner) ab, aktivieren Sie "ReadyBoost" und fügen Sie weitere häufig verwendete hinzu dateien) dort ist dann ja die beschleunigung sehr beträchtlich. Und "Ja" ist die Antwort. Sie erhalten Software, mit der Sie RAM-Datenträger oberhalb der 4-GB-Grenze auf 32-Bit-Systemen erstellen können.

Gemeinschaft
quelle
5
Das Speichern Ihrer Auslagerungsdatei auf einer RAM-Disk macht keinen Sinn.
ElvisFanTCB
Das Speichern Ihrer Auslagerungsdatei auf einer RAM-Disk macht nur dann keinen Sinn, wenn normalerweise RAM im System verfügbar ist, was in diesem Fall nicht der Fall ist.
Vojtěch Dohnal
2

BENUTZEN SIE DEN PATCH NICHT, es ist einfach eine deutsche Testversion von Windows, und Ihr Boot-Rekord wird durcheinander gebracht.

Ich habe gerade eine Stunde damit verbracht, easybcd auf eine andere Maschine herunterzuladen, um dieses Problem zu beheben.

Sei gewarnt!

Ste
quelle
Das 'Patch' ist ganz einfach selbst zu machen und Sie brauchen kein 'easybcd', um Ihre Boot-Aufzeichnungen zu reparieren. Es ist ziemlich trivial, Ihre Boot-Aufzeichnungen mit bcdedit.exe zu reparieren ... RTFM
Eddie B
1

Die Frage lautet: "Wie kann ich PAE unter Windows 7 (32-Bit) aktivieren, um mehr als 3,5 GB RAM zu unterstützen?". Als Antwort geben Sie die Eingabeaufforderung "bcdedit / set [{ID}] pae ForceEnable" ein.

Aber wahrscheinlich ist es die Frage wert, umformuliert zu werden, wie man mehr als 3,5 (oder 3,25) GB RAM auf einem 32-Bit-W7-System aktiviert und nutzen kann.

Ich habe PAE in 2 verschiedenen Desktop-Mainboards mit identischen Systemen ausprobiert: Intel® Desktop Board D945GNT mit einem Intel® Pentium® D-Prozessor mit 3,4 GHz und 3,00 GB verwendbarem Ram und Intel® Desktop Board DG41WV mit Intel® E7500 mit 2,93 GHz und 3,25 GB verwendbarem Ram . Sowohl 64-Bit-fähig als auch 4 GB RAM.

Die 2 Systeme ermöglichten PAE; Dann installierte ich mit dem in http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7 angegebenen Verfahren die Gavotte Ram-Festplatte und stellte 16 MB RAM (nichts) auf dem ersten System wieder her, stellte jedoch die gesamten 775 MB wieder her für den zweiten unbenutzt.

Auf der Ram-Festplatte des zweiten Systems habe ich ihr eine bewegliche Pagesys-Datei von 16 MB bis 700 MB und eine bewegliche Pagesys-Datei von 16 MB bis 3300 MB auf einer Partition einer anderen physischen Festplatte des Systems zugewiesen.

Ich habe 2 Fakten bewiesen: 1. Die Systeme haben die RAM-Auslagerungsdatei der auf der Festplatte vorgezogen. Ich sah es sich bewegen, wachsen und schrumpfen. 2. Ein Benchmark mit PC Pitstop (Bild in http://www.pablomolina.net/bench700.png ) zeigt eine deutliche Verbesserung der Geschwindigkeit der Systemfestplatte, und das System läuft sehr viel schneller. Auf der Bank habe ich eine 700-MB-Auslagerungsdatei auf dem RAM-Datenträger mit einer 700-MB-Auslagerungsdatei auf einer anderen Partition desselben Systemlaufwerks verglichen.

Sie müssen das System so einstellen, dass die Auslagerungsdatei beim Herunterfahren mit der Microsoft-Prozedur kb / 314834 bereinigt wird.

Für mich macht PAE auf einem 32-Bit-System Sinn und funktioniert. Ich werde mich nicht für das 64-Bit-System entscheiden, da ich Windows professionell verwende und über Jahre hinweg 450 Programme angesammelt habe. Die Neuinstallation wird Monate dauern.

Pablo Molina
quelle
1

Wenn Sie keine Patch-Dateien möchten, können Sie einen Bootloader verwenden . Dieser Bootloader kann auf dem aktuellen System oder einem USB-Stick installiert werden. So können Sie es ganz einfach testen, ohne Ihr System zu beeinträchtigen.

Bildbeschreibung hier eingeben

magicandre1981
quelle