Grub2 có hỗ trợ các tệp iso Memtest86 + không?


5

Grub2 có hỗ trợ các tệp iso Memtest86 + không? Nếu nó được hỗ trợ: Làm thế nào tôi có thể viết một mục grub trong grub.cfg để khởi động tệp iso Memtest86 +?


Grub không hỗ trợ ISO nguyên bản. Giải pháp điển hình là sử dụng GRUB để tải bản cài đặt Linux và sử dụng trình điều khiển CDROM để tải ISO.
surfasb

Câu trả lời:


2

Có nhiều cách để thêm ISO vào cấu hình grub2. Nó dễ dàng hơn để sử dụng các tùy chọn khác, tuy nhiên.

  1. Tải về memtest86 + -4.20.bin (Mới nhất tính đến tháng 11/2011)
  2. Đặt nó trong phân vùng / boot của bạn. (Giống như nhân Linux của bạn)
  3. Thêm dòng sau vào /etc/grub.d/40_custom (Nó phải nằm trên ba dòng, như điều này )
menuentry "Memtest 86+" { 
linux16 /memtest86+.bin
}

Sau cùng. Cập nhật grub của bạn và khởi động lại

sudo grubupdate && sudo reboot

gparted (là một thứ khác mà bạn có thể muốn có tùy chọn khởi động) có một lời giải thích chi tiết về cách thêm các mục menu Grub2 của nhiều bản dựng có sẵn (iso, vmlinux). gparted.sourceforge.net/livehd.php
earthmeLon

3

Sáu năm sau bữa tiệc này, nhưng khi tôi không thể tìm thấy câu trả lời ở bất cứ đâu, đây là những gì tôi đã làm để giải quyết nó.

  • Gắn kết ISO
  • Nhìn vào điểm gắn kết /isolinux/isolinux.cfg
  • Chuyển đổi cấu hình isolinux sang cấu hình GRUB2

Lưu ý rằng phương pháp đó hoạt động cho các ISO khác, không chỉ Memtest86 +.

Thực hiện các thao tác trên mang lại nhiều cấu hình isolinux tùy thuộc vào cách bạn muốn khởi động Memtest86 +, do đó, bạn kết thúc với nhiều menu:

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"
    }
}

Cảm ơn, anh bạn. Đó không phải là muộn, điều đó rất hữu ích, chỉ trong thời điểm hiện tại! ;-)
xakepp35
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.