Memtest86+ options are missing in Grub menu
I had the same problem as @coversnail here: How can I add the Memtest86+ options back to the Grub menu?
The problem is: I just can choose between older kernel versions and the actual Ubuntu version in GRUB. There are no other options.
I want to run memtest86+
. It is installed and in /etc/grub.d/
, but it is not in GRUB itself. I am kind of confused.
Solution 1:
Try Grub Customizer. Grub Customizer is a graphical settings manager for GRUB2.
To install, just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command(s) below:
sudo add-apt-repository ppa:adabbas/1stppa
sudo apt-get update
sudo apt-get install grub-customizer
Or just check out their website.
To add the memtest entries see images below, and the text.
First Entry
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 b4d22d74-d1db-44c3-a834-e879263662f5
else
search --no-floppy --fs-uuid --set=root b4d22d74-d1db-44c3-a834-e879263662f5
fi
linux16 /boot/memtest86+.bin
Second Entry
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 b4d22d74-d1db-44c3-a834-e879263662f5
else
search --no-floppy --fs-uuid --set=root b4d22d74-d1db-44c3-a834-e879263662f5
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
Note: Now the above information is correct, but keep in mind that memtest will not work in grub2-uefi . This is because UEFI does not support launching 16-bit binaries and memtest is a 16-bit binary. Thats also the reason why there is no linux16 command/module in grub2 uefi.
Also you may want to look at memtest86+ fails on efi systems.
Solution 2:
I know this is an old post, but it still comes up in searches, so I'm going to give a solution.
Most distros supply memtest86+. It is not compatible with UEFI, because UEFI does not support 16 bit . However, PassMark Memtest86 (ver. 5 or later) supports UEFI.
First, obtain the memtest files. Download the USB boot image. http://memtest86.com/download.htm Next, extract the files from the image. I burned the image to a flash drive to facilitate installing on multiple computers.
Second, install memtest86. I made a 500MB partition at the end of my HDD, and formatted to FAT32. Then copied all files from flash drive to this partition. Note: it is possible to install to your EFI directory, but files need to be renamed to avoid overwriting existing boot files.
Third, configure grub2-efi menu entry. There are many ways to add an entry, but the safest way that survives update-grub follows. Using root privileges create file /etc/grub.d/39_memtest, and set it executable. (Note: changing the number in the file name changes the position it appears in the grub menu. DO NOT make it lower than 6 to insure that header and theme run first)
Next make the contents of the file:
#!/bin/sh
echo "Adding Memtest86" >&2
exec tail -n +3 $0
menuentry "Memtest86" {
chainloader (hdx,y)/efi/boot/bootx64.efi
}
EOF
*Replace (hdx,y) with your appropriate HDD and partition information.
Then run update-grub You should now have a menu entry that boots into Memtest86