# Tạo bộ cài trên macOS

Mặc dù bạn không nhất thiết phải cài lại mới macOS để sử dụng OpenCore, nhưng một số người dùng thích làm mới hệ thống hoàn toàn khi nâng cấp boot manager (trình quản lý khởi động).

Để bắt đầu, chúng ta cần tải một bản sao của macOS. Bạn có thể bỏ qua bước này và đi thẳng đến phần format USB nếu bạn chỉ định tạo một USB mồi OpenCore (bootable stick) chứ không phải bộ cài đặt. Với những trường hợp còn lại, bạn có thể tải macOS từ App Store hoặc dùng script của Munki.

# Tải macOS: Các hệ điều hành mới

Phương pháp này cho phép bạn tải macOS 10.13 và mới hơn. Với 10.12 trở về trước, hãy xem phần Tải macOS: Các hệ điều hành cũ.

Đối với máy macOS đáp ứng yêu cầu của phiên bản OS bạn muốn cài, hãy truy cập trực tiếp vào App Store để tải:

Đối với trường hợp bạn cần một phiên bản hệ điều hành cụ thể mà máy Mac đó không hỗ trợ hoặc không thể tải từ App Store:

# Sử dụng App Store

Sử dụng tùy chọn này nếu máy Mac bạn đang xài cũng đang đáp ứng yêu cầu của phiên bản OS bạn muốn tải, nếu tương tích bạn hãy vào App Store tải phiên bản OS mong muốn và tiếp tục tới phần Thiết lập bộ cài.

# Công cụ cập nhật phần mềm bằng dòng lệnh

Mở cửa sổ Terminal, sau đó sao chép và dán lệnh dưới đây:

softwareupdate --list-full-installers; echo; echo "Please enter version number you wish to download:"; read REPLY; [ -n "$REPLY" ] && softwareupdate --fetch-full-installer --full-installer-version "$REPLY"

Lệnh này sẽ đưa ra danh sách các phiên bản khả dụng để bạn chọn. Sau khi tải xong, nó sẽ được lưu trong thư mục Applications (Ứng dụng). Bạn có thể tiếp tục tới phần Thiết lập bộ cài.

# Công cụ InstallInstallMacOS của Munki

Lưu ý cho người dùng chạy macOS Monterey 12.3 trở lên

Bắt đầu từ macOS Monterey 12.3, Apple đã loại bỏ hỗ trợ python2.7, vì vậy nếu không có nó, installinstallmacos.py sẽ báo lỗi sau:

This tool requires the Python xattr module. Perhaps run 'pip install xattr' to install it.

Dịch sang tiếng Việt:

Công cụ này yêu cầu mô-đun xattr của Python. Có thể bạn cần chạy lệnh 'pip install xattr' để cài đặt mô-đun này.

Để khắc phục vấn đề này, mình khuyên bạn nên cài Command Line Tools for Xcode bằng cách chạy lệnh xcode-select --install trong Terminal và sau đó chạy pip3 install xattr.

Sau đó, bạn có thể chạy lại lệnh tương tự bên dưới nhưng dùng python3 thay vì xài python:

mkdir -p ~/macOS-installer && cd ~/macOS-installer && curl https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py > installinstallmacos.py && sudo python3 installinstallmacos.py

Để chạy công cụ này, chỉ cần copy và paste lệnh dưới đây vào cửa sổ Terminal:

mkdir -p ~/macOS-installer && cd ~/macOS-installer && curl https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py > installinstallmacos.py && sudo python installinstallmacos.py

Như bạn thấy, chúng ta nhận được một danh sách chi tiết các bộ cài macOS. Nếu bạn cần một phiên bản cụ thể, bạn có thể chọn bằng cách gõ số thứ tự tương ứng bên cạnh nó. Ví dụ này mình chọn số 10:

Quá trình này sẽ tốn chút thời gian vì chúng ta đang tải toàn bộ bộ cài macOS nặng hơn 8GB, vì vậy rất khuyến khích bạn đọc tiếp phần còn lại của hướng dẫn trong khi chờ đợi.

Khi hoàn tất, bạn sẽ tìm thấy trong thư mục ~/macOS-Installer/ có một file DMG chứa bộ cài macOS, ví dụ tên là Install_macOS_11.1-20C69.dmg. Mount (gắn) file đó ra và bạn sẽ thấy ứng dụng cài đặt.

  • Lưu ý 1: Mình khuyên bạn nên di chuyển file Install macOS.app vào thư mục /Applications, vì chúng ta sẽ thực thi các lệnh từ đó.
  • Lưu ý 2: Nhấn tổ hợp phím Cmd+Shift+G trong Finder sẽ cho phép bạn nhảy nhanh tới thư mục ~/macOS-installer.

Từ đây, hãy nhảy tới phần Thiết lập bộ cài để hoàn tất công việc. Nếu muốn kiểm tra tính toàn vẹn của file tải về, bạn có thể xem kho lưu trữ checksums (opens new window), tuy nhiên lưu ý rằng đây là các checksum do cộng đồng đóng góp và có thể không phải là cách đáng tin cậy nhất để kiểm tra tính xác thực.

# Tải macOS: Các hệ điều hành cũ

# Thiết lập bộ cài

Bây giờ chúng ta sẽ định dạng (format) USB để chuẩn bị cho cả bộ cài macOS và OpenCore. Chúng ta sẽ dùng định dạng macOS Extended (HFS+) với bản đồ phân vùng GUID Partition Map. Việc này sẽ tạo ra hai phân vùng: phân vùng chính tên MyVolume và phân vùng thứ hai tên EFI (dùng làm phân vùng khởi động, nơi firmware sẽ tìm các file boot).

  • Lưu ý 1: Phân vùng EFI được tạo ra khi format USB sẽ bị ẩn cho đến khi bạn mount nó. Nó sẽ được mount (gắn) sau ở phần Thiết lập môi trường EFI cho OpenCore
  • Lưu ý 2: Mặc định, Tiện ích ổ đĩa (Disk Utility) chỉ hiện các phân vùng (partitions) – nhấn Cmd/Win+2 để hiển thị tất cả thiết bị (hoặc nhấn nút View).
  • Lưu ý 3: Người sử dụng macOS làm theo phần "Hệ điều hành macOS cũ: Phương pháp Trực tuyến (Online)" có thể bỏ qua và tới thẳng phần Thiết lập môi trường EFI cho OpenCore

Formatting the USB

Tiếp theo chạy lệnh createinstallmedia được cung cấp bởi Apple (opens new window). Lưu ý rằng lệnh này dành cho USB đã được format với tên là MyVolume:

sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
Lưu ý cho người dùng Apple Silicon tạo bộ cài macOS cũ hơn Big Sur

Nếu lệnh createinstallmedia thất bại với lỗi zsh: killed hoặc Killed: 9 thì khả năng cao là do chữ ký mã (code signature) của bộ cài. Để sửa, chạy lệnh sau:

cd /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/
codesign -s - -f --deep /Applications/Install\ macOS\ Big\ Sur.app

Bạn cần cài đặt Command line tools for Xcode trước:

xcode-select --install

Quá trình này sẽ tốn một chút thời gian nên bạn có thể đi làm 1 ly cà phê hoặc tiếp tục đọc hướng dẫn (công bằng mà nói, bạn thực sự không nên làm theo hướng dẫn này từng bước một mà không đọc hết toàn bộ trước).

Bạn cũng có thể thay thế đường dẫn createinstallmedia bằng đường dẫn nơi bạn để file cài đặt (tương tự với tên ổ đĩa).

Các lệnh createinstallmedia cho bản cũ (Legacy)

Trích từ trang của Apple: Cách tạo bộ cài macOS có khả năng khởi động (opens new window)

# Ventura
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# Monterey
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# Big Sur
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# Catalina
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# Mojave
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# High Sierra
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

# Sierra
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app

# El Capitan
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app

# Yosemite
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Yosemite.app

# Mavericks
sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction

# Thiết lập chuẩn Legacy (Cho máy đời cũ)

Dành cho các hệ thống không hỗ trợ khởi động UEFI, xem bên dưới:

Thiết lập khởi động Legacy

Để bắt đầu, bạn cần những thứ sau:

  • BootInstall_IA32.tool hoặc BootInstall_X64.tool
    • Có thể tìm thấy trong OpenCorePkg tại đường dẫn /Utilties/LegacyBoot/
  • USB cài đặt macOS (Đã tạo ở trên)

Trong thư mục OpenCore của bạn, tìm tới Utilities/LegacyBoot. ại đây bạn sẽ thấy một file tên là BootInstall_ARCH.tool. Công dụng của nó là cài DuetPkg vào ổ đĩa mong muốn.

BootInstall Location

Bây giờ chạy công cụ này trong terminal với quyền sudo (Công cụ này khả năng cao sẽ lỗi nếu không có sudo):

# Thay X64 bằng IA32 nếu bạn xài CPU 32-Bit
sudo ~/Downloads/OpenCore/Utilities/legacyBoot/BootInstall_X64.tool

Disk Selection/writing new MBR

Nó sẽ hiện ra danh sách các ổ đĩa khả dụng, chọn ổ đĩa của bạn và bạn sẽ được hỏi để ghi MBR mới. Chọn yes [y] và bạn đã hoàn tất.

Finished Installer

Base EFI

Việc này sẽ cung cấp cho bạn một phân vùng EFI có chứa file bootia32 hoặc bootx64.

# Thiết lập môi trường EFI cho OpenCore

Thiết lập môi trường EFI cho OpenCore rất đơn giản – tất cả những gì bạn cần làm là mount phân vùng hệ thống EFI (EFI system partition). Phân vùng này tự động được tạo khi chúng ta format với chuẩn GUID nhưng mặc định sẽ không được mount, đây là lúc người bạn MountEFI (opens new window) của chúng ta phát huy tác dụng:

MountEFI

Bạn sẽ thấy rằng khi mở phân vùng EFI lên, nó trống trơn. Đây là lúc cuộc vui bắt đầu.

Empty EFI partition

Sau khi xong xuôi tất cả, hãy tới phần Thiết lập EFI để hoàn tất công việc của bạn.