Боб, на твой вопрос есть три части. Я буду обращаться по одному за раз.
Запуск Windows с плохой памятью
Действительно возможно запустить Windows 7 с неисправным модулем. В зависимости от расположения поврежденных секторов и места расположения модуля в ваших банках DIMM, Windows 7 будет работать так, как будто ничего нет, если она не пытается коснуться плохих участков памяти. Таким образом, в идеале вы должны переместить неисправный модуль как можно дальше от банка 0. Естественно, если это ваш единственный модуль, вам не повезло.
Блокировка плохих секторов памяти в Windows
В операционных системах x86 (32 и 64 бит) память управляется ядром. Как вы упоминаете, BadMem может блокировать плохие сектора памяти в Linux. Он работает, давая команду ядру заблокировать те адреса памяти, которые вы указали. Это эффективно не дает Linux когда-либо обращаться к этим адресам при выделении (и освобождении) памяти. Но для того, чтобы сделать это, BadMem необходимо исправить ядро. BadMem - это не более чем патч ядра, который вы настраиваете перед применением.
Теперь у вас нет такой возможности в Windows. Вы не можете исправить ядро. Разработка драйвера режима ядра также не принесет вам пользы, поскольку ядро Windows никогда не позволит вашему драйверу иметь приоритет над архитектурой управления памятью (понятно, что так).
По этой причине вы никоим образом не можете указывать окнам не использовать определенные адреса памяти. Единственным способом для Microsoft было бы специально установить ядро для вашего случая. Навряд ли.
Распространение плохих адресов памяти
Существует не так много причин, по которым модуль памяти может содержать неправильные адреса. В конечном итоге все сводится к ошибке в производственной линии, если предположить, что она не получила повреждений перед тем, как попасть в ваш компьютер. В отличие от жестких дисков, в модулях памяти нет подвижных частей, как вы хорошо знаете. Таким образом, плохие сектора не имеют тенденцию к распространению, как в случае с секторами жесткого диска.
Тем не менее, программное обеспечение для тестирования памяти не является надежным. Для него возможно (и обычно) передавать определенные адреса, которые на самом деле плохие. Так что плохая память может создать впечатление "распространения", так как все больше и больше адресов оказываются плохими. По этой причине такие инструменты, как BadMem, показывают свою слабость, потому что, естественно, они могут обрабатывать только те адреса, которые вы им указали.
Маловероятно, что кто-либо может провести тщательное тестирование модуля памяти и определить все плохие адреса памяти, затем заблокировать их и в итоге получить "хороший" модуль памяти. Самое простое, что нужно сделать, - это рассматривать модуль с плохими адресами как дефектный модуль и, следовательно, не доверять ему.
Это означает, что, хотя BadMem является привлекательным предложением, оно фактически не является решением проблемы плохой памяти. Скорее всего, вы не получите операционную систему, которая пытается прочитать поврежденный сектор и завершается с ошибкой остановки. Плохой модуль - это плохой модуль - это плохой модуль.