Tuanpekoe

Quản trị viên
Staff member
9/6/15
3
13
3
31
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: 0x3200x321. Đố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:
ls /sys/firmware/efi/efivars/ | grep Setup
- Tìm đến dòng có chữ: Setup-xxxxxx.xxxxxxx....
Trong trường hợp của mình là:
Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
- Tiếp tục gõ dòng lệnh sau và ấn Enter:
sudo ghex /sys/firmware/efi/efivars/Setup-xxxxxx.xxxxxxx....
Trong trường hợp của mình là:
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 0x3200x321 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:
Đổ 1 xe tải like cho chủ thớt!:);):(:mad::confused::cool::p:D:eek::oops::rolleyes:o_O
 
Cái này đổi được bằng EFI shell nữa và cách đổi cũng đơn giản hơn :D.
 
Đã làm theo hướng dẫn bên tonymacx86 nhưng do không cẩn thận nên chiếc Acer V3 572G 5517 đã nằm ở trung tâm bảo hành do lỗi BIOS
P/s: Các bác làm cẩn thận nhé không là chung số phận với mình đó nha.
 
  • Like
Reactions: Tiến La Văn
Mình làm theo cách setup trong Shell EFI. đã hiện 64MB rồi... Nhưng bộ cài vẫn không boot vào được :(
 
Mình làm theo cách setup trong Shell EFI. đã hiện 64MB rồi... Nhưng bộ cài vẫn không boot vào được :(
TheOnlyOneBộ cài không boot được thì bạn kiểm tra config.plist và cách tạo bộ cài chứ cái này đâu có ảnh hưởng gì đến boot đâu, kể cả có là 128MB thì bạn vẫn boot được chỉ tội bị sọc thôi.
 
Bộ cài không boot được thì bạn kiểm tra config.plist và cách tạo bộ cài chứ cái này đâu có ảnh hưởng gì đến boot đâu, kể cả có là 128MB thì bạn vẫn boot được chỉ tội bị sọc thôi.
Muxuxiđúng rồi. do bị kẹt kext ndivia :D
 
Cái này đổi được bằng EFI shell nữa và cách đổi cũng đơn giản hơn :D.
MuxuxiNếu đổi được bằng EFIShell thì mình viết guide này làm gì nữa :) Đây là Guide dành cho những bạn không đổi được bằng EFIShell. Ví dụ: Asus Broadwell không đổi được bằng EFIShell.
Đã làm theo hướng dẫn bên tonymacx86 nhưng do không cẩn thận nên chiếc Acer V3 572G 5517 đã nằm ở trung tâm bảo hành do lỗi BIOS
P/s: Các bác làm cẩn thận nhé không là chung số phận với mình đó nha.
Cách này rất an toàn nhé. Bạn làm gì với laptop mà dẫn đến lỗi vậy?
 
  • Like
Reactions: Tiến La Văn
Nếu đổi được bằng EFIShell thì mình viết guide này làm gì nữa :) Đây là Guide dành cho những bạn không đổi được bằng EFIShell. Ví dụ: Asus Broadwell không đổi được bằng EFIShell.

Cách này rất an toàn nhé. Bạn làm gì với laptop mà dẫn đến lỗi vậy?
TuanpekoeDự là mod bios theo guide của Donovan rồi flash tạch đây mà
 
Nếu đổi được bằng EFIShell thì mình viết guide này làm gì nữa :) Đây là Guide dành cho những bạn không đổi được bằng EFIShell. Ví dụ: Asus Broadwell không đổi được bằng EFIShell.

Cách này rất an toàn nhé. Bạn làm gì với laptop mà dẫn đến lỗi vậy?
TuanpekoeĐổi bằng ubuntu chắc an toàn hơn nhỉ. Mà InsydeH20 Bios có làm cách này được không hay phải bắt buộc làm bằng EFIShell vậy các bạn.
Tại do sơ xuất nên mới thế.
 
Last edited:
Nếu đổi được bằng EFIShell thì mình viết guide này làm gì nữa :) Đây là Guide dành cho những bạn không đổi được bằng EFIShell. Ví dụ: Asus Broadwell không đổi được bằng EFIShell.
TuanpekoeEm tưởng là laptop Asus thì có thể đổi trực tiếp trong BIOS mà, có vẻ như là chỉ có các model Asus thì mới có 2 offset DVMT thì phải?
 
Em tưởng là laptop Asus thì có thể đổi trực tiếp trong BIOS mà, có vẻ như là chỉ có các model Asus thì mới có 2 offset DVMT thì phải?
Muxuxivẫn cho đổi nhưng asus này mới nên có nhưng k có 32mb or 64mb mà chỉ có các giá trị khác
 
Mình làm theo cách setup trong Shell EFI. đã hiện 64MB rồi... Nhưng bộ cài vẫn không boot vào được :(
TheOnlyOne
Bạn có thể cho mình biết tut nào hướng dẫn đổi Vram bằng Shell EFI được không bạn, cảm ơn bạn trước.
 
Mình luôn hiện 0MB nhưng lần nào cũng boot được, cài ngon lành. nhận kext gần như đủ. Chỉ chưa biết sửa DSDT nên vẫn cứ tù :(
 
Mình làm theo cách setup trong Shell EFI. đã hiện 64MB rồi... Nhưng bộ cài vẫn không boot vào được :(
TheOnlyOneBạn viết tut đi. nhờ bác Dương cho vào đống All_in_one cho phong phú :D
 
Mình luôn hiện 0MB nhưng lần nào cũng boot được, cài ngon lành. nhận kext gần như đủ. Chỉ chưa biết sửa DSDT nên vẫn cứ tù :(
mr.blackbạn đưa DSDT mình patch thử xem đc không :)
 
bạn đưa DSDT mình patch thử xem đc không :)
TheOnlyOnehic. đợi mình cài lại captain được không ?
Dedicate memory đó ảnh hưởng gì đến DSDT/ SSDT không ? mình kiểm tra vnram trong MAC lần trước cài 10.10 có chạy ?
 
video.png
Mình nâng cấp lên windows 10 thì nó fix Dedicated memory lên 128M rồi các bạn ạ.
Driver BIOS vừa được cập nhật.