# Trích lục bản sao DSDT của máy bạn
Để bắt đầu, chúng ta cần phải trích lục được bản sao DSDT từ chính Firmware của bạn. Cách "lười" nhất và nhanh nhất chính là lấy luôn tệp DSDT.aml mà công cụ SSDTTime (Công cụ tạo SSDT) đã trích xuất cho chúng ta ở các bước trước. Nhưng nếu bạn thích "đổi gió" hoặc gặp trục trặc, đây là một vài lựa chọn khác:
# Trích lục bằng Windows
-
- Hỗ trợ trích xuất DSDT ngon lành trên cả Windows và Linux.
8. Dump DSDT - Automatically dump the system DSDT- Chọn mục này khi chạy công cụ
acpidump.exe (opens new window)
- Trong Command prompt (Cửa sổ dòng lệnh), bạn chạy lệnh theo cú pháp:
đường dẫn/tới chỗ chứa file/acpidump.exe -b -n DSDT -z, Lệnh này sẽ trích xuất DSDT của bạn dưới dạng tệp .dat. Việc của bạn là đổi tên nó lại thành DSDT.aml
- Trong Command prompt (Cửa sổ dòng lệnh), bạn chạy lệnh theo cú pháp:
Lưu ý cực kỳ quan trọng: Nếu bạn chọn một trong 2 phương pháp trên khi đã khởi động Windows bằng bộ nạp khởi động như Clover hay OpenCore, tất cả các bản vá ACPI mà bạn bỏ trong Clover hay OpenCore sẽ bị "trộn chung" vào tệp DSDT vừa trích xuất. Cái này đôi khi làm bản trích xuất không còn giống với "bản gốc" nữa. Khuyến khích bạn khởi động trực tiếp Windows từ firmware của máy để có được bản DSDT nguyên bản nhất.
# Trích lục bằng Linux
- SSDTTime (opens new window)
- Hỗ trợ trích xuất DSDT ngon lành trên cả Windows và Linux.
4. Dump DSDT - Automatically dump the system DSDT
- Chọn mục này khi chạy công cụ. Lưu ý cực kỳ quan trọng: Nếu bạn thực hiện trích xuất khi đã khởi động Windows bằng bộ nạp khởi động như Clover hay OpenCore, tất cả các bản vá ACPI mà bạn bỏ trong Clover hay OpenCore sẽ bị "trộn chung" vào tệp DSDT vừa trích xuất. Khuyến khích bạn khởi động trực tiếp Linux từ firmware của máy để có được bản DSDT nguyên bản nhất.
# Trích lục bằng Clover
Dành cho các bác nào "còn vương vấn" hoặc đang sử dụng Clover, đây là cách đơn giản nhất để lấy các bảng ACPI
- Nhấn phím F4 tại Menu khởi động của Clover.
- DSDT sẽ nằm gọn gàng trong thư mục
EFI/CLOVER/ACPI/origin, nhớ là cái thư mục origin này bắt buộc phải được tạo sẵn trước khi nhấn nút trích xuất trên bàn phím nhé, không là nó không biết chui vào đâu đâu!
- DSDT sẽ nằm gọn gàng trong thư mục
# Trích lục bằng OpenCore
Với OpenCore, chúng ta có 2 "tuyệt chiêu":
# Mở tính năng đặc biệt SysReport
Kể từ phiên bản OpenCore 0.5.9, chúng ta có một Quirk (Tính năng đặc biệt) cực kỳ "xịn sò" tên là SysReport. Nó sẽ tự động trích xuất DSDT cho bạn ngay khi máy vừa hiện màn hình chọn ổ đĩa khởi động. Điểm yếu duy nhất là:
- Bạn phải có sẵn một chiếc USB OpenCore (Bộ nạp khởi động) đã có thể khởi động được rồi.
- Yêu cầu bạn phải dùng phiên bản DEBUG (Bản có tính năng gỡ lỗi) của OpenCore 0.5.9 trở lên.
Để giải quyết điều kiện thứ hai, bạn chỉ cần thay thế các tệp hiện tại trong EFI của bạn bằng phiên bản DEBUG (opens new window):
- EFI/BOOT/
BOOTx64.efi
- EFI/OC/Bootstrap/
Bootstrap.efi
- EFI/OC/Drivers/
OpenRuntime.efi
- EFI/OC/
OpenCore.efi
Về ý thứ nhất, bạn thực sự có thể "ăn gian" bằng cách tạm bỏ qua phần ACPI, quay lại Hướng dẫn cài đặt OpenCore (opens new window) để hoàn thành nốt việc tạo USB. Sau khi khởi động được vào màn hình chọn ổ đĩa (Picker), bạn có thể tắt nguồn máy và kiểm tra lại thành phẩm có trong USB của mình:

Và... "Ta-đa"! Bạn đã có trong tay tệp DSDT! Giờ thì tiếp tục công cuộc "nặn" SSDT thôi.
# Sử dụng UEFI Shell (Môi trường thực thi dòng lệnh UEFI)
Với cách này, chúng ta cần tải tệp acpidump.efi (opens new window), sau đó thêm nó vào thư mục EFI/OC/Tools và khai báo trong file config (tệp cấu hình) tại mục Misc -> Tools với tham số (argument) là: -b -n DSDT -z. Sau đó, chỉ cần chọn nó tại màn hình khởi động của OpenCore.
Nếu OpenCore "làm mình làm mẩy" không chịu chạy acpidump.efi từ màn hình chọn khởi động, bạn có thể kêu nó dậy thông qua Shell (Dòng lệnh) bằng công cụ OpenShell (opens new window)(nhớ khai báo nó ở EFI/OC/Tools và trong file config tại mục Misc -> Tools ) nha:
shell> fs0: // thay thế bằng đúng phân vùng ổ đĩa của bạn
fs0:\> dir // lệnh này để kiểm tra xem có đúng thư mục mình cần không
Directory of fs0:\
01/01/01 3:30p EFI
fs0:\> cd EFI\OC\Tools
fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z
Khi hoàn tất, bạn sẽ thấy tệp DSDT nằm trong thư mục EFI/OC/Tools với phần mở rộng là .dat. Hãy đổi tên tệp DSDT.dat này thành DSDT.aml để chúng ta dễ dàng làm việc ở các bước sau.