如何将Memtest86 +选项添加回Grub菜单?

如果使用UEFI请参阅此问题, “如果我使用UEFI,我可以启动memtest86 +吗?”

在我的联想B570上安装了64位版本的Ubuntu 12.04后,我遇到了与安装11.10时遇到的问题,Grub与uEFI系统不能很好地兼容。 我使用与上次相同的技术来解决问题(使用Super Grub Disc LiveCD会话来修复Grub)和我的系统在Ubuntu和Windows 7之间愉快的双启动

但是现在当我启动Grub菜单时才会显示

  • Ubuntu,Linux 3.2.0-24-通用
  • Ubuntu,Linux 3.2.0-24-通用(恢复模式)
  • 以前的Linux版本
  • Windows 7(加载程序)(在/ dev / sda1上)
  • Windows恢复环境(加载程序)(在/ dev / sda4上)

我不再看到使用Memtest86 +的选项,之前已经检查过Ubuntu软件中心我可以看到该软件包已安装,但是如何让选项再次运行它出现在Grub菜单中?

我试过了:

sudo update-grub 

这没有任何区别。

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

结果是:

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

进入

 ls /etc/grub.d/ 

结果是:

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

尝试打开终端并运行

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

检查它是否存在

 grep memtest /boot/grub/grub.cfg 

就像我禁用它一样

 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+ ### 

如果不存在,您可以尝试创建文件,在终端中使用nano

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

或者与gui编辑

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

填写

 #!/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/^/\t/")" 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\n' "${prepare_boot_cache}" cat << EOF $LX $MEMTESTPATH } menuentry "Memory test (memtest86+, serial console 115200)" { EOF printf '%s\n' "${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\n' "${prepare_boot_cache}" # cat << EOF # multiboot $MEMTESTPATH #} #menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" { #EOF # printf '%s\n' "${prepare_boot_cache}" # cat << EOF # multiboot $MEMTESTPATH console=ttyS0,115200n8 #} #EOF #fi 

确保之后运行chmod + x命令。

我有点担心它会丢失 - 你还有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 

我有同样的问题,由于我的笔记本电脑上有EFI,ubuntu发货的memtest86 +版本4.x将无法正常工作,因为EFI仅受版本5及更高版本的支持。

最新版本是非GPL版本,必须从memtest网站手动下载(它们有ISO和USB图像),但至少它们是免费的。

我没有设法在2天内完成这项工作,然后我检查了Synaptic的grub包……似乎是,没有包grub-imageboot是问题的根源。

 sudo apt-get install grub-imageboot 
 apt-get install memtest86+ 

这将自动重新配置grub并将条目添加到启动菜单。

如果你得到错误memtest86+ is already the newest version然后使用sudo apt-get install --reinstall memtest86+

如果所有其他方法都失败了,您可以获得可以刻录到CD并从中启动的可引导ISO 。 当然,如果你正在启动UEFI,你应该在这里。