Các vấn đề về uEFI Clover Bootloader P.1

uefi clover bootloader: 1 bootloader đa năng, hiệu quả, bạn nên tìm hiểuVới người mới bắt đầu tìm hiểu về hackintosh - cài Mac OS trên máy tính không phải của Apple thì các định nghĩa là rất khó hiểu. Thế nào là BIOS, rồi UEFI là gì mà phải dùng nó? Vì sao phải dùng Chameleon, cụ thể thì nó là gì? Và Clover Bootloader mà bài này đang nói đến có ý nghĩa như thế nào? Bài viết dưới đây sẽ giúp bạn hiểu rõ thêm về các định nghĩa này, có thể giúp cho quá trình tìm hiểu, vọc phá của bạn được dễ dàng hơn.

Các vấn đề về uEFI Clover Bootloader


1.UEFI:

Trước khi giới thiệu về Clover thì chúng ta nên biết UEFI là gì nhỉ:
UEFI, là viết tắt tiếng Anh của Unified Extensible Firmware Interface, dịch là "Giao diện firmware mở rộng hợp nhất" là công nghệ tương lai thay thế cho BIOS đã lỗi thời.

UEFI là một hệ điều hành tối giản "nằm trên" phần cứng (hardware) và firmware của máy tính. Thay vì được lưu trong firmware giống như BIOS, chương trình UEFI được lưu trữ ở thư mục /EFI/ trong bộ nhớ non-volatile (là bộ nhớ đảm bảo cho dữ liệu không bị hỏng mỗi khi mất điện). Vì vậy, UEFI có thể chứa trong bộ nhớ flash NAND trên bo mạch chính (mainboard) hoặc cũng có thể để trên một ổ đĩa cứng, hay thậm chí là ngay cả trên một vùng tài nguyên mạng được chia sẻ.[1] UEFI sẽ giúp quá trình khởi động an toàn hơn nhờ tính năng Secure Boot. Tính năng này chỉ hỗ trợ PC khởi động với một hệ điều hành duy nhất là Windows 8.

Các hệ thống UEFI có các ưu điểm lợi thế:
1. Hệ thống PC hoạt động hiệu quả hơn nhờ khởi động nhanh và rút ngắn được thời gian khắc phục sự cố do có thể tích hợp sẵn khả năng nối mạng và các công cụ sửa lỗi cơ bản mà BIOS đang bị giới hạn.
2. Khả năng quản lý thiết bị lưu trữ chính có dung lượng lớn. Nếu BIOS không thể khởi động từ các đĩa cứng với dung lượng lớn hơn 2,2TB (terabyte). Thì với việc sử dụng các ổ đĩa lớn hơn 2TB đang trở nên phổ biến, các nhà sản xuất OEM không có sự lựa chọn nào khác ngoài việc chuyển sang UEFI trên các PC, máy chủ cao cấp.

UEFI sử dụng bảng phân vùng GUID (Globally Unique IDentifier), kết hợp lại để thay thế cho cung mồi MBR và các phân vùng địa chỉ. GUID đem đến khả năng khởi động từ ổ đĩa cứng có dung lượng lớn cỡ 9,4ZB (zetabyte) – có thể coi gần như là vô hạn, gạt bỏ mọi lo lắng về quản lý ổ cứng dung lượng lớn. Với UEFI, các nhà sản xuất OEM có thể tích hợp sẵn khả năng nối mạng và các công cụ sửa lỗi cơ bản.

Với tất cả các PC và laptop sau này đều hỗ trợ UEFI thì các bạn có thể thấy tương lai của UEFI rồi nhỉ.

2.uEFI clover Bootloader:

a) Định nghĩa:

This is EFI-based bootloader for BIOS-based computers created as a replacement to EDK2/Duet bootloader. Đây là nguyên văn về định nghĩa Clover. Còn mình hiểu đơn giản Clover là hệ điều hành cơ bản mà UEFI có thể giao tiếp được.

b) Chameleon và Clover:

Chameleon: Bootloader giả lập EFi của Apple, giống như một tiêu chuẩn cài đặt của Window mà Bios có thể nhận diện được. UEFI không bao giờ có thể nhận diện được bootloader này. Nó đơn giản là một file "boot" mà Bios đọc được. Để Bios nhận diện dc thì các bạn phải chứa trong phân vùng primary và đã được active. DO đó mất boot là chuyện thường xuyên xảy ra.
uefi Clover booloader: Bootloader base EFI mà UEFI giao tiếp với nó, các bạn sẽ kinh ngạc với những gì CLover làm được. Mình đã dùng thử và từ bỏ luôn Chameleon và không phải quan tâm đến active boot hay gì nữa.

c) Lợi ích của Clover:

1. Có thể boot vào Mac OSX 10,4-10,9, Windows và Linux EFI.
2. Có thể boot vào LegacyOS (Windows XP, Linux, hệ điều hành DOS)
3. 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 chỉnh sửa lại config.plist.
4. Với uefi Clover bootloader bạn có thể khởi động vào hệ điều hành khác từ Startup Disk prefpane của Mac OS
5. Full độ phân giải trong giao diện đồ họa boot của các loại card màn hình.
6. Điều khiển bằng chuột ngay trong màn hình boot (giống Mac OS).
7. Tự động cấu hình bằng OEM tên nhà sản xuất.
8. Autopatch OemDSDT để hoạt động được trên OSX.
9. SMBIOS sẽ được tự động lấy cho phù hợp cấu hình máy.
10. 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.
11. Tự động cấu hính ACPI (SSDT-xx, APIC, BOOT, SLIC, khe, SRAT, UEFI ...).
12. 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.
13. Sleep / Wake hệ thống.
14. Có thể thay đổi giá trị PCIRootUID (0,1) cho các card màn hình.
15. uefi Clover bootloader hỗ trợ active card màn hình ATI, NVIDIA và Intel. Cho phép edit một số thành phần quan trọng trong đó.
16. Có thể thêm vào thông tin EDID của màn hình để fix các lỗi về graphics.
17. Fix các lỗi về USB.
18. Patch lại AppleHDA và HDMI.
19. Ethernet build in.
20. Enable CPU Turbo.
21. uEFI Clover bootloader cho phép trạng thái P và C ngay ngoài màn hình boot.
22. uEFI Clover bootloader Hỗ trợ cho CPU ​​Atom và Ivy Bridge.
23. Fix lại kext trong kernelcache cho phần cứng không được hỗ trợ.
24. Thêm được kext và đặt ngay trong EFI.
25. Chế độ bảo mật cho FireWire.
26. Thay đổi được thời gian chờ lúc boot.
27. Hỗ trợ thay đổi Theme: hỗ trợ chủ đề, biểu tượng riêng, phông chữ, hình nền, chuột.
28. Thay đổi dc ngôn ngữ.
29. Lưu lại các thành phần gốc của ACPI bằng cách nhấn F4.
30. Kiểm tra DSDT patch với F5.
31. Lưu rom card màn hình vào EFI / misc bằng cách nhấn F6.
32. Lưu ảnh chụp màn hình từ giao diện bằng cách nhấn F10.
33. Nhấn F12 để điều khiển DVD ngay ở giao diện boot.
Với từng ấy lợi ích, tìm hiểu kỹ, nắm vững uEFI clover bootloader là việc nên làm.

d) 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.

1. HFSPlus.efi, OsxFatBinaryDrv-64.efi: 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=> Nhìn tên là biết nhỉ.

2. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxLowMemFixDrv-64.efi: 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.

3. 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 Aplle thay đổi cấu trúc của boot.efi và kernel).

4. 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, Mình thì khuyên cài tất cả driver trong cái thư mục của nó cho chắc ăn. Tuy nhiên có một driver quan trọng chỉ dc cài một trong hai, nếu ko thì ko thể boot dc nhé.

Ở chế độ BIOS boot: BIOS->boot0->boot1->BOOT->CLOVERIA32.efi->Apple's boot.efi->mach_kernel (32 bit) và BIOS->boot0->boot1->BOOT->CLOVERX64.efi->Apple's boot.efi->mach_kernel (64 bit)
Ở chế độ BIOS boot thì uEFI Clover bootloader 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 cho UEFI nên khi cài đặt các bạn cũng phải chọn Driver trong mục UEFI nhé.
Yêu cầu của Clover trê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.

e.Cài đặt uEFI Clover bootloader:

Download phiên bản mới nhất tại: http://sourceforge.net/projects/cloverefiboot/
Lưu ý cực kỳ quan trọng là trước khi cài bootloader Clover lên HDD thì nên cài test trên một USB định dạng Fat32.
- Trên USB này vừa hỗ trợ Bios boot và UEFI boot (fat32).
sử dụng 1 usb fat32 để thử uefi clover bootloader là điều cần làm.

Chú ý quan trọng trong phần UEFI driver 64 bit các bạn chỉ dc chọn một trong hai: OSXFixDrv.efi hoặc OSXLowmemFixDrv.efi., nếu ko hai cái này dễ đụng nhau, các bạn xem hướng dẫn Driver UEFI ở trên sẽ thấy dòng nào thì nên cài loại Driver nào nhé.

Vậy là xong, bạn đã có 1 USB hỗ trợ boot Bios lẫn UEFI để test. Cách Config mình sẽ hướng dẫn bên dưới.

UEFI:
Yêu cầu
1. Ổ cứng format định dạng GPT.
2. Enable UEFI trong bios config
3. Phân vùng efi là FAT32 (mặc định khi chuyển qua GPT nó là Fat32, ngoài ra trước đó các bạn dùng chameleon trên EFI thì phải format lại.
4. Config UEFI load từ Bios config.
5. Cài đặt sau khi bạn đã test thành công boot từ USB nhé.
6. Sau khi đã test thành công boot từ USB thì chúng ta sẽ cài đặt thẳng lên phân vùng EFI.
cài đặt uefi clover bootloader trên uefi bios
Nhớ chọn Install Clover in the (EFI system partition), còn lại giống trong USB và tic vào chỗ don't update MBR and PBR sector vì UEFI ko cần phải boot từ file boot thông thường nữa.

BIOS:
Yêu cầu
1. Ổ cứng MBR hoặc GPT.
2. Phân vùng cài đặt là phân vùng Primary và dc active.
3. Config như Chameleon, với fix boot1h trên 4k sector:
cài đặt uefi clover bootloader trên legacy bios
Một Ví dụ cài đặt trên Bios:
Trong phần bootloader các bạn chọn như hình để boot0af in MBR, nó sẽ active phân vùng các bạn cài đặt.
Trong phần Clover EFI các bạn chọn cái BiosBlockIO để asset phân vùng cài đặt.
Fix 4k sector vẫn dùng boot1h, bạn thấy trong đường dẫn: ổ Mac OS=>usr=>standalone=>i386. Như hình:
fix boot0 bằng boot1h

Tác giả: Hoàng Thanh

Popular posts from this blog

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

[Guide for Newbie] Hướng dẫn patch DSDT/SSDT cho máy hackintosh (Phần 5)

[Hướng dẫn] Patch AppleHDA cho các laptop chạy Hackintosh