Có, bạn có thể thực hiện điều này bằng cách thêm một mục menu vào GRUB
menu bộ tải khởi động.
Bạn có thể thêm một mục menu GRUB tùy chỉnh bằng cách chỉnh sửa /etc/grub.d/40_custom
,
Ví dụ về menu tùy chỉnh :
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Trisquel ISO" {
set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
initrd (loop)/casper/initrd
}
Hướng dẫn & Giải thích:
Lệnh set
được sử dụng để lưu trữ đường dẫn của tệp ISO vào một biến ở đây isofile
.
loopback
được sử dụng để tạo một thiết bị từ hình ảnh hệ thống tập tin. Để làm điều đó, cần phải chỉ định thiết bị và tập tin hình ảnh. Ở đây chúng tôi sử dụng (hd0,5)$isofile
trong đó (hd0,5)
đại diện cho phân vùng thứ năm của đĩa.
- Những điểm cần lưu ý: Trong
(hd0,5)
,
1 st chữ số đại diện cho số thiết bị mà bắt đầu từ 0
(ở đây: 0 = 1 st thiết bị) và
2 nd chữ số đại diện cho số phân vùng mà bắt đầu từ 1
(ở đây 5 = 5 thứ partition).
Điều đó có nghĩa là/dev/sda5
- Và biến
$isofile
có đường dẫn của tệp ISO. Vì vậy, cuối cùng nó trở thành (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
.
- Để biết thêm thông tin, hãy truy cập: Cách chỉ định thiết bị và tệp .
linux
lệnh được sử dụng để tải kernel Linux ( vmlinuz ) từ tệp. Đặt đường dẫn của nhân Linux trong ISO.
Đọc / trích xuất nội dung của ISO để lấy đường dẫn của ví dụ kernel:
$ 7z l trisquel_7.0_i686.iso | grep vmlinu
2014-10-29 21:41:43 ..... 5841680 5841680 casper/vmlinuz
2014-11-03 00:45:09 ..... 5844176 5844176 casper/vmlinuz.netinst
vì vậy, /casper/vmlinuz
đã được sử dụng ở đây.
initrd
lệnh được sử dụng để tải một ramdisk ban đầu cho hình ảnh hạt nhân Linux và đặt các tham số thích hợp trong vùng thiết lập Linux trong bộ nhớ.
- initrd là một lược đồ để tải một hệ thống tập tin gốc tạm thời vào bộ nhớ. Đặt đường dẫn
initrd
trong ISO.
Đọc / trích xuất nội dung của ISO để có đường dẫn initrd
:
$ 7z l trisquel_7.0_i686.iso | grep initrd
2014-11-03 00:45:19 ..... 16851900 16851900 casper/initrd
2014-11-03 00:45:09 ..... 9398592 9398592 casper/initrd.netinst
Tham số bổ sung như boot=casper iso-scan/filename=$isofile noprompt noeject
có thể dành riêng cho bản phân phối GNU / Linux và khác nhau đối với một họ Linux khác. Bạn có thể tìm thấy một số cấu hình cho gia đình / phân phối khác nhau từ đây .
Lưu ý: Một số bản phân phối sử dụng initrd.gz
hoặc initrd.lz
tùy thuộc vào thuật toán / nén được sử dụng.
Sau khi chỉnh sửa /etc/grub.d/40_custom
, GRUB cần được cập nhật bằng update-grub2
lệnh. Khi khởi động lại, bạn sẽ tìm thấy menu tùy chỉnh bạn đã thêm trên màn hình GRUB. Và bạn có thể sử dụng môi trường Live của bản phân phối GNU / Linux.
Để thực hiện cài đặt từ ISO, trình cài đặt có thể cần ngắt kết nối mọi phân vùng được gắn; tức là nói một hệ thống khác được gắn vào /isodevice
, sau đó bạn có thể umount -l /isodevice
.