AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1257815
Accepted
fgadev
fgadev
Asked: 2020-07-10 14:40:59 +0800 CST2020-07-10 14:40:59 +0800 CST 2020-07-10 14:40:59 +0800 CST

Ubuntu 崩溃 - memtest86 显示测试失败 - 可以调整 UEFI 帮助或 Grub BadRam 吗?

  • 772

我被要求修理一台超出保修期的笔记本电脑,Windows 10S 会在启动时挂起数小时并且永远不会启动。在尝试了我能想到的一切之后,我放弃并安装了 Ubuntu。

Ubuntu 启动并运行几分钟,直到它冻结(通常在启动 Chrome 之后)。

我已经运行 memtest86 并且它显示 RAM 错误(无法替换 ram,因为它是焊接的)。我想标记 BadRam,但无法全部识别。

我的问题 - memtest86 通过了测试 1-5 和测试 10 和 13。它没有通过测试 6、7、8。和 9. 任何想法为什么会发生这种情况以及 GRUB_BADRAM 或调整 UEFI 中的 RAM 设置是否会有所帮助?

'''

Test                                        # Tests Passed          Errors
Test 0 [Address test, walking ones, 1 CPU]  4/4                     (100%)  0
Test 1 [Address test, own address, 1 CPU]   4/4                     (100%)  0
Test 2 [Address test, own address]          4/4                     (100%)  0
Test 3 [Moving inversions, ones & zeroes]   4/4                     (100%)  0
Test 4 [Moving inversions, 8-bit pattern]   4/4                     (100%)  0
Test 5 [Moving inversions, random pattern]  4/4                     (100%)  0
Test 6 [Block move, 64-byte blocks]         0/4                       (0%)  94
Test 7 [Moving inversions, 32-bit pattern]  0/4                       (0%)  29
Test 8 [Random number sequence]             0/4                       (0%)  41
Test 9 [Modulo 20, ones & zeros]            0/4                       (0%)  177
Test 10 [Bit fade test, 2 patterns, 1 CPU]  4/4                     (100%)  0
Test 13 [Hammer test]                       4/4                     (100%)  0

RAM 为 4 GB,4 个 DIMM 插槽

1GB LPDDR4 PC4-17000
SK Hynix / H9HCNNN8KUMLHR / 00000000
2133 MHz

最后 10 个错误(在 memtest86 中)是

2020-07-09 16:17:43 - [Data Error] Test: 9, CPU: 1, Address: 178A4D6B4, Expected: 90BD5162, Actual: 90BD5160
2020-07-09 16:17:24 - [Data Error] Test: 9, CPU: 1, Address: 17052573C, Expected: 4230F0F6, Actual: 4230F0F4
2020-07-09 16:17:08 - [Data Error] Test: 9, CPU: 0, Address: 17795431C, Expected: 0146A628, Actual: 0146A62A
2020-07-09 16:16:52 - [Data Error] Test: 9, CPU: 1, Address: 168B0F3B4, Expected: 9E286A4A, Actual: 9E286A48
2020-07-09 16:15:57 - [Data Error] Test: 9, CPU: 0, Address: 15F787234, Expected: 43135D5C, Actual: 43135D5E
2020-07-09 16:15:54 - [Data Error] Test: 9, CPU: 1, Address: 1501AE294, Expected: A0EE6E32, Actual: A0EE6E30
2020-07-09 16:15:13 - [Data Error] Test: 9, CPU: 0, Address: 14E3C71F8, Expected: 0AC0FD2E, Actual: 0AC0FD2C
2020-07-09 16:14:59 - [Data Error] Test: 9, CPU: 1, Address: 1424E7234, Expected: C0BE5E14, Actual: C0BE5E16
2020-07-09 16:14:29 - [Data Error] Test: 9, CPU: 1, Address: 13B3A53BC, Expected: 6368E450, Actual: 6368E452
2020-07-09 16:14:04 - [Data Error] Test: 9, CPU: 1, Address: 128174E74, Expected: AAD22C33, Actual: AAD22C31

谢谢

grub2 ram memtest
  • 1 1 个回答
  • 398 Views

1 个回答

  • Voted
  1. Best Answer
    heynnema
    2020-07-11T14:29:36+08:002020-07-11T14:29:36+08:00

    如果您查看/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"
    

    另请参阅如何在带有已损坏电池的焊接 RAM 模块的笔记本电脑上安装 Ubuntu


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

    Grub2 中的 BADRAM 设置

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

    GRUB_BADRAM="0x7DDF0000,0xffffc000" 
    

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

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

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

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

    • 1

相关问题

  • 有没有办法从 GUI/桌面管理我的 Grub 菜单选项?

  • grub 菜单中的“恢复”选项是什么?

  • 与 Grub 相比,使用 Grub2 有什么好处?

  • 如果旧版 grub 安装在引导分区扇区而不是 MBR 中,如何将 grub 更新为 grub2?

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve