如何在带有已损坏单元的焊接 RAM 模块的笔记本电脑上安装 Ubuntu

fil*_*ad2 17 hardware ram system-installation

我有一台几年前买的华硕 K550V 笔记本,它已经过了保修期。这台电脑有 8GB RAM 焊接在主板上,但 ram 模块有一些损坏的单元。我无法使用它预装的 Windows 10 Pro,因为它总是蓝屏,我什至无法重新安装它。我在网上读到可以安装 Ubuntu,指定它不必使用损坏的 ram 单元,所以我决定安装这个 os。事实是,我在 Linux 世界中很新,所以我想知道是否有安装 Ubuntu 的分步指南,指定避免使用坏的 ram 单元。我已经下载了 19.04 版本并制作了一个可启动的闪存驱动器。谢谢

hey*_*ema 42

注意:有关 Ubuntu 安装帮助,请参见此处。

注意:大多数高端电脑维修店都可以以最低的成本更换有缺陷的 8G RAM 芯片,而且肯定会更可靠。


如果您查看/etc/default/grub,您会找到一个GRUB_BADRAM=参数,您可以在其中识别存在哪些错误的内存位置。

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
Run Code Online (Sandbox Code Playgroud)

Grub2 中的 BADRAM 设置

Natty 中的 GRUB2 配置文件有一行用于配置内核坏内存排除。因此,我将假设这是映射出显示错误的内存部分的首选方法。我设置的线是

GRUB_BADRAM="0x7DDF0000,0xffffc000" 
Run Code Online (Sandbox Code Playgroud)

我能找到的每个网站上的建议方法是将其设置为运行memtest86并让它向您显示 BadRAM 设置。memtest86给了我一页我必须输入的东西。我可以看到所有的地址都在一个 16K 的块中,所以我只想映射那个 16K 的块。这是我生成正确条目的方式。

第一个参数很简单。那是坏内存的基地址。就我而言,我可以看到所有错误地址都大于 0x7DDF0000 且小于 0x7DDF4000。所以,我把 16K 块的开头作为我的起始地址。

第二个参数是掩码。您将 1 放在您想要的地址范围共享相同值的位置,并将 0 放在不同的位置。这意味着您需要选择地址范围,以便只有低位发生变化。看我的地址,面具的第一部分很简单。你想从 0xffff 开始。对于下一个小节,我将用位图进行解释。我想要的范围是 0000 到 0011。所以,badram 的掩码是 1100 或十六进制 c。掩码中的最后 3 个半字节需要全为 0,因为我们希望映射整个范围。因此,我们得到的总结果为 0xffffc000。

在 中设置此行后/etc/default/grub,我运行sudo update-grub并重新启动,并且不再使用我的坏记忆。使用这种方法不需要内核补丁来映射坏内存。

来源:https : //help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2

更新 #1:

如果您使用的系统已经有 (a) 条坏内存条,您有两种选择:a)暂时放入好的内存,直到您构建补丁b)如果内存错误没有出现在较低的位置内存,您可以添加“mem=##MB”内核选项以暂时禁用高于该点的内存。例如:根据memtest86,我的记忆棒有 315MB 和 325MB 之间的错误。通过添加“mem=314MB”,我告诉内核假装我只有 314MB。我的系统将足够稳定以构建补丁,此时我可以传递一个参数来仅跳过 315MB 和 325MB 之间的部分(这为我提供了 502MB 的可用内存)。

:启动 Ubuntu Live,在 GRUB 菜单中,点击e进入编辑模式,使用箭头键找到“quiet splash”,更改为“quiet splash mem=2048MB”,CTRL+xF10继续启动。

更新#2:

要获得memtest86,请访问https://www.memtest86.com/并下载/运行他们的免费 memtest 来测试您的记忆力。在所有 4/4 测试中至少获得一次完整通过以确认良好的记忆力。这可能需要几个小时才能完成。

更新 #3:

根据您的坏 RAM 所在的位置,您可能会遇到问题。Peter Cordes 有一个好主意。取出硬盘。放到另一台电脑上。安装 Ubuntu。修改 GRUB。然后将硬盘放回原来的笔记本电脑。尝试并启动它。

  • @ filograndipad2:也许使用不同的计算机将 Ubuntu 安装到磁盘上,然后将磁盘重新连接到 RAM 不好的机器上。因此,您只需要在正确配置 GRUB 后启动这台计算机。虽然如果坏的 RAM 单元在内存中,固件总是使用你,但你会被搞砸。或者 GRUB 早期使用,在这种情况下,您可能需要破解 GRUB 以将其早期加载到不同的物理地址。或者使用不同的引导加载程序...如果您的机器支持 UEFI 引导,您可以尝试几种轻量级引导加载程序,例如 systemd 附带的一个。 (4认同)
  • @crip659 完全正确……我在回答中是这么说的 :-) (3认同)