HƯỚNG DẪN SỬA VRAM BẰNG UBUNTU
Như các bạn đã biết, để cài được Mac OSX trên máy tính chạy Chip Broadwell với Intel HD5500 chúng ta cần phải có DVMT (pre-allocated memory) >= 64MB. Đối với các máy Notebook chúng ta không thể sửa DVMT trong Bios được, bởi vì các nhà sản xuất đã khóa phần DVMT lại và giới hạn cho chúng ta 1 vài thông số cơ bản. Nếu bạn đã mệt mỏi với cách sửa DVMT bằng EFIShell thì hãy đến với cách này.
Hôm nay mình sẽ hướng dẫn các bạn thay đổi VRAM (Video ram) của Intel HD5500 bằng Ubuntu. Cách làm đơn giản như sau:
I. Yêu cầu
1. Windows 8.1 (Không nên sử dụng Windows 10).
2. Sử dụng Driver Intel: 15.36.19.64.4170 (Không nên sử dụng bản cũ hơn, hoặc mới hơn).
https://downloadcenter.intel.com/do...HD-Graphics-Driver-for-Windows-7-8-8-1-64-bit
3. Trong hướng dẫn này mình sử dụng Asus K555LD để làm mẫu. Những Notebook khác làm tương tự.
- Bios: Aptio AMI v5
- Intel HD5500 + Geforce 820M
II. Hướng dẫn cụ thể
Bước 1: Trích xuất Bios (Dump/fetch Bios)
Bạn cần phải trích xuất Bios của bạn ra. Định dạng trích xuất Bios phổ biến là ROM (ex: xxxxx.rom). Tùy từng Bios cụ thể mà có các cách trích xuất khác nhau. Nếu bạn không biết cách trích xuất thì đơn giản là lên trang Web của nhà sản xuất và tải Bios mới nhất của Notebook của bạn về, đổi tên thành xxxx.rom.
- Aptio AMI Bios: Các bạn sử dụng công cụ AFUDOS để trích xuất Bios: https://www.ami.com/download-licens...IOS_and_Aptio_AMI_Firmware_Update_Utility.zip
- InsydeH20 Bios: Mời các bạn đọc cái này: http://www.tonymacx86.com/yosemite-...5500-setting-dvmt-insydeh20-bios-laptops.html
Bước 2: Extract BIOS Settings from a BIOS file
2.1: Tải UEFITools: https://github.com/LongSoft/UEFITool/releases
2.2: Mở file xxxx.rom mà bạn đã trích xuất ra bằng UEFITools.
2.3: Ấn Ctrl+F để mở mục search, chọn tab Text, gõ Acoustic
2.4: Ở dòng cột Text, dòng Setup, các bạn chọn PE32 image section, nháy chuột phải chọn Extract body. Sau đó lưu file có tên Setup.bin
Bước 3: Tìm kiếm Offset (aka Variable)
3.1: Tải Universal IFR Extractor: http://donovan6000.blogspot.ca/2014/02/universal-ifr-extractor.html
3.2: Mở file Setup.bin đã lưu ở bước 2 bằng Universal IFR Extractor.
3.3: Chọn Extract, nó sẽ lưu cho bạn 1 file có tên là Setup IFR.txt
3.4: Mở file Setup IFR.txt lên và search: DVMT Pre-Allocated
Trong trường này, mình tìm được 2 giá trị Variable: 0x320 và 0x321. Đối với các dòng Notebook khác có thể chỉ tìm được 1 giá trị Variable.
Bước 4: Tạo Ubuntu USB
4.1: Tải Ubuntu 14.04.
4.2: Sử dụng Unetbootin để tạo Ubuntu USB.
4.3: Boot vào Ubuntu USB.
Bước 5: Sửa VRAM bằng Ubuntu
5.1: Cài đặt Ghex
- Kết nối Internet cho Ubuntu.
- Bật Ubuntu Software Center lên, vào edit chọn Software Source.
- Tick vào "Community maintained free...", sau đó bấm Close.
- Đợi 1 tí để nó Update cache.
- Sau khi update cache xong, ở mục search gõ Ghex, sau đó bấm Install.
5.2: Khởi động Ghex
- Bật Terminal lên, gõ dòng lệnh sau và ấn Enter:
- Tìm đến dòng có chữ: Setup-xxxxxx.xxxxxxx....ls /sys/firmware/efi/efivars/ | grep Setup
Trong trường hợp của mình là:
- Tiếp tục gõ dòng lệnh sau và ấn Enter:Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
Trong trường hợp của mình là:sudo ghex /sys/firmware/efi/efivars/Setup-xxxxxx.xxxxxxx....
sudo ghex /sys/firmware/efi/efivars/Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
- Sau khi ấn Enter thì cửa sổ Ghex sẽ được mở lên.
5.3: Sửa giá trị Variable
- Tìm đến Offset (Variable) mà bạn đã tìm được ở bước 3.4.
- Cách sửa Offset như sau, cụ thể trong trường hợp của mình:
Sửa giá trị của Offset 0x320 và 0x321 từ 08 thành 03. Tiếp tục sửa 5 giá trị phía trước Offset 0x320, và 5 giá trị phía sau Offset 0x321 thành 03. Chỗ này mình giải thích kỹ 1 chút. Chúng ta cần sửa giá trị của 1 dải rộng các Offset xung quanh 0x320 và 0x321 để tìm ra Offset chính xác của DVMT. Bản thân 2 Offset 0x320 và 0x321 không phải là Offset chính xác để điều khiển DVMT.
Như vậy, mình đã sửa giá trị của 12 Offset để đổi VRAM cho Intel HD5500.
- Sau khi sửa xong giá trị của 12 Offset ở trên thì bạn vào File, chọn Save.
5.4: Kiểm tra lại
- Boot vào Windows, nháy chuột phải vào Desktop, chọn Screen Resolution, chọn Advanced Setting.
- Nếu Dedicated Video Memory hiện 64MB thì bạn đã thành công.
==================================END===================================
Bonus: Vậy làm sao để biết trong 12 Offset mình đã sửa ở trên thì chính xác Offset nào đang điều khiển DVMT?
Mình sử dụng mẹo sau:
Bước 1: Vào Bios, ở mục DVMT đổi thành 32MB.
Bước 2: Làm tương tự mục 5.1 và 5.2 ở trên để mở Ghex lên.
Bước 3: Lúc này sẽ thấy trong dải 12 Offset mà mình đã sửa ở trên thì chỉ có giá trị của Offset 0x324 đã bị sửa lại từ 03 thành 01. Như vậy Offset 0x324 chính là Offset mà chúng ta cần sửa.
Bước 4: Quay về Bios, Restore default cho Bios.
Bước 5: Sử dụng Ghex như ở trên để sửa duy nhất giá trị của Offset 0x324 thành 03. Các giá trị của các Offset còn lại giữ nguyên.
Credit to: Nguyen's friends.
Last edited: