La verità sul limite dei 4GB di RAM su Windows Vista 32-bit

Negli scorsi mesi mi sono occupato di alcuni articoli in cui esaminavo il problema del limite dei 4GB di RAM sui sistemi operativi a 32-bit e in particolare su Windows Vista.

Ciò che alla fine, dopo tanti esperimenti e ipotesi, non era del tutto chiaro, era però il perché l’abilitazione del PAE (estensione dell’indirizzo fisico) talvolta consentiva il corretto rilevamento dell’intero quantitativo di memoria, molte altre invece no. Infatti, se è vero che teoricamente i sistemi operativi a 32-bit non possono gestire un ammontare di memoria fisica superiore ai 4GB, il PAE (Physical Address Extension) è per l’appunto la tecnologia con cui tale sbarramento può essere superato.

Non a caso Microsoft stessa dichiara che i suoi sistemi operativi Server a 32-bit, quali il nuovo Windows Server 2008 Enterprise o Windows Server 2003 SP2 Enterprise, grazie a tale tecnologia possono supportare fino a 64GB di memoria. Sulla stessa pagina però leggiamo anche che Windows Vista 32-bit supporta un massimo di 4GB, ma quindi se alcuni sistemi operativi a 32-bit supportano un massimo di 64GB, perché Vista ha questa limitazione?

Sembra evidente, questioni di mercato: Microsoft spingerebbe i propri clienti ad acquistare la versione a 64 bit del proprio sistema operativo per godere esclusivamente del supporto di una quantità di memoria superiore a 4GB.

Scettici? C’è un modo per dimostrarlo se siete in possesso di un sistema dotato di Windows Server 2008 Enterprise che, come già detto, supporta un massimo di 64GB di RAM.

Infatti c’è chi giura che sostituendo due file su Windows Vista con gli equivalenti di un Windows Server 2008 Enterprise, è possibile eliminare del tutto la limitazione imposta da Microsoft sul suo sistema operativo. Il procedimento non è semplicissimo e considerato che comporta la modifica di due file importanti per il sistema è consigliabile solo se si è davvero sicuri di ciò che si sta facendo e soprattutto dopo aver fatto un backup dell’intero hard-disk con programmi appositi, quali Clonezilla.

Se siete davvero certi di voler provare, la procedura è la seguente:

  • Copiate su di una penna USB questi due file dal vostro Windows Server 2008:

    %systemdrive%WindowsSystem32licensingpkeyconfigpkeyconfig.xrm-ms
    %systemdrive%WindowsServiceProfilesNetworkServiceAppDataRoamingMicrosoftSoftwareLicensingtokens.dat

    Per farlo semplicemente, potete utilizzare il comando esegui (tasto Win+r) e accedere alle relative cartelle;

  • Fate un backup degli equivalenti due file su Windows Vista 32-bit per ripristinare il tutto dopo l’esperimento.
  • Andate in Pannello di controllo (in modalità classica) > Strumenti di amministrazione > Servizi e da qui arrestate il servizio “Gestione licenze software” (tasto destro del mouse sul servizio e “arresta”);
  • Prendete il controllo totale dei due file: tasto destro del mouse su “prompt dei comandi” e selezionare “Esegui come amministratore”;
  • Nel prompt dei comandi digitare:


    takeown /f %systemdrive%WindowsSystem32licensingpkeyconfigpkeyconfig.xrm-ms
    icacls %systemdrive%WindowsSystem32licensingpkeyconfigpkeyconfig.xrm-ms /grant administrators:F


    takeown /f %systemdrive%WindowsServiceProfilesNetworkServiceAppDataRoamingMicrosoftSoftwareLicensingtokens.dat
    icacls %systemdrive%WindowsServiceProfilesNetworkServiceAppDataRoamingMicrosoftSoftwareLicensingtokens.dat /grant administrators:F

  • Sostituiteli ora con i due prelevati in precedenza dal vostro Windows Server 2008.

Al termine di questa operazione è possibile riavviare il sistema e testare il risultato. Nel caso qualcosa andasse storto, se volete evitare di ripristinare dal backup, accedete a Windows tramite la “Modalità Provvisoria” e ripristinate i due file originali.

[nggallery id=1918]

Ti consigliamo anche

Link copiato negli appunti