6

Поддерживает ли Grub2 файлы Memtest86+ iso? Если это поддерживается: Как я могу написать запись grub в grub.cfg для загрузки iso файла Memtest86+?

2 ответа2

4

Шесть лет опоздали на эту вечеринку, но, поскольку я нигде не мог найти ответ, вот что я сделал, чтобы решить это.

  • Смонтируйте 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"
    }
}
3

Существуют способы добавления ISO в конфигурации grub2. Однако проще использовать другие варианты.

  1. Загрузите memtest86+-4.20.bin (последнее по состоянию на 11/2011)
  2. Поместите его в раздел /boot. (Так же, как ваши ядра Linux)
  3. Добавьте следующее в /etc/grub.d/40_custom (он должен быть на три линии, как это)
menuentry "Memtest 86+" { 
linux16 /memtest86+.bin
}

Финал. Обнови свой grub и перезагрузись

sudo grubupdate && sudo reboot

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .