Боб, у твоєму питанні є три частини. Я звернусь по одному.
Запуск Windows з поганою пам'яттю
Дійсно запустити Windows 7 з несправним модулем. Залежно від розташування поганих секторів та місця, де модуль сидить у ваших банках DIMM, Windows 7 працюватиме так, ніби нічого немає, доки він не намагатиметься торкнутися поганих ділянок пам'яті. Отже, в ідеалі ви пересунете несправний модуль якомога далі від банку 0. Природно, якщо це ваш єдиний модуль, вам не пощастить.
Блокування поганих секторів пам'яті в Windows
У операційних системах x86 (32 та 64 біт) пам'ять управляється ядром. Як ви вже згадували, BadMem може блокувати сектори поганої пам'яті в Linux. Він працює, доручивши ядру блокувати вказані вами адреси пам'яті. Це ефективно зупиняє Linux ніколи не звертатися до цих адрес під час розподілу (та взаємодії) пам'яті. Але для цього BadMem потребує виправлення ядра. BadMem - це не що інше, як патч ядра, який ви налаштовуєте перед застосуванням.
Тепер у вас немає такої можливості в Windows. Ви не можете виправити ядро. Розробка драйвера режиму ядра теж не принесе вам користі, оскільки ядро Windows ніколи не дозволить вашому драйверу мати перевагу над його архітектурою управління пам’яттю (зрозуміло, що так).
З цієї причини ви жодним чином не можете доручити Windows не використовувати певні адреси пам'яті. Єдиний спосіб - це Майкрософт спеціально закріпити ядро для вашого випадку. Навряд чи.
Поширення поганих адрес пам'яті
Існує не так багато причин, чому модуль пам'яті може містити погані адреси. Зрештою, все зводиться до помилки на виробничій лінії, припускаючи, що вона не зазнала пошкоджень перед тим, як потрапити на ваш комп'ютер. На відміну від жорстких дисків, в модулях пам'яті немає рухомих деталей, як ви добре знаєте. Отже, погані сектори не мають тенденції до поширення, як це стосується секторів жорсткого диска.
Однак програмне забезпечення для тестування пам'яті не є надійним. Можна (і звичайно) передавати певні адреси, які насправді погані. Тож погана пам'ять може створювати враження про "поширення", оскільки все більше і більше адрес виявляються поганими. З цієї причини такі інструменти, як BadMem, виявляють їх слабкість, оскільки, природно, вони можуть обробляти лише ті адреси, які ви їм доручаєте.
Навряд чи хтось зможе провести ретельну перевірку модуля пам'яті та виявити всі погані адреси пам'яті, потім заблокувати їх і закінчити «хорошим» модулем пам'яті. Найпростіше - це розглянути модуль із поганими адресами як несправний модуль на протязі, і, отже, не довіряти йому.
Це означає, що наскільки BadMem є привабливою пропозицією, це насправді не є вирішенням проблеми поганої пам'яті. Швидше за все, ви не все ще отримаєте операційну систему, яка намагається прочитати поганий сектор і виходить з ладу з помилкою зупинки. Поганий модуль - поганий модуль - поганий модуль.