36

I'm looking for the memtest option on the 64-bit version of the Ubuntu 12.04 live CD, but the only options I have are "Try Ubuntu without installing", "Install Ubuntu", and "Check disc for defects". What am I missing?

enter image description here

Edit: This question is relevant for the current versions of Ubuntu (amd64 alias 64-bit, which work in UEFI mode). The boot menu option 'Test memory' is only available in BIOS mode.

2

7 Answers 7

22

Memtest86+

If you boot your computer in BIOS mode (alias CSM alias legacy mode), memtest86+ works.

Edit { Version 6 (of memtest86+) works also in UEFI mode, when secure boot is turned off. }

If you boot your computer in UEFI mode, older versions of memtest86+ will not work, because they are 16-bit programs.

www.memtest.org

Memtest86

The original branch, memtest86 (without plus), works in UEFI mode. There is a free version (but I don't think it is open source, and for this reason not available to include in linux distros).

www.memtest86.com

Memtest via Ubuntu's boot menu

Memtest86+ is included in most Ubuntu iso files, for example

ubuntu-16.04.1-desktop-amd64.iso

There is an option 'Test memory', when you boot your computer in BIOS mode (alias CSM alias legacy mode) from a DVD disk or USB pendrive with a cloned copy from the iso file.

In Ubuntu 16.04.x LTS systems installed in BIOS mode, there are also options 'Test memory', when you boot your computer (via the grub menu).

But when you boot your computer in UEFI mode, there is no option to use Memtest86+ (because it would not work).

Standalone Memtest86+ image file

Edit {

Memtest86+ version 6 (and newer) can be downloaded as a standalone zip file, which contains an iso file. This iso file can be cloned directly into a USB drive to make a bootable memtest86+ system and it works both in UEFI mode and the old BIOS mode alias legacy mode.

www.memtest.org

}

If you have an old version of Memtest86+, you can test 4 GiB of RAM. If you have more than 4 GiB RAM in your computer, you need version 5.01 or newer.

Enhancements in v5.01 :

  • Added support for up to 2 TB of RAM on X64 CPUs

(In September 2020 there is also a beta version, 5.31b.)

You may want a small standalone Memtest86+ iso file or other image file in order to create a live USB drive.

I did not find any file at www.memtest.org/#downiso, that is easy to install to USB in linux. The iso file 'memtest86+-5.01.iso' is not a hybrid iso file and cannot be made into one.

$ isohybrid memtest86+-5.01.iso
isohybrid: memtest86+-5.01.iso: unexpected boot catalogue parameters

It is a very barebone iso file. I tested in VirtualBox, and it works as a CD.

But there is an 'Auto-installer for USB Key (Win 9x/2k/xp/7)' at

www.memtest.org/download/5.01/memtest86+-5.01.usb.installer.zip

I extracted it to a USB pendrive in Windows and cloned this system to a compressed image file and uploaded it to

dd_memtest-plus-5.01_33M.img.xz

$ md5sum dd_memtest-plus-5.01_33M.img.xz
7f91882ab90df13a938749176a0ff4c4  dd_memtest-plus-5.01_33M.img.xz

which can be extracted directly in linux by mkusb, dus and Disks alias gnome-disks (and in two steps, extracting and cloning, with other cloning tools, that accept the extracted file as an input file).

After installing mkusb and/or dus, you can do it via Dash or the menu entry or with the following command line

dus dd_memtest-plus-5.01_33M.img.xz
4
  • Memtest86+ supports UEFI these days?
    – rogerdpack
    Dec 26, 2022 at 21:50
  • @rogerdpack, Thanks for the heads up :-) According to its website, it seems Memtest86 version 6 works in UEFI mode, at least when secure boot is turned off. I will check it, and after that modify my answer.
    – sudodus
    Dec 27, 2022 at 10:37
  • 1
    Checked and modified now. Thanks again @rogerdpack :-)
    – sudodus
    Dec 27, 2022 at 11:05
  • 1
    usb stick with ubuntu-22.04.3-desktop-amd64.iso didn't show the memtest menu item even when secure boot was turned off, I had to make a usb stick with memtest86+ 6.2 image and that one worked
    – Charon ME
    Sep 22, 2023 at 10:45
12

According to this bug report comment 2 and 3 state:

  • The EFI version of grub does not support loading real mode binaries.
  • Don't present the GRUB menu option on EFI systems, since it won't work (see LP #883017).

So from the live cd it will not work at the moment. According to this topic you can add it afterwards: How can I add the Memtest86+ options back to the Grub menu? but I doubt it will work: deleted comments state you still get the Error unknown command Linux16 error.


I also found this:

The issue is not 16 or 32 bits boot protocol, the main issue is the numerous BIOS calls required to do the memory initialization. EFI is a nice idea, but the first time I heard "EFI will replace BIOS in the upcoming months !!!" was in 2002 at an Intel Developer's forum. 10 years after, UEFI replaced EFI but BIOS is still present in 99% of PC Motherboard. It's an hard task to build an EFI-readyMemtest86+, with massive code rewrite, and that version will not be compatible with legacy BIOS. I will not consider supporting two forks at the same time, so when Memtest86+ will switch to EFI, the BIOS version will be discontinued. When BIOS will be not be available in standard PC components, I'll start working on en EFI revision.

1
  • 1
    So, in order to use memtest86+ (and see it in your boot menu) you'll probably have to set your system to boot in legacy BIOS mode. In my case, I also had to recreate my Ubuntu live USB drive after giving it a DOS/MBR partition table. (My computer refused to boot a GPT partition in legacy mode.)
    – ʇsәɹoɈ
    Jul 23, 2015 at 4:15
6

A beta version of the proprietary PassMark MemTest86 5.0 for EFI is now available:

http://www.memtest86.com/download.htm

This should be launchable from GRUB, rEFInd, gummiboot, etc., although you may need to explicitly add a menu entry to do so. (This obviously hasn't yet been built into shipping distributions as I write.)

1
  • Memtest86+ has a UEFI version these days as well...
    – rogerdpack
    Dec 27, 2022 at 0:08
3

I wanted an Ubuntu Live-USB keydrive with MemTest86 for 64-bit, Full-UEFI systems and I seem to have managed it.

This is an old question-post but this still seems to be a problem. (It took me some time to arrive at a working solution.)


Here is what I did:

I Made a New Ubuntu Keydrive

On a Windows 10 workstation, I used the latest Rufus to image Ubuntu 17.04 (x64) Desktop onto a 4GB USB keydrive. In Rufus, I chose:

  • GPT for UEFI partitioning
  • FAT32 filesystem (I'd prefer exFAT but Rufus v2.17 would not apply an ISO w/o FAT32)
  • ISO Image instead of FreeDOS at the Create a bootable disk using option

I Copied MemTest Files Onto It

I downloaded PassMark MemTest86 a UEFI-compatible (closed-source) tool available for free. Then I:

  • Extracted the downloaded memtest86-usb.zip to folder .\memtest86-usb
  • Found the extracted disk image at .\memtest86-usb\memtest86-usb.img (152.7MiB)
  • Copied it to the \boot folder of my new Ubuntu keydrive (mounted at, say, drive E:) to create:
    • E:\boot\memtest86-usb.img

I Configured the Bootloader

Finally, I modified the boot options menu on the keydrive. Ubuntu 17.04 uses the grub2 bootloader. It's menu options list is configured in E:\boot\grub\grub.cfg. I added the following lines to the end of that file (creating a new boot-options list-entry):

menuentry "MemTest86 (long load time, be patient)" {
    loopback loop /boot/memtest86-usb.img
    chainloader (loop,1)/EFI/BOOT/BOOTX64.efi
}

Notes:

  1. Windows notepad should NOT be used for this edit. It plays poorly with "unix mode" text files and will wreck the new-line characters if you try to save any changes.
  2. BOOTX64.efi is a 64-bit EFI executable binary image. There is a 32-bit EFI file available inside the filesystem "looped-back" to memtest86-usb.img. It is named BOOTIA32.efi. You could create another entry for this but I did not need it.
  3. It does seem to take a long time to go from selecting this entry in grub2 to seeing any positive feedback on screen. On my Intel Atom X5-Z8350-based machine, the screen goes black for, maybe, 30 seconds before the MemTest86 process began to visibly boot up. Then, a dozen system-scanning steps run before you see that familiar MemTest screen. (This could be for a host of reasons, e.g. emulated filesystem, multiple bootloader handoff phases.)

While navigating this problem-space, I took useful cues from this answer on a question similar enough to be considered a duplicate. (I do not have the system cred to mark it as such.) And, when selecting "bootable USB-keydrive creation software", I gained some reassurance from various resources regarding the Rufus tool.

3

I was able to run memtest86+ from a Ubuntu-18.04 live-USB by pressing the one-time boot-menu key on bootup, and selecting the non-UEFI USB entry from the list (after reading the answers here that it works with non-UEFI only).

2
  • For me, I first had to go into the BIOS settings and make sure it was set to boot in Legacy mode, not UEFI mode. Strangely a different BIOS setting about USB (not under Boot menu) had to be left at UEFI, otherwise it didn't see the USB stick during boot at all. I also had to do 2 things, one of which must have worked to actually give me the Grub menu, after choosing the one-time boot from USB: I held shift, and when I saw 2 small icons at the bottom of the screen, I pressed a random alpha key. Finally I got the grub menu with memtest+ on it!
    – Starman
    Jul 3, 2019 at 20:59
  • Thanks this helped. I enabled "UEFI and legacy" (legacy means BIOS I assume) and then booted, it didn't show the "test memory" option, I then selected "choose next boot device" and it then showed the same grub memory but it had a test memory option now, Ubuntu 22.10
    – rogerdpack
    Dec 27, 2022 at 0:09
1

I was able to run memtest86+ with Ubuntu 16.04 Server USB stick with option Test Memory. This page shows the Boot options:

The desktop version showed only option to Try Ubuntu or Install Ubuntu as in this page:

1
  • I was able to find this option as well with an Ubuntu 18.04 Desktop USB stick. Oddly, I also tried this with an 20.04 image, and it appeared to work, but memtest86+ would freeze quite quickly no matter what. The 18.04 image had no such problem. Both have version 5.01. Strange. It could be that I used two different USB sticks, or it could be that my RAM has some subtle fault. Hard to be sure what's going on.
    – pattivacek
    Jun 10, 2021 at 7:15
0

imgpath=memtest86-usb.img grubcfg=/tftpboot/grub/grub.cfg loop=$(losetup --show -Pf ${imgpath}) mkdir -p /mnt/memtest mount ${loop}p2 /mnt/memtest cp /mnt/memtest/EFI/BOOT/BOOTX64.efi /tftpboot/memtest.efi umount /mnt/memtest losetup -d ${loop} cat << EOF >> $grubcfg menuentry 'MemTest86 (x64)' { chainloader /memtest.efi } EOF

This is essentially what I did and it works OK. The only issue I have is some machines have super high resolutions and is is really small.

Thank you so much for the idea of getting this working. After finding your post I searched for /EFI/BOOT/BOOTX64.efi with memtest and found essentially what I posted as instructions

1
  • I'm as a mere mortals can't understand what you did here... :)
    – rogerdpack
    Dec 27, 2022 at 0:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .