How to run Memtest under 14.04 with UEFI?
I'm experiencing frequent "graying out" of my screen in memory-intensive programs like darktable so I'd like to test my RAM (installed 8GB). My Grub menu does not list Memtest as an option however the Ubuntu Software Center reports that Memtest is Installed. How do I run Memtest in this case?
Thanks.
output of grub directory:
-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
Solution 1:
I also noticed that this option is missing, but never looked into it. Apparently the Memtest86+ image isn't compatible with UEFI and 20_memtest86+
exits very early when it's called on a UEFI machine:
# We need 16-bit boot, which isn't available on EFI.
if [ -d /sys/firmware/efi ]; then
exit 0
fi
Options:
-
A: Windows
An alternative suggestion I found was to use Windows' tool for memory testing instead.
-
B: PassMark MemTest86
There seems to be some confusion about Memtest86+ and the non-open source PassMark MemTest86, which supports UEFI since version 5.
Arch have a script in their AUR to install PassMarks MemTest86. As an alternative to putting the files on a USB FAT partition you could do something similar by downloading the ISO for Linux/Mac then extract and rename the contents of
EFI\BOOT
on the ISO toEFI\MEMTEST86
on your ESP and add the following to your/etc/grub.d/40_custom
:menuentry 'PassMark MemTest86 (x64)' { chainloader /efi/memtest86/bootx64.efi } menuentry 'PassMark MemTest86 (ia32)' { chainloader /efi/memtest86/bootia32.efi }
Finally run
sudo update-grub
to update your GRUB configuration. (I included entries for both binaries, the old ia32 may not be supported with UEFI in Ubuntu, simply remove what you don't need.)