如何使用 UEFI 在 14.04 下运行 Memtest?

JD_*_*ugs 5 uefi memtest 14.04

在像darktable这样的内存密集型程序中,我的屏幕经常“变灰”,所以我想测试我的RAM(安装了8GB)。我的 Grub 菜单没有将 Memtest 列为一个选项,但是 Ubuntu 软件中心报告说已安装 Memtest。在这种情况下如何运行 Memtest?

谢谢。

grub 目录的输出:

-rwxr-xr-x 1 root root  9424 Jun 26 04:16 00_header
-rwxr-xr-x 1 root root  6058 May  8  2014 05_debian_theme
-rwxr-xr-x 1 root root 11608 May 15  2014 10_linux
-rwxr-xr-x 1 root root 10412 May 15  2014 20_linux_xen
-rwxr-xr-x 1 root root  1992 Mar 12  2014 20_memtest86+
-rwxr-xr-x 1 root root 11692 May 15  2014 30_os-prober
-rwxr-xr-x 1 root root  1416 May 15  2014 30_uefi-firmware
-rwxr-xr-x 1 root root   214 May 15  2014 40_custom
-rwxr-xr-x 1 root root   216 May 15  2014 41_custom
-rw-r--r-- 1 root root   483 May 15  2014 README
Run Code Online (Sandbox Code Playgroud)

Liv*_*eBT 5

我还注意到缺少此选项,但从未研究过它。显然,Memtest86+ 映像与 UEFI 不兼容,并且20_memtest86+在 UEFI 机器上调用时很早就退出了:

# We need 16-bit boot, which isn't available on EFI.
if [ -d /sys/firmware/efi ]; then
  exit 0
fi
Run Code Online (Sandbox Code Playgroud)

选项:

  • 答:窗户

    我发现的另一个建议是使用 Windows 的工具进行内存测试。

  • B:PassMark MemTest86

    Memtest86+和非开源的PassMark MemTest86似乎有些混淆,后者从版本 5 开始支持 UEFI。

    Arch 在他们的AUR 中有一个脚本来安装 PassMarks MemTest86。作为将文件放在 USB FAT 分区上的替代方法,您可以通过下载适用于 Linux/Mac 的 ISO 执行类似操作,然后EFI\BOOT将 ISOEFI\MEMTEST86上的内容提取并重命名为ESP 并将以下内容添加到您的/etc/grub.d/40_custom:

    menuentry 'PassMark MemTest86 (x64)' {
        chainloader /efi/memtest86/bootx64.efi
    }
    menuentry 'PassMark MemTest86 (ia32)' {
        chainloader /efi/memtest86/bootia32.efi
    }
    
    Run Code Online (Sandbox Code Playgroud)

    最后运行sudo update-grub以更新您的 GRUB 配置。(我包含了两个二进制文件的条目,Ubuntu 中的 UEFI 可能不支持旧的 ia32,只需删除您不需要的内容即可。)