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?
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.
Memtest86+
If you boot your computer in BIOS mode (alias CSM alias legacy mode), memtest86+ works.
But if you boot your computer in UEFI mode, memtest86+ will not work, because it is a 16-bit program.
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
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
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.
(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.
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
which can be extracted directly in linux by mkusb,
dus
and Disks aliasgnome-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
According to this bug report comment 2 and 3 state:
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:
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.)
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
forUEFI
partitioningFAT32
filesystem (I'd prefer exFAT but Rufus v2.17 would not apply an ISO w/o FAT32)ISO Image
instead ofFreeDOS
at theCreate a bootable disk using
optionI Copied MemTest Files Onto It
I downloaded PassMark MemTest86 a UEFI-compatible (closed-source) tool available for free. Then I:
memtest86-usb.zip
to folder.\memtest86-usb
.\memtest86-usb\memtest86-usb.img
(152.7MiB)\boot
folder of my new Ubuntu keydrive (mounted at, say, driveE:
) 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 thegrub2
bootloader. It's menu options list is configured inE:\boot\grub\grub.cfg
. I added the following lines to the end of that file (creating a new boot-options list-entry):Notes:
notepad
should NOT be used for this edit. It plays poorly with "unix mode" text files and will wreck thenew-line
characters if you try to save any changes.BOOTX64.efi
is a64-bit
EFI
executable binary image. There is a32-bit
EFI
file available inside the filesystem "loop
ed-back" tomemtest86-usb.img
. It is namedBOOTIA32.efi
. You could create another entry for this but I did not need it.grub2
to seeing any positive feedback on screen. On myIntel Atom X5-Z8350
-based machine, the screen goes black for, maybe, 30 seconds before theMemTest86
process began to visibly boot up. Then, a dozen system-scanning steps run before you see that familiarMemTest
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.
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).
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:
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