Eu consegui alguns hits. A chave para passar os parâmetros de memória danificados é:
-
Endereços memtest86, correspondem aos endereços usados no Windows.
-
Deve marcar páginas inteiras de 4KBytes.
-
No memtest 0x10000000, corresponde a 0x10000 no Windows.
-
No memtest, 0x00001000 corresponde a 0x1 no Windows.
-
Significa: O número da página no Windows remove os últimos 3 números hexadecimais do memtest.
-
Significa que: o Windows elimina zeros à esquerda.
-
Considere 5 e 6, para evitar erros nos números de página.
-
A declaração correta é: bcdedit / set {badmemory} badmemorylist 0xB7 0xB8 0xB9 0xBA para erros no memtest de 0x000B7000 a 0x000BAFFF. Note que você não pode colocar um intervalo de memória, mas todas as páginas uma a uma.
-
Não é possível adicionar páginas; todas as páginas devem ser marcadas no mesmo comando. Se for uma nova página, adiciona as mais antigas. Consegui adicionar 4096 páginas em apenas um comando. Eu não tentei mais.
-
bcdedit / enum {badmemory} mostra a lista de páginas marcadas.
-
bcdedit / definir badmemoryaccess não impede o uso das páginas marcadas.
-
É necessário reinicializar após marcar as páginas e remover o acesso.
Agora ele é executado sem falhar.