Autore Topic: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)  (Letto 21611 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline aquilotto

  • Hero Member
  • *****
  • Post: 574
  • Karma: 12
Molti di voi sapranno del limite relativo al quantitativo di RAM utilizzabile sui sistemi Windows a 32-bit, i fatidici 4GB.
Da diverso tempo, a partire da Vista, è stato scoperto che modificando pochi byte dei file di avvio di Windows (ntkrnlpa.exe o ntoskrnl.exe) con un hex editor, si può consentire a Windows 32 bit (Vista, Seven e 8) di leggere 4 GB o più di RAM (fino a 128 GB, esattamente tanto quanto possono fare le versioni a 64 bit).
A tal proposito sono nati negli anni piccoli programmi in grado di eseguire tali modifiche, ma il loro utilizzo modifica la velocità di avvio di Windows, inserendo un dual boot.
C’è, però, la possibilità di far leggere da 4 GB fino a 128 GB di RAM utilizzando un piccolo programma della Saferbytes, X86 memory bootkit, il cui meccanismo di funzionamento è misterioso (non modifica i file di avvio suddetti, ma interviene sull'MBR).
E’ possibile scaricarlo qui ed il suo utilizzo è semplicissimo, basta leggere con attenzione la schermata d’avvio (tanto per essere più chiari, se cliccate 2 volte su OK, il programma viene disinstallato).
Non mi voglio dilungare sulle motivazioni di utilizzare la versione a 32 bit al posto della versione a 64 bit, vi dico solo che la versione a 64 bit occupa su disco oltre 12 GB di spazio in più.
Per quanto riguarda le licenze, è tutto regolare, in quanto con lo stesso codice seriale si può utilizzare indifferentemente un Windows 7 a 32 o a 64 bit; quindi, se utilizzate Advanced Tokens Manager, potete tranquillamente ripristinare l’attivazione sulla versione a 32 bit.
Vi evidenzio alcune problematiche:
1 – Il programma si può installare solo sulla prima partizione del primo hard disk collegato alla scheda madre (solitamente SATA 0), quindi se volete provare l’installazione su un secondo hard disk, dovete disabilitare da BIOS il primo.
2 - Potrebbe causare crash di sistema per via di malfunzionamenti dei driver (personalmente provato con i driver Etron USB 3.0 più recenti, ver 1.0.0.118 ).
3 - Essendo un tool gratuito e privo di assistenza, è altamente sconsigliata la sua adozione su macchine adibite ad uso professionale.

Se per qualsiasi motivo il sistema non si avvia più, si può rimuovere il bootkit di memoria utilizzando DVD di installazione di Windows.  Dopo aver avviato dal DVD di installazione di Windows, aprire il prompt dei comandi e scrivere i seguenti comandi:
bootrec / fixmbr - in caso di una classica installazione MBR o
bootrec / fixboot - in caso di installazione VBR (opzione 2 dell'installazione del bootkit)
Poi basta riavviare il sistema.

P.S.: conviene creare un CD di ripristino di Windows andando nel pannello di controllo e quindi su "Backup e ripristino" > "Crea un disco di ripristino del sistema".
In caso di necessità, avviare il CD e cliccare su "Avanti" > "Eseguire le operazioni di ripristino e riavviare il computer" - selezionare "No" > "Utilizzare gli strumenti di ripristino per tentare di risolvere i problemi di avvio di Windows?" - cliccare su "Avanti" e scegliere il "Prompt dei comandi" e digitare "bootrec / fixmbr".
« Ultima modifica: 02/09/2015, 20:33 da aquilotto »

ENG2ITA Community


Offline Singolarity

  • Eng2ita Staff
  • ***
  • Post: 1.186
  • Karma: -63597
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #1 il: 02/03/2014, 13:18 »
Sapevo del vecchio sistema usando una patch come hai indicato sui file di kernel....che poi non era tanto una patch ma da quello che sapevo era un "trapianto" dei rispettivi kernel delle versioni win server enterprise a 32bit (che appunto sfruttavano il PAE)...ma non dava grandi garanzie di sicurezza di stabilità....e tali sistemi interessano per lo più aziende che hanno ancora vecchie apps 16/32 che sui win64 decisamente funzionano male o per niente.....ma ovviamente nel loro lavoro "digeriscono" male le robe amatoriali......interessante invece quello della Saferbytes memory bootkit....lo avevo già letto poco tempo fa....ma non avevo avuto modo di provare nulla...le modifiche sono molto più tecniche e sostanziali...ovviamente richiede però la presenza e l'attivazione sempre del PAE e il limite è comunque ai 64Gb di ram....che tutto sommato non è tanto un limite  :D eheh interessante la peculiarità di essere lanciato sia in MBR sia nel bootsector....però tra i commenti mi sono letto che ancora qualche problema lo ha...capitano crash per alcuni drivers, come tu stesso dici, che lo sviluppatore ha intenzione di analizzare man mano che gli si presentano problemi, quindi ancora tutto sotto test...infatti è in beta come tool....nonostante sono interessanti i sistemi che ha adottato con UEFI di win8 32bit...diciamo che fa ben sperare come tool "temporaneo" in qualsiasi caso non lo consiglierei in eterno a nessuno dei miei clienti....è un po' come una toppa finché le loro procedure di lavorazione resistono con metodologie non proprio all'avanguardia....spesso per ovvi motivi di costi nel procedere ad un upgrade completo dei macchinari.
Ripeto più che in senso domestico dove ad un utente di usare un win64 non cambia nulla....la ragione di tale tool diventa maggiore proprio solo in ambito aziendale dove appunto possono sussistere apps vecchie legate a determinati macchinari che proprio non girano in modo nativo sui win64 tranne attraverso una emulazione....ma non sempre.

Offline aquilotto

  • Hero Member
  • *****
  • Post: 574
  • Karma: 12
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #2 il: 02/03/2014, 15:45 »
Ciao Singolarity, il PAE non cambia nulla nel riconoscimento della memoria installata in Windows 7 x86 (Home, Professional e Ultimate).  Il primo tentativo che feci  fu proprio quello di abilitare il PAE secondo le indicazioni Microsoft, ma non cambiava assolutamente niente.
Le patch a cui ti riferisci probabilmente sono “32bit RamPatch” e “RamPatchV1.1” di Fabianator, che installano effettivamente un ntkrnlpa.exe premodificato, non permettendone  l’aggiornamento periodico, se non modificando con un hex editor il file aggiornato (sarebbe troppo lungo spiegare come farlo). Quindi non si tratta di file prelevati da Windows Server Enterprise.
L’unica patch che consente di effettuare regolari modifiche del  kernel  è ReadyFor4GB, per cui quando un aggiornamento lo sovrascrive, si può nuovamente applicare la patch in un attimo. La quantità di RAM che permette di riconoscere è di 128 GB, come le 2 precedenti.
Per quanto riguarda Saferbytes  (è un’azienda italiana!), in effetti,  ciò che dichiara è un limite di 64 GB,  ma io personalmente non ho provato (mi bastano i 16 GB, come si vede nell’allegato).
Infine, in ambito aziendale secondo me è improponibile ricorrere a questi “trucchetti”, anche perché Saferbytes dichiara: “This software and its documentation are free and come "as is" with absolutely no guarantee and no support.”.
Per chi vuole andare più a fondo può leggere tutto qui:
https://news.saferbytes.it/analisi/2013/02/saferbytes-x86-memory-bootkit-new-updated-build-is-out/

Offline BAT

  • Moderatore cattivo
  • Eng2ita Staff
  • ***
  • Post: 1.564
  • Karma: 151
  • La conoscenza è potere. La conoscenza rende liberi
    • La conoscenza è potere. La conoscenza rende liberi
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #3 il: 02/03/2014, 16:48 »
La cosa è tecnicamente interessante ma in ambito aziendale è improponibile.

Riguardo al PAE, è dal SP2 di XP che è stato castrato via software da Microsoft: vengono usate solo le funzionalità PAE per la protezione della memoria, quelle per l'indirizzamento esteso sono "piallate" e restano ai 4 GiB; i produttori di hardware non hanno mai supportato PAE nei lloro driver (sui sitemi Windows a 32 bit) e, per evitare i crash di sistema, Microsoft ha segato anche il sistema operativo.

Per restare in sicurezza le aziende devono usare un sistema moderno, per es. Windows 7 e, al più usare le macchine virtuali XP magari usando la virtualizzazione P2V.
Blog: https://zerozerocent.blogspot.com
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE CI ANDRA'
Versione quantistica della legge di Murphy: TUTTO VA MALE CONTEMPORANEAMENTE

Offline Singolarity

  • Eng2ita Staff
  • ***
  • Post: 1.186
  • Karma: -63597
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #4 il: 03/03/2014, 13:47 »
Ti vedo informato...si aquilotto intendevo quello di fabianator.....però tornado ad un discorso di utilità effettiva....per quale motivo un utente domestico dovrebbe tenersi un sistema 32bit??? cioé non ne vedo l'utilità...non gli cambia nulla a passare ad uno 64 sia che parliamo di windows che di linux (ovviamente a patto che la cpu supporti le estensioni 64bit...ma direi che tutte le cpu dal 2005 ad oggi lo sono, salvo casi rari).....viceversa come dicevo i problemi maggiori sono solo legati alle aziende dove determinati software ancora 16bit casomai o altro di controllo hardware girano solamente su ambienti al max 32bit....e a volte come dicevo anche in emulazione non ci si può fare nulla...vuoi perché la periferica anche se collegata tramite una porta usb/seriale/parallela ecc nonostante vengano mappate in modo diretto sull'ambiente emulato per qualche motivo non passi i dovuti controlli lo stesso e non funzioni al 100%.
Cioé ti potrei dire che attualmente avrei bisogno di un programma simile a quello di Saferbytes proprio solo per motivi aziendali in cui se gli dovessi proporre un pc nuovo con win7 32bit sarei costretto a limitarli sotto i 4Gb di ram....e proprio ora che XP sta arrivando a fine supporto non ti dico le richieste assurde...e non conta rassicurarli che se quella macchina non è in rete possono stare tranquilli ancora.

Offline aquilotto

  • Hero Member
  • *****
  • Post: 574
  • Karma: 12
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #5 il: 03/03/2014, 14:05 »
Se il problema che hai è questo, ritengo ingiustificate le tue preoccupazioni; se hai bisogno di far girare applicazioni a 16 bit, non hai bisogno di computer avanzato, ti bastano ed avanzano 3 GB di RAM.
Comunque, anche se "per qualsiasi motivo il sistema non si avvia più, gli utenti possono rimuovere bootkit di memoria utilizzando DVD di installazione di Windows. Dopo aver avviato dal DVD di installazione di Windows, aprire un prompt dei comandi e scrivere i seguenti comandi:
bootrec / fixmbr - in caso di una classica impianti MBR o
bootrec / fixboot - in caso di installazione VBR (opzione 2 installato il bootkit)
Poi basta riavviare il sistema. Il bootkit dovrebbe essere definitivamente sparito"
Ho letto queste informazioni proprio ieri, che annullano quanto detto all'inizio (cioè della mancanza del dual boot che, nel caso le cose vadano male, ti consentono di avviare il sistema "normalmente" nel caso utilizzi le patch di Fabianator o ReadyFor4GB).

Offline Singolarity

  • Eng2ita Staff
  • ***
  • Post: 1.186
  • Karma: -63597
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #6 il: 03/03/2014, 19:25 »
Non ci girano ovviamente solo determinate apps 16bit....altrimenti avrei già fatto....spesso devono farci girare anche roba grafica sul medesimo

Offline aquilotto

  • Hero Member
  • *****
  • Post: 574
  • Karma: 12
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #7 il: 04/03/2014, 04:56 »
Aggiornata la procedura per il ripristino del sistema in caso di crash.

Offline wash

  • Advanced Member
  • ****
  • Post: 289
  • Karma: 1
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #8 il: 08/03/2014, 00:07 »
questo sistema è migliore degli altri nominati qui dentro? (che non conoscevo)
su xp funziona? ho il bootloader di 7

Offline aquilotto

  • Hero Member
  • *****
  • Post: 574
  • Karma: 12
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #9 il: 08/03/2014, 01:04 »
Ciao wash, secondo me è il migliore perché è il più pulito e veloce. I problemi di cui soffre (incompatibilità con alcuni, rari, drivers) affliggono anche i sistemi che patchano i file di kernel (esperienza personale).
Purtroppo non esite un sistema analogo per Windows XP, che è il motivo per cui mi sono deciso a passare a Windows 7.
Se nell'ultima domanda intendi dire se ha un boot manager, la risposta è no, parte direttamente con il sistema modficato. Ho già spiegato come comportarsi in caso di crash.  ;)

Offline wash

  • Advanced Member
  • ****
  • Post: 289
  • Karma: 1
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #10 il: 09/03/2014, 00:42 »
intendo dire che visto che interviene sull'mbr (non capisco come possa l'mbr far vedere più ram ma se è così...) magari usando il bootmanager di 7 per far partire xp funzionava lo stesso...

Offline aquilotto

  • Hero Member
  • *****
  • Post: 574
  • Karma: 12
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #11 il: 09/03/2014, 01:52 »
intendo dire che visto che interviene sull'mbr (non capisco come possa l'mbr far vedere più ram ma se è così...) magari usando il bootmanager di 7 per far partire xp funzionava lo stesso...
E' la stessa domanda che mi sono posto io e, putroppo, non so dirti come possa una modifica del MBR far riconoscere tutta la RAM.
Per quanto riguardo il dual boot con XP, io personalmente non l'ho provato, in primis perché non ci ho pensato. Sarebbe da provare ...  ;)

Offline Singolarity

  • Eng2ita Staff
  • ***
  • Post: 1.186
  • Karma: -63597
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #12 il: 09/03/2014, 20:31 »
non è ovviamente l'mbr che fa vedere più ram....nell'mbr viene collocato il programma o driver da eseguire ....di norma è uno spazio usato dai classici bootloader ma può essere usato anche per altro....in epoche "antiche" (periodo del dos) veniva persino usato da alcuni virus per restare residenti .....idem per l'altra collocazione in cui può essere messo ossia il primo settore di boot (presente in ogni partizione singola e che si chiama anche boot sector) usato anche questo da alcuni bootloader tipo grub se non si può montare in mbr per motivi di altri bootloader presenti...Saferbytes può anche essere installato nella VBR (Volume Boot Record) presente solo nelle NTFS.

In caso di dualboot secondo me conviene montarlo nella VBR della partizione del Win7....in questo modo ntldr o altro bootloader ha libertà di restare nella mbr senza problemi....per altro in tale modo il programma che appunto gestirebbe la memoria in eccesso partirebbe solo nel caso di Win7 e non in caso di XP.

Offline BAT

  • Moderatore cattivo
  • Eng2ita Staff
  • ***
  • Post: 1.564
  • Karma: 151
  • La conoscenza è potere. La conoscenza rende liberi
    • La conoscenza è potere. La conoscenza rende liberi
Re: Utilizzare 4GB di RAM su Windows 7 a 32 bit (x86)
« Risposta #13 il: 10/03/2014, 14:08 »
In caso di dualboot secondo me conviene montarlo nella VBR della partizione del Win7....in questo modo ntldr o altro bootloader ha libertà di restare nella mbr senza problemi...
tecnicamente la faccenda è un po' più complicata; l'MBR è un solo settore da 512 byte, di cui 446 riservati ad un loader; i boot loader dei sistemi operativi in realtà non risiedono fisicamente né nel MBR né nel boot sector (tra l'altro non ci entrano, per es. NTLDR di XP è di 246 KiB); funziona così:
il BIOS carica in memoria il loader contenuto nell'MBR, tale loader legge la tabella delle partizioni, individua la partizione attiva, legge ne boot sector della partizione attiva l'indirizzo fisico su disco del loader del sistema operativo e carica tale loader in memoria, poi passa il controllo al loader che avvia il sistema operativo vero e proprio. Tutto questo con variazioni sul tema dipendenti dal sistem opertivo; i boot loader rpiù sofisticati possono operare in un altro modo: il loader nell'MBR invece di saltare alla partizione attiva possono caricare in memoria altro codice sui settori della prima traccia inutilizzati (pe res. nei dischi con settori da 512 byte la prima partizione viene creata partendo dal settore 63; se consideri che il MBR è convenzionalmente numerato come settore 0, ci sono altri 64 settori da 512 byte a disposizione per occultare del codice; lo facevano alcuni virus e certe applicazioni con un metodo di protezione sofisticato ai tempi del DOS (si potevano instalare una sola volta a meno di non formattare il disco a basso livello). Credo che questo metodosia usato anche da grub ma non ne sono certo, bisognerebbe chiederlo agli sviluppatori.
Blog: https://zerozerocent.blogspot.com
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE CI ANDRA'
Versione quantistica della legge di Murphy: TUTTO VA MALE CONTEMPORANEAMENTE