[Hướng dẫn] Dualboot Windows 8.1 và Yosemite 10.10.X sử dụng Clover bootloader trên laptop Asus TP550LD

Asus TP550LD và hackintosh: Dualboot windows 8.1 vs Yosemite 10.10, hướng dẫn cho các bạn dùng asus

Chào mọi người, hôm nay mình xin phép được viết bài hướng dẫn cài Mac OSX 10.10.X lên laptop Asus TP550LD. Trình độ bản thân mình chưa phải là cao, chưa kể đến thế giới Hackintosh luôn có những biến động không ngừng nên bài viết không tránh khỏi những sai sót, mình rất mong nhận được những đóng góp nhận xét của các bạn để hoàn thiện hơn nữa.


[Hướng dẫn] Dualboot Windows 8.1 và Yosemite 10.10.X sử dụng Clover bootloader trên laptop Asus TP550LD


Trong bài viết này, mình có tham khảo, sử dụng các bài hướng dẫn và tool được viết bởi 2 mod Đinh Hải Nguyên và Sơn Huỳnh bên 4rum Macintosh.vn. Vì vậy, nếu bạn nào có ý định đem tool đi chia sẻ ở một forum nào khác, vui lòng để credit đầy đủ!

Cấu hình máy Asus TP550LD:>

1. CPU: Intel Core i3-4010U ✔︎
2. GPU:
- Intel HD 4400 1366 x 768 ✔︎
- Nvidia 820M ✘ (Patch disable trong SSDT)
3. Sound: ALC 233 ✔︎
4. Touchpad: Elan ✔︎
5. Wifi: AR9485 ✘
6. Ethernet: RTL8168 ✔︎
7. Touchscreen ✘

Bài hướng dẫn này mình viết riêng cho model TP550LD, tuy nhiên, cách tạo config.plist có thể áp dụng chung cho dòng Asus TP550L, thậm chí là nhiều model khác có cấu hình tương tự.

Các công cụ cần thiết:

1. Bộ cài đặt Windows 8.1: download here.
2. Bộ cài đặt Yosemite 10.10.X các bạn download trực tiếp từ AppStore (khuyến khích) hoặc tải về từ các nguồn khác (không khuyến khích).
3. Các công cụ khác: download here.

Cấu trúc bài viết:

1. Hướng dẫn tạo phân vùng EFI và cài đặt Windows 8.1.
2. Tạo bộ cài Yosemite 10.10.X
3. Cài đặt và hoàn thiện OSX.
4. Patch DSDT và SSDT.
5. Hoàn thiện OSX với Asus Notebook Installer.

Chú ý:
- Những bạn nào thích nhanh - gọn - nhẹ mà không cần tìm hiểu căn nguyên cặn kẽ thì đọc phần 1 , 2 và 4.
- Những bạn nào thích tìm tòi, vọc phá nâng cao trình độ thì đọc phần 1, 2, 3, 4 và tham khảo 5 nếu muốn.

Đối với các bạn mới tìm hiểu thường có tâm lý càng đơn giản càng tốt, tuy nhiên, mình KHUYẾN KHÍCH các bạn đọc hết từ đầu đến cuối để có cái nhìn cụ thể hơn về Hackintosh. Bài viết có thể dài và khó hiểu nhiều chỗ nhưng một khi đã ngấm được thì các bạn sẽ thấy mọi thứ thật đơn giản và trình độ của bản thân các bạn được nâng lên rất nhiều, chưa kể nếu sau này mà có trục trặc gì thì dễ sửa hơn. Con đường đến với Hackintosh là một con đường gian nan nhưng mình tin rằng chỉ cần sự kiên nhẫn và đam mê tìm tòi học hỏi thì con đường dù chông gai và gian nan đến mấy sẽ luôn là đường thành công.

Rồi xong, phần giới thiệu hơi dài dòng + sến súa chút, mong các bạn thông cảm!

PHẦN 1: TẠO PHÂN VÙNG EFI VÀ CÀI ĐẶT WINDOWS 8.1 UEFI


Tại sao phân vùng EFI=200MB? Khi cài Windows 8.1, mặc định hệ thống sẽ tạo một phân vùng EFI kích thước 100MB để lưu giữ bộ khởi động cho win, nhưng khi cài Mac nếu EFI=100MB thì chúng ta sẽ không thể format ổ cài Mac bằng Disk Utility sang HFS+ được, mà nếu không format sang HFS+ thì sẽ không thể cài Mac lên máy.

Trong nhiều bài viết khác có hướng dẫn tạo EFI >= 200MB tuy nhiên lại phải format lại toàn bộ ổ cứng dẫn đến việc bị mất toàn bộ dữ liệu trong máy. Trong bài này, mình sẽ hướng dẫn các bạn tạo EFI >=200MB mà không cần format hết ổ cứng, các bạn chỉ phải cài lại Windows thôi. Các bước như sau:

1. Tạo USB cài đặt Windows 8.1 theo chuẩn UEFI: format 1 USB 4GB với định dạng FAT32 rồi copy tất cả các file có trong file ISO cài đặt vào là được.

2. Boot vào bộ cài, khi đến bước chọn phân vùng cài đặt, các bạn xóa phân vùng cài win hiện tại + EFI + System Reserved. Sau khi xóa, các phân vùng này sẽ chuyển về dạng Unallocated, nhấn Shift + F10 và gõ như sau:

>Diskpart
>List disk
>Select disk X (thường là 0 nếu máy bạn chỉ có 1 HDD)
>Create partition efi size=200 (hoặc hơn nếu muốn)
>Format quick fs=fat32 label=“EFI”
>Create partition msr size=128
>Exit

3. Sau đó, các bạn quay trở lại bảng chọn phân vùng, nhấn Refresh để thấy những phân vùng vừa tạo và chọn cài win vào phân vùng Unallocated còn lại.

Chú ý: Khi mua máy, NSX đã cài sẵn Windows 8 bản quyền kèm theo cùng với phân vùng Recovery để khôi phục lại khi gặp sự cố. Trong trường hợp bạn không muốn bị mất HĐH bản quyền này do format lại EFI, các bạn có thể sử dụng 1 trong 2 cách sau:

Cách 1: Dùng phần mềm Paragon Hard Disk Manager ở đây để format phân vùng muốn cài Mac sang HFS ngay trên Win rồi tiến hành cài Mac như bình thường và bỏ qua bước format bằng Disk Utility. Tuy nhiên mình vẫn khuyến khích các bạn tạo lại EFI >= 200MB vì theo kinh nghiệm của mình thì format bằng Paragon chỉ cài Mac được 1 lần duy nhất, những lần sau khi format lại thì phần mềm sẽ tạo 1 phân vùng Unallocated=128MB và bạn sẽ không thể cài Mac lên cho dù định dạng phân vùng vẫn là HFS+.

Cách 2: Sử dụng 1 phân mềm phân vùng nào đó như Partition Wizard (chạy trên Win PE) hoặc Gparted (LiveUSB) để resize lại phân vùng EFI hiện thời. Tùy thuộc vào thứ tự phân vùng như thế nào mà bạn có thể sẽ phải xóa/cắt bớt một phân vùng đằng trước hay sau EFI.

PHẦN 2: TẠO BỘ CÀI YOSEMITE 10.10.X.


Cách tạo bộ cài rất đơn giản và giống nhau đối với tất cả các máy UEFI nên các bạn xem phần hướng dẫn ở đây. Trong khuôn khổ bài viết này, mình sẽ hướng dẫn các bạn tạo config.plist cho model TP550LD (có thể áp dụng cho các máy có cấu hình tương tự).
Sử dụng Hackintosh Vietnam Tool (HVT), phần Clover/Config chọn như sau:

- CPU: Haswell Mobile
- SSDT: Generate
- Graphics: HD 4400/4600 v2
- Bootflags: -v, -xcpm, -gux_defer_usb2, kext-dev-mode=1.
- Kext Patches: Glitch Second Stage 10.10, HD 4600 HDMI audio.

Sau khi cài đặt, file config.plist sẽ được tạo ngoài Desktop, các bạn mở nó bằng Clover Configurator, ở mục Boot tích thêm vào nv_disabler=1, dart=0 rồi save vào EFI/CLOVER trong USB.

PHẦN 3: CÀI ĐẶT VÀ HOÀN THIỆN OSX


1. Cài đặt OSX lên HDD.
- Sau khi tạo được USB rồi, các bạn khởi động lại máy vào BIOS Setup tắt Secure Boot thì Clover mới load được.
- Tại giao diện Clover, chọn boot từ OS X Base System và đợi. Nếu file config.plist được tạo đúng như trên thì chắc chắn sẽ vào được màn hình cài đặt. Nhấn Cách nếu thấy thông báo bàn phím, sau đó vào Tools/Disk Utility >> chọn phân vùng định cài Mac >> tại tab Erase chọn format với định dạng Mac OS Extended (Journaled), Name tùy ý >> Erase. Đóng cửa sổ đó lại, chọn phần vùng vừa format rồi cài.

2. Cài Clover bootloader và cài kexts.
- Khi đã cài thành công OSX lên máy, các bạn vẫn boot từ USB, tại giao diện Clover ấn F4 (nhấn nhiều lần cho chắc) để dump DSDT và SSDT, rồi tiến hành boot vào phân vùng vừa cài Mac để cài các phần mềm cần thiết.
- Về cách cài Clover Bootloader, các bạn chọn như hình! Tạo config.plist tương tự như khi tạo cho USB chỉ khác chỗ SSDT chọn Custom và bỏ tích nv_disabler=1. Chép file HFSPlus.efi vào EFI/Clover/driverUEFI đồng thời xóa VboxHFS-64.efi.



- Cài Kexts: Sử dụng HVT Tool và tích như sau:
o CPU: Fake SMC v6
o DisableTurboBoostBattery
o ACPI Battery Manager
o Ethernet: RTL1000SL
o ACPI Backlight
o FakePCIID
o FakePCIID HDMI
o Sound: Codec Commander + Laptop Realtek ALC233
o Trackpad: Không chọn gì và cài kext mình gửi link bên trên.
o GenericUSB 3.0
o Fixes: Disable Hibernate
o Tools: Clover Configurator + IASL + Kext Utility/ Kext Wizard + MacIASL + SSDT Generator.

- Tiếp theo, copy file config.plist ngoài Desktop vào EFI/CLOVER của HDD và file SSDT.aml trong folder Extra ở phân vùng cài Mac vào EFI/CLOVER/ACPI/Patched.
< KHI CÀI XONG KEXTS, CÁC BẠN CHƯA TẮT MÁY/KHỞI ĐỘNG LẠI NGAY MÀ CHUYỂN SANG BƯỚC TIẾP THEO!

Phần 4: Patch DSDT và SSDT.


Các bạn vào USB/EFI/CLOVER/ACPI/Origin copy các file DSDT.aml, SSDT-7.aml, SSDT-8.aml, SSDT-9.aml ra ngoài Desktop >> mở Terminal và gõ:

Cd ~/Desktop
Iasl –da *.aml
Chú ý là chúng ta sẽ sử dụng chuẩn ACPI 5.0 để patch nhé!

1. Ta sẽ tiến hành patch DSDT trước.
- Compile và sửa lỗi nếu có.
- Sử dụng repo của ReHabman và apply các patch sau:
System: apply tất cả các patch. Những patch nào có 2 version thì chọn ver 2.
Battery: Asus N55SL.
USB: 7 series/ 8 series USB.
IGPU: Rename GFXO to IGPU
Sử dụng repo của EMlyDinEsH và apply 2 patch BrightnessKeys_PatchOptional_Fn_key_patches.
Sound: Các bạn tìm Device (HDEF) và copy đoạn mã sau vào trong đó:
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x06)
{
"layout-id",
Unicode ("\x03"),
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"PinConfigurations",
Buffer (Zero) {}
})
}
- Compile lại lần nữa, nếu không có lỗi thì lưu file với định dạng ACPI Language Binary vào EFI/CLOVER/ACPI/Patched.

2.Patch SSDTs
- Patch SSDT-7.dsl để bật thanh chỉnh độ sáng: chọn và apply các patch như trong hình.


- Patch SSDT-8 và SSDT-9 để tắt card đồ họa rời cho đỡ nóng máy và tiết kiệm pin.

SSDT-8.dsl: copy đoạn code sau rồi apply:

into scope label \_SB.PCI0.GFX0 remove_entry;

into definitionblock code_regex External\s+\((.*_SB_\.PCI0\.GFX0\.DD02\._BCM),\s+IntObj\) replace_matched begin External(%1, MethodObj) end;
into method label _BCM parent_label DD02 code_regex Return\s+\(([^\)]*)\)\n.*Arg0 replace_matched begin %1(Arg0) end;
into method label _BCM parent_label DD02 code_regex Return\s+\(([^\)]*)\)[^\n]*\n.*Arg0 replace_matched begin %1(Arg0) end;
into method label WMMX code_regex If\s\(CondRefOf\s\(\\_SB\.PCI0\.GFX0\._DSM[^}]*\} replace_matched begin //nothing end;

# rename GFX0
into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end;
into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end;

# call _OFF from _SB.PCI0.RP05.PEGP
into method label _INI parent_label \_SB.PCI0.RP05.PEGP code_regex . insert begin _OFF()\n end;

# fix error related to _OFF
into definitionblock code_regex . insert
begin
External(\_SB_.PCI0.RP05.PEGP._OFF, MethodObj)\n
end;

SSDT-9.dsl
into definitionblock code_regex External\s+\((.*_SB_\.PCI0\.GFX0\.DD02\._BCM),\s+IntObj\) replace_matched begin External(%1, MethodObj) end;
into method label _BCM parent_label DD02 code_regex Return\s+\(([^\)]*)\)\n.*Arg0 replace_matched begin %1(Arg0) end;
into method label _BCM parent_label DD02 code_regex Return\s+\(([^\)]*)\)[^\n]*\n.*Arg0 replace_matched begin %1(Arg0) end;
into method label WMMX code_regex If\s\(CondRefOf\s\(\\_SB\.PCI0\.GFX0\._DSM[^}]*\} replace_matched begin //nothing end;

# rename GFX0
into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end;
into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end;

Cuối cùng, các bạn rename các file SSDT thành SSDT-1.aml, SSDT-2.aml, SSDT-3.aml rồi lưu vào EFI/CLOVER/ACPI/Patched. Lưu ý là tất cả các file này đều phải được compile, sửa hết lỗi và lưu với chuẩn ACPI Language Binary.< CHÚ Ý: Khi nào các bạn cài xong OSX thì bắt buộc phải cài các kexts cũng như patch DSDT, SSDTs rồi khởi động lại thì máy mới boot được mà không cần dùng USB làm mồi.




PHẦN 5: HOÀN THIỆN OSX VỚI ASUS NOTEBOOK INSTALLER


Đây là tool ăn sẵn cho một số model Asus có bao gồm series TP550L. Một khi sử dụng tool này, bạn sẽ không cần quan tâm nhiều đến quá trình cài kexts hay patch DSDT+SSDT phức tạp bên trên, đơn giản chỉ là click vài phát rồi đợi thôi :).

Sau khi cài được OS X vào HDD, lần khởi động máy đầu tiên, bạn vẫn boot từ USB, tại giao diện boot của Clover nhấn F4 (nhiều lần cho chắc) để dump DSDT và SSDT vào USB/Clover/ACPI/Origin. Sau đó boot vào phân vùng đã cài Mac lên, chạy tool và chọn như sau:





- Dùng Clover Configurator mount phân vùng EFI lên rồi kiểm tra trong EFI/Clover/ACPI/Patched xem có các file DSDT và SSDT ở đó chưa, nếu chưa thì copy từ USB/EFI/Clover/ACPI/Patched sang.

- Do tool mới phát triển nên có chỗ chưa hoàn thiện, đặc biệt là với model này thì touchpad không nhận được, bạn sử dụng Kext Utility và cài kext SmartTouchpad mình đính kèm trong bộ tool.

- Cuối cùng, khởi động lại máy và tận hưởng thành quả.

MỘT SỐ VẤN ĐỀ TỒN TẠI:

1. Chưa bật tắt được phím Fn trong System Preferences dù các phím này đã hoạt động.
2. Máy chỉ có chip i3 nên speedstep hơi ít (3 steps).
3. Màn hình cảm ứng không hoạt động được trên Mavericks, Yosemite có nhận nhưng chập chờn.
4. Và nhiều vấn đề khác mà bản thân chưa đủ trình độ để phát hiện ra .

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)

[Guide for newbie] Hướng dẫn cài Mac OS X trên UEFI (Phần 3)