Bob, ci sono tre parti della tua domanda. Ne parlerò uno alla volta.
Esecuzione di Windows con memoria insufficiente
È infatti possibile eseguire Windows 7 con un modulo difettoso. A seconda della posizione dei settori danneggiati e di dove si trova il modulo nei banchi DIMM, Windows 7 funzionerà come se non ci fosse nulla fino a quando non tenta di toccare le parti danneggiate della memoria. Quindi, idealmente dovresti spostare il modulo difettoso il più lontano possibile dalla banca 0. Naturalmente, se questo è il tuo unico modulo, sei sfortunato.
Blocco dei settori di memoria difettosa in Windows
Sui sistemi operativi x86 (32 e 64 bit), la memoria è gestita dal kernel. Come accennato, BadMem è in grado di bloccare settori della memoria difettosa in Linux. Funziona dicendo al kernel di bloccare gli indirizzi di memoria specificati. Questo impedisce efficacemente a Linux di indirizzare mai quegli indirizzi durante l'allocazione (e la deallocazione) della memoria. Ma per fare ciò, BadMem deve patchare il kernel. BadMem non è altro che una patch del kernel configurata prima dell'applicazione.
Ora, non hai questa capacità su Windows. Non è possibile patchare il kernel. Lo sviluppo di un driver in modalità kernel non ti farà nulla di buono, dal momento che il kernel di Windows non permetterà mai al tuo driver di avere la precedenza sulla sua architettura di gestione della memoria (comprensibilmente).
Per questo motivo, non è possibile indicare a Windows in alcun modo di non utilizzare determinati indirizzi di memoria. L'unico modo sarebbe per Microsoft di applicare una patch specifica al kernel per il tuo caso. Improbabile.
La diffusione di indirizzi di memoria errati
Non ci sono molte ragioni per cui un modulo di memoria può contenere indirizzi errati. Alla fine, tutto si riduce a un errore nella linea di produzione, supponendo che non abbia subito danni prima di entrare nel tuo computer. Contrariamente ai dischi rigidi non ci sono parti mobili nei moduli di memoria, come ben sai. Quindi, i settori danneggiati non tendono a diffondersi come nel caso dei settori del disco rigido.
Tuttavia, il software di test della memoria non è infallibile. È possibile (e comune) che passi determinati indirizzi che in realtà sono cattivi. Quindi la cattiva memoria può dare l'impressione di "diffondersi" poiché sempre più indirizzi si rivelano essere cattivi. Per questo motivo strumenti come BadMem rivelano la loro debolezza, perché naturalmente possono solo gestire quegli indirizzi a cui li istruisci.
È improbabile che chiunque possa condurre un test approfondito di un modulo di memoria e identificare tutti gli indirizzi di memoria danneggiati, quindi bloccarli e finire con un "buono" modulo di memoria. La cosa più semplice da fare è considerare un modulo con indirizzi errati come un modulo difettoso e di conseguenza non fidarsi.
Ciò significa che, per quanto BadMem sia una proposta interessante, in realtà non è una soluzione al problema della cattiva memoria. Molto probabilmente, non finirai comunque con un sistema operativo che tenta di leggere un settore danneggiato e si blocca con un errore di arresto. Un modulo errato è un modulo errato è un modulo errato.