Поддерживает ли Grub2 файлы Memtest86+ iso? Если это поддерживается: Как я могу написать запись grub в grub.cfg для загрузки iso файла Memtest86+?
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. Однако проще использовать другие варианты.
- Загрузите memtest86+-4.20.bin (последнее по состоянию на 11/2011)
- Поместите его в раздел /boot. (Так же, как ваши ядра Linux)
- Добавьте следующее в /etc/grub.d/40_custom (он должен быть на три линии, как это)
menuentry "Memtest 86+" { linux16 /memtest86+.bin }
Финал. Обнови свой grub и перезагрузись
sudo grubupdate && sudo reboot