Monday, April 29, 2024
 Popular · Latest · Hot · Upcoming
31
rated 0 times [  31] [ 0]  / answers: 1 / hits: 101602  / 1 Year ago, sun, december 25, 2022, 9:26:21

If using UEFI Please see this question, "Can I boot memtest86+ if I'm using UEFI?"



After having installed the 64bit version of Ubuntu 12.04 on my Lenovo B570 I ran into the same problems I had when installing 11.10 with Grub not playing nicely with a uEFI system. I used the same technique as last time to solve the problem (using a Super Grub Disc LiveCD session to repair Grub) and my system happily dual boots between Ubuntu and Windows 7



However now when I boot up the Grub menu only displays




  • Ubuntu, with Linux 3.2.0-24-generic

  • Ubuntu, with Linux 3.2.0-24-generic (recovery mode)

  • Previous Linux versions

  • Windows 7 (loader) (on /dev/sda1)

  • Windows Recovery Environment (loader) (on /dev/sda4)



I no longer see the option to use Memtest86+ which was there previously, having checked in the Ubuntu Software Center I can see that the package is installed, but how to I make the option to run it once again appear in the Grub menu?



I've tried:



sudo update-grub 


which doesn't make any difference.



sudo chmod +x /etc/grub.d/20_memtest86+ 


results in:



chmod: cannot access /etc/grub.d/20_memtest86+': No such file or directory



and entering



ls /etc/grub.d/


results in:



00_header        10_linux      30_os-prober  41_custom
05_debian_theme 20_linux_xen 40_custom README

More From » grub2

 Answers
2

Try opening a terminal and running



sudo chmod +x /etc/grub.d/20_memtest86+
sudo update-grub


Check to see if it's there



grep memtest /boot/grub/grub.cfg


Just done the same as I had it disabled



hob@hob-HP-dx5150-MT:~$ cat /boot/grub/grub.cfg |grep memtest
hob@hob-HP-dx5150-MT:~$ sudo chmod +x /etc/grub.d/20_memtest86+
[sudo] password for hob:
hob@hob-HP-dx5150-MT:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-24-generic
Found initrd image: /boot/initrd.img-3.2.0-24-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 11.10 (11.10) on /dev/sda6
Found Trisquel 5.5 (5.5) on /dev/sda8
Found Ubuntu 12.04 LTS (12.04) on /dev/sda9
done
hob@hob-HP-dx5150-MT:~$ cat /boot/grub/grub.cfg |grep memtest
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
### END /etc/grub.d/20_memtest86+ ###


You could try creating the file if it's not there, using nano in a terminal



sudo nano /etc/grub.d/20_memtest86+


or with a gui editor



gksudo gedit /etc/grub.d/20_memtest86+


Fill it with



#!/bin/sh
set -e

if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then
. /usr/lib/grub/grub-mkconfig_lib
LX=linux16
elif [ -f /usr/lib/grub/update-grub_lib ]; then
. /usr/lib/grub/update-grub_lib
LX=linux
else
# no grub file, so we notify and exit gracefully
echo "Cannot find grub config file, exiting." >&2
exit 0
fi

# We can't cope with loop-mounted devices here.
case ${GRUB_DEVICE_BOOT} in
/dev/loop/*|/dev/loop[0-9]) exit 0 ;;
esac

prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/ /")"

if test -e /boot/memtest86+.bin ; then
MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" )
echo "Found memtest86+ image: $MEMTESTPATH" >&2
cat << EOF
menuentry "Memory test (memtest86+)" {
EOF
printf '%s
' "${prepare_boot_cache}"
cat << EOF
$LX $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
EOF
printf '%s
' "${prepare_boot_cache}"
cat << EOF
$LX $MEMTESTPATH console=ttyS0,115200n8
}
EOF
fi

#if test -e /boot/memtest86+_multiboot.bin ; then
# MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+_multiboot.bin" )
# echo "Found memtest86+ multiboot image: $MEMTESTPATH" >&2
# cat << EOF
#menuentry "Memory test (memtest86+, experimental multiboot)" {
#EOF
# printf '%s
' "${prepare_boot_cache}"
# cat << EOF
# multiboot $MEMTESTPATH
#}
#menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" {
#EOF
# printf '%s
' "${prepare_boot_cache}"
# cat << EOF
# multiboot $MEMTESTPATH console=ttyS0,115200n8
#}
#EOF
#fi


Make sure to run the chmod +x command on it afterwards.



I'd be a bit concerned that it's missing though - do you have everything else in grub.d ?



ls /etc/grub.d/


00_header 10_linux.bak 20_memtest86+ 41_custom
05_debian_theme 10_linux.dpkg-old 30_os-prober README
10_linux 20_linux_xen 40_custom

[#39029] Monday, December 26, 2022, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ingsta

Total Points: 391
Total Questions: 103
Total Answers: 124

Location: Bonaire
Member since Wed, Mar 29, 2023
1 Year ago
ingsta questions
Sun, Oct 23, 22, 01:42, 2 Years ago
Sat, Oct 30, 21, 11:27, 3 Years ago
Sun, Nov 28, 21, 12:49, 2 Years ago
;