How to create a bootable Memtest86+ on USB flash drive?

Skip Memtest86+! Go to Memtest86! Run! Done!

I've done what was asked of me, and according to the authors website. But it didn't work anyway. So what I have done is I used another Memtest 86 program. The original Memtest86 line, now up in version 5 (new free software license), and owned by PassMark. It was a breeze using it and making the UFD bootable. It's as simple as ABC.

  1. Go to Memtest86.com.
  2. Click on the link "Image for creating bootable USB Drive". This will download the file http://www.memtest86.com/downloads/memtest86-usb.zip for Windows.
  3. Unpack the ZIP file.
  4. Run the imageUSB.exe file and follow onscreen instructions.

This should work on both BIOS and UEFI BIOS systems. On UEFI systems you can even use the mouse pointer to navigate.

Screens

a b c d e f

Log

12:38:47:845 - PassMark Software - imageUSB v1.1.1013
12:38:47:845 - Getting list of available removable USB drives...
12:38:47:845 - Inspecting Drive C:\...
12:38:47:845 - Inspecting Drive D:\...
12:38:47:845 - Inspecting Drive E:\...
12:38:47:861 - Inspecting Drive F:\...
12:38:47:861 - Inspecting Drive G:\...
12:38:47:861 - Ready...
12:39:56:377 - Drive G:\ added to queue.
12:39:56:392 - Note: Disk image was not created with imageUSB previously.
     Image file does not contain a valid checksum. Verification will be calculated from source image.
12:39:56:423 - Writing image C:\Users\support24\Downloads\memtest86-usb\memtest86-usb.img to G:\ (drive 1)
12:40:57:155 - Drive G:\ write completed.
12:40:57:623 - Verifying written image on Drive G:\
12:41:08:373 - Drive G:\ checksum completed.
12:41:08:373 - MD5 matched. (G:\).
     MD5 (Drive) : C7C53FCA0E9C1A6751FBB36E205D4F4A
     MD5 (Image) : C7C53FCA0E9C1A6751FBB36E205D4F4A
12:41:08:389 - SHA1 matched. (G:\).
     SHA1 (Drive) : 220A1073EE96D489AB4E9A44E90E7670AFE7EE03
     SHA1 (Image) : 220A1073EE96D489AB4E9A44E90E7670AFE7EE03

You can see it had some issues with checksums but it was false alarm, verification passed.


For non-EFI machines and EFI implementations that do not not support memtest86.

Tools required

parted, dosfstools, gzip, tar, wget

Define USB device, memtest86+ version and SYSLINUX version

USB=/dev/sdX # where X corresponds to USB device
MEM=5.31b
SYS=6.03

Download URLs

MEMTESTB=http://www.memtest.org/download/${MEM}/memtest86+-${MEM}.bin.gz
SYSLINUX=https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-${SYS}.tar.xz

Partition USB and create 4MB FAT16 filesystem

parted -s ${USB} mklabel msdos mkpart primary fat16 2048s 5mib set 1 boot on
sync; sync; sync
mkfs.vfat -nMT86PLUS ${USB}1
mount ${USB}1 /mnt

Download and install memtest86+ binary

wget -qO- ${MEMTESTB} | gzip -d > /mnt/mt86plus

Create SYSLINUX configuration file to start memtest86+ binary

cat >/mnt/syslinux.cfg <<'!'
PROMPT 0
TIMEOUT 0
DEFAULT mt86plus
LABEL mt86plus
  kernel mt86plus
!

Download SYSLINUX, install MBR code and install SYSLINUX to USB

wget -qO- ${SYSLINUX} | tar -xJpf -
dd bs=440 if=syslinux-${SYS}/bios/mbr/mbr.bin of=${USB}
syslinux-${SYS}/bios/linux/syslinux -i -s ${USB}1
umount /mnt

Cleanup

rm -rf syslinux-${SYS}