Clover Bootloader hỗ trợ khởi động các tệp tin EFI. Bài viết này sẽ hướng dẫn làm thế nào để boot Ubuntu và Linux Mint ISO từ Clover Bootloader.

Tổng quan: Clover Bootloader hỗ trợ boot các tệp tin EFI, trong bài viết này, tôi sẽ thêm tệp tin EFI của Grub2 (grubx64.efi) vào Clover Bootloader. Sau đó tôi sẽ cấu hình cho Grub2 để boot Ubuntu và Linux Mint trực tiếp từ tệp tin ISO mà không cần phải lựa chọn trình đơn. Ngoài ra, tôi sẽ hướng dẫn làm thế nào để cấu hình Grub2 để khởi động các hệ điều hành được cài đặt trên ổ đĩa của bạn. Bằng cách này, bạn có thể dual boot Hackintosh, Windows, Ubuntu và nhiều hệ điều hành Linux khác từ Clover. Đầu tiên, cài Clover Bootloader nếu bạn chưa.

Boot Ubuntu và Linux Mint ISO từ Clover Bootloader

Thêm Grub2 vào Clover Bootloader

Người dùng AIO Boot sẽ nhìn thấy 2 biểu tượng Grub2 và rEFInd để khởi động chúng từ Clover. Dưới đây là cách mà tôi đã làm.

Bạn có thể thêm Grub2 vào Clover Bootloader bằng cách sửa đổi tệp tin cấu hình của nó (\EFI\CLOVER\config.plist). Mở tệp tin config.plist và tìm các dòng sau:

<key>GUI</key>
<dict>
	<key>#ConsoleMode</key>
	<string>0</string>
	<key>Custom</key>
	<dict>
		<key>Entries</key>
		<array>

Loại bỏ dấu # trong các dòng sau đây nếu nó có chứa:

<key>#Custom</key>
<key>#Entries</key>

Thêm Grub2 vào Clover Bootloader bằng cách thêm các dòng sau vào dưới các dòng ở trên như đoạn mã sau:

<key>GUI</key>
<dict>
	<key>#ConsoleMode</key>
	<string>0</string>
	<key>Custom</key>
	<dict>
		<key>Entries</key>
		<array>
			<dict>
				<key>Disabled</key>
				<false/>
				<key>Hidden</key>
				<false/>
				<key>Hotkey</key>
				<string>G</string>
				<key>InjectKexts</key>
				<false/>
				<key>NoCaches</key>
				<false/>
				<key>Path</key>
				<string>\EFI\UbuntuISO\grubx64.efi</string>
				<key>Title</key>
				<string>Grub2 UEFI</string>
				<key>Type</key>
				<string>Linux</string>
			</dict>

Thêm rEFInd vào Clover Bootloader, rEFInd tự động phát hiện Clover nhưng Clover không. Để cài đặt rEFInd, chỉ cần tải tệp tin refind-bin-xx.YY.zz.zip và trích xuất thư mục refind vào thư mục EFI trên ổ đĩa của bạn.  Đặt thư mục refind ngang hàng với thư mục CLOVER và trong thư mục này có chứa các tệp tin refind_x64.efi, refind_ia32.efirefind_aa64.efi.

<dict>
	<key>Disabled</key>
	<false/>
	<key>Hidden</key>
	<false/>
	<key>Hotkey</key>
	<string>R</string>
	<key>InjectKexts</key>
	<false/>
	<key>NoCaches</key>
	<false/>
	<key>Path</key>
	<string>\EFI\refind\refind_x64.efi</string>
	<key>Title</key>
	<string>rEFInd</string>
	<key>Type</key>
	<string>Linux</string>
	<key>Image</key>
	<string>\EFI\refind\icons\os_refind.png</string>
</dict>

Bằng cách thêm các entry như trên, bạn có thể thêm rất nhiều tệp tin EFI mà không cần phải nhập đường dẫn của nó trong UEFI Shell.

  • Xem thêm về entry tùy chỉnh tại Clover Wiki.
  • Clover Bootloader có khả năng giả lập UEFI, bạn có thể khởi động các tệp tin EFI dù cho bạn đang sử dụng Clover Legacy.
  • Sửa lại cho đúng đường dẫn tệp tin EFI của bạn (giá trị của Path).
  • Bạn có thể tùy chỉnh biểu tượng (giá trị của Image). Trong entry của rEFInd, tôi sử dụng trực tiếp biểu tượng của nó tại đường dẫn \EFI\refind\icons\os_refind.png. Có thể giao diện Clover Bootloader của bạn sẽ có chứa các biểu tượng mà bạn cần.
  • Bạn có thể đặt các tệp tin trên bất cứ ổ đĩa, nếu bạn muốn chỉ định một ổ đĩa cụ thể, hãy khai báo khóa Volume.
  • Bạn cũng có thể thêm Clover Bootloader vào Grub2.

Boot Ubuntu và Linux Mint ISO từ Clover

Sau khi đã thêm Grub2 vào Clover, bây giờ bạn chỉ cần cấu hình để Grub2 khởi động trực tiếp vào Ubuntu và Linux Mint.

Tôi đã biên dịch một tệp tin grubx64.efi mà bạn có thể tải về ở đây. Clover không còn phát triển phiên bản 32-bit, vì vậy ở đây tôi chỉ sử dụng Grub2 EFI 64-bit để khởi động các hệ điều hành 64-bit.

Tiếp theo, đặt tệp tin grubx64.efi vào một đường dẫn nào đó, bạn có thể sao chép thành nhiều tệp tin và đặt mỗi tệp tin trong một thư mục riêng biệt. Tạo tệp tin cấu hình cho tệp grubx64.efi, tệp tin này được đặt tên là grub.cfg và đặt trong cùng thư mục với tệp tin grubx64.efi. Sau đó mở tệp tin grub.cfg (đã được bao gồm sẵn trong tải về) và thêm các mã mà bạn muốn.

Thêm Ubuntu và Linux Mint vào Clover

Boot Ubuntu và Linux Mint từ tệp tin ISO:

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}
set gfxmode=1024x768x32,1024x768x24,1024x768x16,1024x768,auto
set gfxpayload=keep
load_video
insmod gfxterm
terminal_output gfxterm

set timeout=0
menuentry "Linux ISO" {
	set iso_path="/EFI/UbuntuISO/ubuntu-18.04-desktop-amd64.iso"
	export iso_path
	search -s root -f ${iso_path}
	loopback loop ${iso_path}
	set root=loop
	set prefix=(loop)/boot/grub
	configfile /boot/grub/loopback.cfg
}

Ở đây, tôi tạo thư mục /EFI/UbuntuISO và sao chép tất cả 3 tệp tin grubx64.efi, grub.cfgubuntu-18.04-desktop-amd64.iso vào thư mục này. Bạn có thể sử dụng đoạn mã Grub2 ở trên để boot Ubuntu, Linux Mint từ tệp tin ISO, nó cũng hỗ trợ cho hầu hết các tệp tin ISO của các bản phân phối Linux dựa trên Ubuntu như elementary OS… Chỉ cần sao chép tệp tin ISO vào đường dẫn (trên bất kỳ ổ đĩa) mà bạn muốn, sau đó sửa đổi đường dẫn của tệp tin trong đoạn mã trên. set timeout=0, Grub2 sẽ tự động boot trình đơn đầu tiên, nếu bạn có nhiều hơn một trình đơn để lựa chọn, bạn có thể xóa dòng này hoặc tăng giá trị của nó.

Boot Manjaro từ tệp tin ISO:

set timeout=0
menuentry "Manjaro ISO" {
	set iso_path="/EFI/ManjaroISO/manjaro-xfce-17.1.6-stable-x86_64.iso"
	export iso_path
	search -s root -f ${iso_path}
	probe -u -s rootuuid $root
	export rootuuid
	loopback loop ${iso_path}
	set root=loop
	set prefix=(loop)/boot/grub
	configfile /boot/grub/loopback.cfg
}

Debian Live:

set timeout=0
menuentry "Debian ISO" {
	set iso_path="/EFI/DebianISO/debian-live-9.4.0-amd64-xfce.iso"
	export iso_path
	search -s root -f ${iso_path}
	loopback loop ${iso_path}
	set root=loop
	configfile /boot/grub/grub.cfg
}

Arch Linux 64-bit:

set timeout=0
menuentry "Arch Linux ISO" {
	set iso_path="/EFI/ArchISO/archlinux-2017.09.01-x86_64.iso"
	search -s root -f ${iso_path}
	loopback loop ${iso_path}
	probe -u -s rootuuid $root
	linux	(loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/disk/by-uuid/${rootuuid} img_loop=${iso_path}
	initrd	(loop)/arch/boot/intel_ucode.img (loop)/arch/boot/x86_64/archiso.img
}

Trên đây là một vài đoạn mã Grub2 giúp bạn boot Linux từ tệp tin ISO. Ngoài ra, GParted và Clonezilla cũng được hỗ trợ, bạn có thể tìm thêm các mã trong thư mục menuoff của AIO Boot.

Boot Ubuntu và Linux Mint được cài đặt trên ổ cứng

Clover Bootloader sẽ tự động phát hiện tệp tin .efi của các hệ điều hành được cài đặt trên ổ cứng của bạn bao gồm Windows, Android, Ubuntu, Linux Mint và các bản phân phối Linux khác. Nếu bạn biết được đường dẫn của tệp tin này, chỉ cần thêm nó vào Clover như hướng dẫn ở trên.

Nhưng nếu bạn cài hệ điều hành ở chế độ Legacy thì sẽ không có tệp tin .efi nào được tạo ra. Nếu hệ điều hành này sử dụng Grub2 để làm bộ nạp khởi động, nó sẽ tạo ra một tệp tin cấu hình, thường nằm ở đường dẫn /boot/grub/grub.cfg. Bạn có thể sử dụng kịch bản Grub2 này để load tệp tin cấu hình của hệ điều hành đó.

set timeout=0
menuentry "My OS" {
	search --no-floppy --fs-uuid --set=root 44d0133a-f938-4ccd-ad06-26ba3d2bf870
	configfile /boot/grub/grub.cfg
}

44d0133a-f938-4ccd-ad06-26ba3d2bf870UUID của phân vùng chứa tệp tin /boot/grub/grub.cfg, trên Linux bạn có thể sử dụng lệnh sudo blkid để lấy thông tin này, sau đó thay thế nó.

Ngoài ra, bạn có thể đặt tệp tin grubx64.efi vào cùng thư mục với tệp tin grub.cfg trên phân vùng Linux. Hoặc sao chép tệp tin grub.cfg trên phân vùng Linux vào cùng thư mục với tệp tin grubx64.efi, tuy nhiên tên tệp tin kernel và các mã có thể thay đổi sau mỗi lần cập nhật, vì vậy tệp tin grub.cfg cũng cần được cập nhật.

Với các bước đơn giản ở trên, bạn có thể boot Ubuntu từ Clover, boot Linux từ Clover và nhiều hệ điều hành khác mà Grub2 hỗ trợ. Để lại một bình luận ở dưới nếu bạn không biết cách lấy mã Grub2 cho hệ điều hành của bạn. Chúc bạn thành công!

Tham gia cuộc thảo luận

1 Bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

  1. Cám ơn bạn đã tạo ra một công cụ rất tuyệt grubx64.efi để khởi động các tập tin ISO từ Clover.

    Tuy nhiên điều bắt buộc là phải sao chép các tập tin ISO này vào phân vùng EFI trên ổ cứng. Tôi đã thử thay đổi đường dẫn trong tập tin grub.cfg để trỏ sang phân vùng khác nhưng không khởi động được tập tin ISO ở phân vùng đó. Trong trường hợp này là set iso_path=”hd(0,6)/SETUP/BACKUP/IMAGES/UBT1804.ISO”

    Nếu bạn biên dịch lại grubx64.efi để có thể khởi động các tập tin ISO từ các phân vùng khác của ổ cứng thì điều đó thạt tuyệt.
    Thân ái và chúc bạn may mắn.