Comment puis-je activer PAE sous Windows 7 (32 bits) pour prendre en charge plus de 3,5 Go de RAM?

37

Je sais que Windows XP 32 bits peut être configuré, via PAE , pour prendre en charge plus de 3,5 Go de RAM. Existe-t-il un bon tutoriel pour faire cela avec Windows 7 32 bits?

Pourquoi ne pas simplement utiliser Windows 7 64 bits: Le logiciel de ma connexion Internet (téléphone portable en tant que modem) ne fonctionnera que dans des environnements 32 bits.

Niphoet
la source
Sauf si vous utilisez des applications spécialement conçues pour tirer parti des extensions PAE 36 bits de la CPU et de l'API AWE, l'utilisation du commutateur PAE ne présente absolument aucun intérêt.
17
Molly: En réalité, il y a un sens à PAE même avec des applications qui ne sont pas au courant de l'adressage 36 bits. Même si chaque application ne peut accéder qu'à 2 Go de mémoire, vous pouvez exécuter plusieurs applications, chacune avec leurs propres 2 Go.
davr
@ Molly7244 AWE et PAE n'ont rien à voir avec l'autre. Et il est intéressant d'utiliser PAE sans mémoire vive étendue, c'est-à-dire d'activer la protection matérielle No-Execute. Sur un processeur x86, il n'y a pas de NX sans PAE.
Jamie Hanrahan
@JamieHanrahan AWE utilise PAE.
ctrl-alt-delor
@ ctrl-alt-delor Désolé, mais c'est clairement un malentendu, car AWE fonctionne sur les systèmes Windows 32 bits sur lesquels PAE n'est pas activé. Heck, AWE fonctionne même sur des systèmes où PAE n'est pas une option (x64, ARM, Itanium - ces processeurs ne prennent pas en charge PAE). Il est vrai que sur un système Windows 32 bits x86 sans PAE activé, une application compatible AWE ne trouvera pas beaucoup de RAM pour vous permettre d'ouvrir des "fenêtres", mais fonctionnera dans les limites de la RAM disponible. AWE ne dépend pas du tout de PAE; c'est simplement que sur x86, le fait de prendre en charge PAE + plus de 4 Go de RAM donnera plus de RAM à AWE (et tout le reste) pour fonctionner.
Jamie Hanrahan

Réponses:

24

Il y a quelques années, un groupe de programmeurs a publié un correctif de noyau pour Windows 7 afin de permettre l'utilisation de plus de 4 Go de RAM sous Windows 7. Récemment, du fait que certains antivirus détectaient le correctif comme un faux positif , le téléchargement retiré du site. Heureusement, j'ai sauvegardé une copie du correctif (qui utilise le noyau RTM Windows 7) et je l'ai téléchargée sur mon site Web ici (voir l'option n ° 1 lorsque je discuterai des deux méthodes de correction de votre noyau Windows). En outre, les auteurs ont publié des instructions sur la mise à jour manuelle de votre noyau .

Même si vous avez Windows 7 SP1 (version 7601), vous pouvez installer le correctif contenant le noyau 7600. Cela est dû au fait que votre noyau par défaut n’a pas été modifié; un nouveau est copié dans votre dossier système et une option de menu de démarrage supplémentaire est ajoutée pour démarrer Windows avec le nouveau noyau corrigé au lieu de l'ancien. Bien que je n'ai trouvé aucun problème à exécuter Windows 7 SP1 avec l'ancien noyau, si vous souhaitez utiliser la version 7601 de ntkrnlpa.exe, vous devez appliquer un correctif manuel à votre noyau (voir le lien ci-dessus).


Le correctif modifie fondamentalement le noyau Windows 7 pour qu’il ressemble davantage à Windows Server 2003 Datacenter Edition, qui est compatible avec jusqu’à 8 Go de RAM en mode 32 bits. Cela vous permet d'étendre le PAE à 8 Go de RAM sous Windows 7 32 bits. Pour plus d'informations sur les raisons pour lesquelles Microsoft a mis en œuvre cette limitation technique, voir Mémoire sous licence dans Windows Vista 32 bits (JavaScript doit être autorisé depuis www.geoffchappell.com ).

Comme mentionné ci-dessus, notez que les processus individuels resteront limités à 4 Go même si le système peut accéder à davantage de ressources ... Bien que si vous disposiez de 8 Go de RAM, vous auriez au moins 4 Go de plus pour les autres processus;)


Pour ceux qui s'intéressent aux aspects techniques, cela se produit à cause des entrées / sorties mappées en mémoire (MMIO en abrégé). Cela permet à l’unité centrale d’accéder aux périphériques et à la RAM via le bus d’adresses lui-même. En règle générale, cette opération est effectuée à l'aide des adresses mémoire d'ordre supérieur afin d'éviter les conflits d'adresses d'ordre inférieur. Toutefois, cela a donné naissance à la barrière de mémoire de 3 Go, bien connue, dans toutes les variantes grand public des systèmes d'exploitation Windows 32 bits.

Percée
la source
4
Attention: ce premier lien contient du contenu NSFW.
Jon Seigel
Avertissement ajouté à la réponse, merci. Je n'avais même pas remarqué cela: S
Percée le
Des informations pour savoir si cela fonctionne bien ou si elles ne sont pas fiables?
Mark Gibaud
1
@ Mark Gibaud Je l'ai utilisé pendant un an sans aucun problème. Je n'avais que 4 Go de RAM, mais au moins j'ai pu utiliser le tout. Notez que le correctif modifie le noyau Windows, je ferais donc une sauvegarde avant de corriger votre système. Cela étant dit, je n’ai jamais eu de problème (j’ai appliqué le correctif à la fois sur mon ordinateur de bureau et sur mon ordinateur portable plusieurs fois sans aucun problème, même après l’installation de tout).
Percée
1
@ Breakthrough: C'est incroyable. Savez-vous comment faire en sorte que XP fasse quelque chose de similaire?
Mehrdad
17

Cet article sur le site MSDN de Microsoft montre les limites de mémoire pour les versions de Windows et Windows 7 32 bits est répertorié comme une limite de 4 Go.

Vous pouviez utiliser PAE pour voir plus de 4 Go de RAM avec Windows XP, mais cette option était désactivée dans le Service Pack 2 .

La raison en était que la plupart des conducteurs n'étaient pas au courant du PAE et ont jeté leurs jouets hors de leur landau s'ils se retrouvaient en mémoire au-dessus de la limite des 4 Go.

Si vous utilisez /PAEmaintenant le commutateur sous Windows XP, vous rendrez la PED disponible, mais vous ne pourrez pas voir plus de 4 Go de RAM.

Cette limite de 4 Go est toujours en vigueur pour Windows 7 32 bits. Si vous voulez voir plus de 4 Go de RAM, vous devrez utiliser une version 64 bits de Windows.

(Cette option permettant d’utiliser PAE pour voir plus de 4 Go de RAM est toujours disponible sur les versions 32 bits de Windows du serveur , ce qui, je suppose, est due à une meilleure qualité de pilotes attendue pour le type de matériel sur lequel vous exécuteriez Windows Server. )

Dave Webb
la source
2
Je pense que la prise en charge du serveur est moindre en raison de la meilleure qualité de pilote et davantage en raison du fait que les administrateurs système seront en mesure de gérer la situation beaucoup mieux que la mère.
Will Eddins
1
"La raison en était que la plupart des conducteurs n'étaient pas au courant de PAE et ont jeté leurs jouets hors de leur landau s'ils se retrouvaient en mémoire au-dessus de la limite de 4 Go." - Est-ce que cela s'applique autant à Windows 7 32 bits (en utilisant le hack du noyau)?
Mark Gibaud
2
Le grand Mark Russinovich explique le raisonnement derrière les limites de mémoire client et serveur sous Windows dans sa série d'articles de blog "Repousser les limites de Windows". blogs.technet.com/b/markrussinovich/archive/2008/07/21/…
ElvisFanTCB
La limite de 4 Go de Windows7 inclut-elle le matériel? J'ai mis en place PAE et obtenir environ 3,15 Go. Y at-il environ 1 Go de matériel (potentiel) utilisant le reste et ms-Windows bloquant l’utilisation de plus de 4 Go. Sur Gnu / Linux, je reçois tous les 4 Go.
ctrl-alt-delor
@richard - la limite d'adresses inclut l'espace d'adressage nécessaire pour le reste du matériel, notamment les cartes graphiques remarquables pouvant consommer une grande partie des 4 Go.
Dave Webb
3

Selon l'article MSDN, Extension d'adresse physique :

Windows active automatiquement le PAE si la prévention de l'exécution des données est activée sur un ordinateur prenant en charge cette fonctionnalité ou si l'ordinateur est configuré pour ajouter des périphériques de mémoire dans une plage de mémoire supérieure à 4 Go. Si l'ordinateur ne prend pas en charge la PED activée pour le matériel ou n'est pas configuré pour les périphériques de mémoire à ajouter à chaud dans des plages de mémoire supérieures à 4 Go, PAE doit être explicitement activé.

Pour activer explicitement PAE, utilisez la commande BCDEdit / set suivante pour définir l'option d'entrée de démarrage pae:

bcdedit /set [{ID}] pae ForceEnable

Si DEP est activé, PAE ne peut pas être désactivé. Utilisez les commandes BCDEdit / set suivantes pour désactiver DEP et PAE:

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

Windows Server 2003 et Windows XP: Pour activer PAE, utilisez le commutateur / PAE dans le fichier boot.ini . Pour désactiver PAE, utilisez le commutateur / NOPAE . Pour désactiver DEP, utilisez le commutateur / EXECUTE .

Der Hochstapler
la source
2

PAE doit être activé par défaut - Windows l'utilise déjà en interne pour la fonctionnalité DEP / No-Execute .

Mais ces instructions peuvent aider si Windows refait son travail.


Notez que les processus individuels resteront limités à 4 Go même si le système peut accéder à davantage de ressources.

Grawity
la source
Ce lien est faux. Vista 32 bits utilise uniquement PAE pour DEP et ne vous permet pas de voir plus de 4 Go de RAM. support.microsoft.com/kb/929605
Dave Webb
Mais Niphoet (le demandeur) utilise Windows 7, avec une limite de 8 Go (Home Basic; encore plus dans les autres versions).
Grawity
@grawity: oui, c'est 8 Go si vous utilisez Windows 7 64 bits. La limite est toujours de 4 Go dans Windows 7 32 bits.
Joshua
2

Si votre système peut le prendre en charge, vous pouvez utiliser la virtualisation pour autoriser l'accès à vos pilotes de téléphone 32 bits.

La configuration serait légèrement plus compliquée, mais vous pourriez configurer une machine virtuelle qui établissait la connexion et partageait la connexion Internet avec votre hôte. Vous bénéficiez ainsi des avantages du 64 bits et pouvez également utiliser des pilotes hérités.

VMware Workstation (commercial), VirtualBox (gratuit, open source) et Windows Virtual PC (gratuit) peuvent tous acheminer des périphériques USB directement vers votre machine virtuelle. Installez simplement un système d'exploitation 32 bits (même XP, si vous le souhaitez), donnez-lui une quantité de RAM marginale et faites ce qu'il vous faut. Je l'ai fait pour charger des applications héritées qui ne supportaient pas Windows 7 et mon frère a chargé son ancienne webcam Creative (sans pilotes 64 bits) et utilisé Skype via sa machine virtuelle.

Josué
la source
Il a Windows 7 ... vous avez complètement oublié de mentionner "XP Mode", qui est la nouvelle fonctionnalité de virtualisation gratuite incluse dans Windows 7.
davr
Je n'ai pas directement mentionné le mode XP, car ils n'ont pas précisé s'ils utilisaient 7 Professional ou Ultimate (ce n'est pas disponible pour les autres SKU) :)
Joshua
2

PAE interdit l'accès à Windows 7 32 au-delà de 4 Go. Voir http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx pour plus de détails.

Pour les personnes qui insistent sur l'utilisation de la technologie 64 bits, certaines choses qui ne fonctionneraient pas dans les environnements 64 bits pourraient bénéficier d'un gain de performances d'un disque RAM pouvant POUVOIR accéder au-delà de la marque 3.25 dans un environnement 32 bits, en particulier les applications qui utilisent la page. souvent. Vous pouvez également mettre le fichier de page dans ledit disque mémoire. De plus, une machine virtuelle est géniale, mais l'émulation ne fonctionne jamais aussi bien que la réalité: tout dépend vraiment de l'application et de la manière dont elle est mise en œuvre. Il existe encore de nombreux périphériques matériels qui ne fonctionneront pas dans un monde 64 bits et qui nécessitent un accès en temps réel pour fonctionner correctement (bien qu'il existe des accélérateurs qui facilitent l'accès en temps réel, cela peut toujours poser des problèmes.)

Ainsi, alors que 64 bits est techniquement supérieur, 32 bits est un héritage qui prendra un certain temps, et les raisons pour lesquelles les utilisateurs voudront accéder à la mémoire via PAE seront nombreuses.

PS: Il y a une réponse à ce message indiquant qu'il est illogique de placer un fichier de page sur un disque virtuel. Laisse-moi expliquer. Si le système dispose de 4 Go de RAM et que vous créez un disque de 2 Go de RAM et placez le fichier de page à cet emplacement, alors oui, cette configuration n’a aucun sens. Toutefois, si le système dispose de 8 Go de RAM et que vous créez un disque de 4 Go (accès à la mémoire supplémentaire que Windows 32 bits ne peut pas atteindre), vous placez le fichier d'échange (et le dossier temporaire), puis allumez "ReadyBoost" et ajoutez les autres fichiers fréquemment utilisés. fichiers) là-bas, alors oui, l'accélération est très considérable. Et "oui" est la réponse, vous pouvez obtenir un logiciel qui vous permet de créer des disques RAM au-delà de la limite de 4 Go sur les systèmes 32 bits.

Communauté
la source
5
Mettre votre fichier d'échange sur un disque virtuel n'a aucun sens.
ElvisFanTCB
Placer votre fichier d'échange sur un disque RAM n'a aucun sens uniquement lorsque la RAM est disponible normalement sur le système, ce qui n'est pas le cas.
Vojtěch Dohnal
2

N'UTILISEZ PAS LE PATCH, c'est simplement une version allemande de Windows et testera votre enregistrement de démarrage.

Je viens de passer une heure à télécharger easybcd sur une autre machine pour y remédier.

Être averti!

Ste
la source
Le 'patch' est assez simple à faire vous-même et vous n'avez pas besoin de 'easybcd' pour corriger vos enregistrements de démarrage: il est relativement simple de corriger votre enregistrement de démarrage avec bcdedit.exe ... RTFM
Eddie B
1

La question est "Comment puis-je activer PAE sur Windows 7 (32 bits) pour prendre en charge plus de 3,5 Go de RAM" et vous devez répondre à l'invite de commande "bcdedit / set [{ID}] pae ForceEnable".

Mais, probablement, la question mérite d'être reformulée: comment activer et pouvoir utiliser plus de 3,5 (ou 3,25) Go de RAM sur un système W7 32 bits.

J'ai essayé PAE dans 2 cartes principales différentes avec des systèmes identiques: Intel® Desktop Board D945GNT avec un processeur Intel® Pentium® D 3.4GHZ et 3.00 Go de RAM utilisable, et Intel® Desktop Board DG41WV avec Intel® E7500 de 2.93GHZ et 3.25 Go de RAM utilisable. . Les deux capacités 64 bits et 4 Go de RAM.

Les 2 systèmes ont permis à PAE; ensuite, en utilisant la procédure indiquée dans http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7, j'ai installé le disque Gavotte Ram et récupéré 16 Mo de RAM (rien) sur le premier système, mais j'ai récupéré la totalité des 775 Mo inutilisé pour le second.

Ainsi, sur le disque RAM du deuxième système, j’ai affecté un fichier pageys déplaçable de 16 Mo à 700 Mo, ainsi qu’un pageys déplaçable de 16 Mo à 3 300 Mo situé sur une partition d’un disque physique différent du système.

J'ai prouvé deux faits: 1. Les systèmes ont préféré le fichier d'échange Ram à celui du disque dur. Je l'ai vu bouger, grandir et rétrécir. 2. Le benchmark avec PC Pitstop (image jointe dans http://www.pablomolina.net/bench700.png ) montre une nette amélioration de la vitesse du disque système, et le système tourne plus vite. Sur le banc, j'ai comparé un fichier de page de 700 Mo sur le disque virtuel avec un fichier de page de 700 Mo situé sur une autre partition du même lecteur système.!

Vous devez configurer le système pour qu'il nettoie le fichier de page à l'arrêt à l'aide de la procédure Microsoft kb / 314834.

Pour moi, PAE est logique sur un système 32 bits et fonctionne. Je n’accepterai pas le système 64 bits, car j’utilise Windows de manière professionnelle et accumule 450 programmes au fil des ans, ce qui me prendra des mois pour le réinstaller.

Pablo Molina
la source
1

Si vous ne voulez pas de fichiers de correctif, vous pouvez utiliser un chargeur de démarrage . Ce chargeur de démarrage peut être installé sur le système actuel ou sur une clé USB. Ainsi, vous pouvez facilement le tester sans affecter votre système.

entrez la description de l'image ici

magicandre1981
la source