Grub2是否支持Memtest86 + iso文件?


5

Grub2是否支持Memtest86 + iso文件?如果支持:如何在grub.cfg中编写grub条目以启动Memtest86 + iso文件?


Grub本身不支持ISO。典型的解决方案是使用GRUB加载Linux安装并使用它的CDROM驱动程序加载ISO。
surfasb

Answers:


2

有一些方法可以将ISO添加到grub2配置中。但是,使用其他选项更容易。

  1. 下载 的Memtest86 + -4.20.bin (最新截至2011年11月)
  2. 将它放在/ boot分区中。 (就像你的Linux内核一样)
  3. 将以下内容添加到/etc/grub.d/40_custom(它应该是三行,比如 这个
menuentry "Memtest 86+" { 
linux16 /memtest86+.bin
}

最后。更新您的grub并重新启动

sudo grubupdate && sudo reboot

gparted(这是你可能想要作为启动选项的其他东西)详细解释了如何添加许多可用版本(iso,vmlinux)的Grub2菜单项。 gparted.sourceforge.net/livehd.php
earthmeLon

3

这个派对已经晚了六年,但是看到我无法找到答案,这就是我所做的工作。

  • 挂载memtest ISO
  • 看着 挂载点 的/isolinux/isolinux.cfg
  • 将isolinux配置转换为GRUB2配置

请注意,该方法适用于其他ISO,而不仅仅是Memtest86 +。

执行上述操作会产生多个isolinux配置,具体取决于您希望如何启动Memtest86 +,因此最终会出现多个菜单条目:

submenu "> MemTest86+ 7.2" {
    menuentry "MemTest86" {
        set isofile="/Memtest86-7.2.iso"
        echo "Mounting Memtest86-7.2.iso"
        loopback loop $isofile
        echo "Loading kernel"
        linux16 (loop)/isolinux/memtest iso-scan/filename=$isofile
        echo "Starting MemTest86+ 7.2"
    }

    menuentry "MemTest86 (one pass)" {
        set isofile="/Memtest86-7.2.iso"
        echo "Mounting Memtest86-7.2.iso"
        loopback loop $isofile
        echo "Loading kernel"
        linux16 (loop)/isolinux/memtest iso-scan/filename=$isofile onepass
        echo "Starting MemTest86+ 7.2"
    }

    menuentry "MemTest86 (btrace)" {
        set isofile="/Memtest86-7.2.iso"
        echo "Mounting Memtest86-7.2.iso"
        loopback loop $isofile
        echo "Loading kernel"
        linux16 (loop)/isolinux/memtest iso-scan/filename=$isofile btrace
        echo "Starting MemTest86+ 7.2"
    }

    menuentry "MemTest86 (single CPU)" {
        set isofile="/Memtest86-7.2.iso"
        echo "Mounting Memtest86-7.2.iso"
        loopback loop $isofile
        echo "Loading kernel"
        linux16 (loop)/isolinux/memtest iso-scan/filename=$isofile maxcpus=1
        echo "Starting MemTest86+ 7.2"
    }

    menuentry "MemTest86 (serial output)" {
        set isofile="/Memtest86-7.2.iso"
        echo "Mounting Memtest86-7.2.iso"
        loopback loop $isofile
        echo "Loading kernel"
        linux16 (loop)/isolinux/memtest iso-scan/filename=$isofile console=ttyS0,9600
        echo "Starting MemTest86+ 7.2"
    }
}

谢啦。那不晚,这非常有帮助,恰好在当下! ;-)
xakepp35
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.