[Guide] Sử dụng Clover bootloader để quản lý Multi OS

Lợi ích của Clover:

  • Có thể boot vào Mac OSX 10,4-10,9, Windows và Linux EFI
  • Có thể boot vào LegacyOS (Windows XP, Linux, hệ điều hành DOS)
  • Tự động phát hiện phần cứng và thiết lập . Nhưng có thể thay đổi bằng cách edit lại config.plist
  • Với Clover bạn có thể khởi động vào hệ điều hành khác từ Startup Disk prefpane của Mac OS
  • Full độ phân giải trong giao diện đồ họa boot của các loại card màn hình
  •  Điều khiển bằng chuột ngay trong màn hình boot (giống Mac OS)
  • Tự động cấu hình bằng OEM tên nhà sản xuất.
  • Autopatch OemDSDT để hoạt động được trên OSX
  • SMBIOS sẽ được tự động lấy cho phù hợp cấu hình máy.
  • ACPI sẽ được patch theo tiêu chuẩn 4.0. DSDT đã được patch sẽ được nạp từ phân vùng khởi động hoặc từ thư mục EFI
  • Tự động cấu hính ACPI (SSDT-xx, APIC, BOOT, SLIC, khe, SRAT, UEFI …)
  • Thiết lập một cách chính xác PowerProfile cho máy tính xách tay (notebook), máy tính để bàn, máy trạm
  • RestartFix
  • Sleep / Wake hệ thống
  • Có thể thay đổi giá trị PCIRootUID (0,1) cho các card màn hình.
  • Hỗ trợ active card màn hình ATI, NVIDIA và Intel. Cho phep edit một số thành phần quan trọng trong đó.
  • Có thể thêm vào thông tin EDID của màn hình để fix các lỗi về graphics
  • Fix các lỗi về USB
  • Patch lại AppleHDA và HDMI.
  • Ethernetbuilin
  • Enable CPU Turbo
  • Enable P và C state ngay ngoài màn hình boot
  • hỗ trợ cho CPU ​​Atom và Ivy Bridge
  • Fix lại kext trong kernelcache cho phần cứng không được hỗ trợ
  • Thêm được kext và inject trực tiếp từ CLover\Kext Folder
  • Chế độ bảo mật cho FireWire
  • Thay đổi được thời gian chờ lúc boot
  • Hỗ trợ thay đổi Theme: hỗ trợ chủ đề, biểu tượng riêng, phông chữ, hình nền, chuột.
  • Thay đổi dc ngôn ngữ.
  • Lưu lại các thành phần gốc của ACPI bằng cách nhấn F4
  • Kiểm tra DSDT patch với F5
  • Lưu rom card màn hình vào EFI / misc bằng cách nhấn F6
  • Lưu ảnh chụp màn hình từ giao diện bằng cách nhấn F10
  • Nhấn F12 để điều khiển DVD ngay ở giao diện boot

 

 Nguyên tắc hoạt động:

+ Ở chế độ UEFI boot:
UEFI BIOS->BOOTX64.efi->Apple’s boot.efi->mach_kernel

  • -Đối với UEFI boot, nó cần load driver để nhận diện được UEFI của từng nhà sản xuất:
    Các driver cơ bản để nhận diện được kê ra như sau:
  • HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxAptioFixDrv-64.efi, EmuVariableRuntimeDxe.efi HFSPlus.efi, OsxFatBinaryDrv-64.efi
  1. Driver này hoạt động trên main Gigabyte EFI. Đây là lựa chọn tốt nhất cho UEFI khởi động, tức không cần phải thêm bất kỳ driver nào nữa (các bạn chú ý hai driver này nhận diện ổ EFI định dạng fat 32 và ổ Mac định dạng HFS)
  2. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxLowMemFixDrv-64.efi
  3. Driver này hoạt động trên Insyde H2O UEFI. Một số vấn đề bộ nhớ nhỏ sẽ được fix bằng LowMemFix, và sau đó tất cả mọi thứ giống với trường hợp 1
  4. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxAptioFixDrv-64.efi
    Driver này hoạt động tốt trên tất cả các main hỗ trợ AMI Aptio EFI . Đây không phải là giải pháp tốt vì nó phụ thuộc vào hoạt động hiện tại của boot.efi và cấu trúc hiện tại được thông qua giữa boot.efi(boot loader) và kernel (cái boot.efi này nằm trong system=>Library=>Coreservice của ổ Mac đấy) đối với AMI. Ví dụ về cái OsxAptioFixDrv-64.efi: Chameleon trước đây ko thể boot được 10.7 hoặc 10.8 lúc Apple mới đưa ra hệ điều hành, điều này do Apple đã thay đổ cấu trúc của file boot.efi trong phân vùng của Mac OS (extension.mkext chuyển thành kernelcache đấy các bạn), sau đó Chameleon mới dc fix lại để tương thích với boot.efi. Clover cũng giống vậy, việc thay đổ cấu trúc boot.efi của Apple làm Clover ko thể khởi động được vào các main AMI và giải pháp đưa ra là OsxAptioFixDrv-64.efi để fix sự thay đổi này (cái fix này sẽ phải thay đổi khi Aple thay đổi cấu trúc của boot.efi và kernel).
  5. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxAptioFixDrv-64.efi, EmuVariableRuntimeDxe.efi

Driver này hoạt động trên Dell Vostro, một số của ThinkPad – một số máy tính xách tay với Phoenix UEFI. Tất cả được đề cập trong trường hợp 3 đều có thể áp dụng ở đây.

Ngoài ra còn có một số Driver khác hỗ trợ, tuy nhiên đây là những driver cơ bản nhất để UEFI có thể boot dc CLover.
=> Vậy các bạn đã hiểu là một khi muốn sử dụng UEFI để boot thì phải cài đặt Driver cho main, tùy từng trường hợp cụ thể mà chọn Driver thích hợp nếu không sẽ không boot được

+ Ở chế độ BIOS boot:
BIOS->boot0->boot1->BOOT->CLOVERIA32.efi->Apple’s boot.efi->mach_kernel2 bit)
BIOS->boot0->boot1->BOOT->CLOVERX64.efi->Apple’s boot.efi->mach_kernel4 bit)

  • Ở chế độ BIOS boot thì Clover hoạt động gần chư Chameleon nhưng khác ở chỗ Chameleon load Kernelcache và mach_kernel trực tiếp, còn Clover thông qua boot giống chameleon và load Clover boot=>> Apple boot.efi. Vậy với những máy ko có UEFI vẫn có thể cài được Clover (nhưng theo tác giả thì có thể dc hoặc ko), hai hôm nay mình test Clover trên các máy ko hỗ trợ UEFI vẫn hoạt động tốt
  • Một chú ý quan trọng là ở chế độ bios thì Clover vẫn load các driver ch UEFI nên khi cài đặt các bạn cũng phải chọn Driver trong mmuc5 UEFI nhé.
  • Yêu cầu của Clover rên Bios cũng giống trên Chameleon là phải active phân vùng chứa boot và vẫ phải fix boot1h với các ổ 4k sector. Mình sẽ hướng dẫn các bạn cách Config trên Legacy Bios.

Vấn đề cần giải quyết

 

  • Thường thì sau khi cài hackintosh, chọn Clover làm trình khởi động thì menu của Windows, MacOS, và một số Linux đã mặc định hiện trên Menu của clover. Nguyên do là Clover đọc file *.efi từ phân vùng EFI để tự động thêm vào menu. (auto scan mode)

 

  • Vấn đề 1: nếu bạn chọn cài những Linux Distro phổ biến thì menu sẽ tự động thêm cho bạn nhưng nếu những distro bạn dùng không phổ biến hoặc mới xuất hiện vài năm gần đây thì menu sẽ không được tự động cho bạn (ví dụ: ParrotSec OS)

 

  • Vấn đề 2: Boot qua file *.efi cho Linux cũng chỉ là một bước trung gian để khởi động vào Grub2. Vậy nếu để mặc định thì lại thành thừa thãi. Nguyên do là bạn phải dùng 2 thao tác là chọn menu qua clover rồi lại chọn qua Grub2 mới vào hệ điều hành mà bạn muốn >>> Mệt người @[email protected]

 

Mục đích của guide này?

Thêm đầy đủ các hệ điều hành từ Windows, MacOS đến Linux lên menu của Clover và chỉ cần enter vào menu đã chọn là boot thẳng vào hệ điều hành bạn muốn. Ngoài ra còn hướng dẫn cho các bạn cách khắc phục một số lỗi trong quá trình sử dụng

Linux khởi động từ Clover như thế nào?

Từ Kernel 3.3 trở lên Linux đã hỗ trợ khởi động bằng EFISTUB (EFI BOOT STUB). Đây là phương pháp có thể khởi động trực tiếp kernel từ EFI mode. Grub2 cũng khởi động thông qua nó, khi sử dụng Clover bootloader bạn có thể boot trực tiếp qua kernel này, xong ở một số trường hợp Clover chưa hỗ trợ cho một số distro linux đặc biệt ta vẫn cần load thông qua trợ giúp Grub2 bootloader

Mặc định Clover bootloader không hỗ trợ driver cho linux để load trực tiếp kernel, để sử dụng tính năng hữu ích này ta cần lấy driver từ rEFInd boot Manager

Previous post:
[Hướng dẫn] Sử dụng Clover Configurator tạo file config.plist cho uEFI Clover Bootloader