我有一台低预算的华硕笔记本电脑,它的内存有问题(已通过 memtest 确认)——不幸的是,内存焊接在主板上,实际上无法更换。
我可以启动 Windows 8.1,但几分钟后 Windows 就会崩溃。
这样的计算机还有希望或用途吗?
答案1
我使用一个不起眼的 Windows 命令解决了这个问题,这个命令可以强制 Windows 不使用某些内存地址。
这是我所做的
1. 从可启动 USB 运行 memtest。我选择了除锤击测试之外的所有测试。此外,我还将 memtest 中的 CPU 设置设为并行运行(可能无所谓,但可以使测试运行得更快)。允许 memtest 完成所有通过。
2. 记下测试结束时 memtest 报告的最高和最低内存错误地址。(在我的情况下,最低地址是 0x6424c238,最高地址是 0x6F236258)。
3. 启动 Windows
4. 打开命令提示符(以管理员身份运行)并运行以下命令
bcdedit /set {badmemory} badmemorylist 0x6
您需要将 0x6 替换为从 memtest 中的高/低值中获得的值。我使用了 0x6,因此所有以 0x6 开头的内存地址都将被忽略 - 这是最简单的事情,因为我所有坏内存的地址都以 0x6 开头。如果需要,您可以在命令末尾附加其他内存地址,并以空格分隔(例如 0x6 0x7 0x8)。如果您的坏内存范围比此示例更窄,则可以使地址更精确(例如 0x6424)。5.
告诉 Windows 避免坏内存
bcdedit /set badmemoryaccess no
希望这些信息能帮助某人挽救一两台计算机。
答案2
如果 Memtest86 总是将相同的地址报告为坏地址,则以下方法可能有效。我从未尝试过。
运行 Memtest86 并记下它返回的最低地址是否为坏地址。使用十六进制到十进制计算器将地址转换为十进制,然后除以 1048576。从该值中减去 1。
在启动过程中按 Space 或 F8 调出 Windows 启动菜单。此时按 F10,您将进入一个可以输入启动参数的屏幕。输入/MAXMEM=X
其中 X 是您在上面找到的值。(您可能还想尝试上述burnmemory
和开关removememory
这里。
基本上,这将告诉 Windows 不要使用该地址以上的内存,尽管 RAM 有所减少,但它仍可能工作。
但是,如果您系统的内存有缺陷,则可能是其他硬件缺陷的开始,这些缺陷可能会在以后显现出来。因此,除非已知事件发生在主板计算机上的特定组件上,否则我不会信任此系统,但您可能会发现它在测试后可以可靠地运行。
答案3
我已经更换了永久内存,这完全取决于你使用烙铁的技能。你可以尝试将 USB 闪存驱动器配置为 RAM。:
将您的拇指驱动器重命名为“RAM DRIVE”或类似名称,这样您就可以看到哪个驱动器被用作 RAM。删除闪存驱动器上的所有内容。检查隐藏文件。右键单击“我的电脑”,然后转到“属性”。到达那里后,单击“高级”,然后转到系统输出的“设置”。单击“高级”,然后单击“编辑”。单击上面的拇指驱动器,然后选择“用户定义的大小”。在这里您可以看到闪存驱动器的大小。计算闪存驱动器的大小,然后减去 5 Mb。在第一个框中输入此数字。在第二个框中,输入相同的数字。单击“设置”并确认所有设置,尽可能应用它们。重新启动计算机。