Ghi vào ổ đĩa định dạng NTFS trên Yosemite
Thỉnh thoảng mình cần gắn các USB được định dạng NTFS và ghi vào chúng. Trên Marvericks mình hoàn thành việc này bằng cách sử dụng công thức Homebrew ntfs-3g, cái phụ thuộc vào osxfuse
.
Sau khi nâng cấp lên Yosemite, osxfuse
bị hỏng. Tin nhắn từ Homebrew như sau:
==> Upgrading osxfuse
osxfuse: OS X Mavericks or older is required for this package.
OS X Yosemite introduced a strict unsigned kext ban which breaks this package.
You should remove this package from your system and attempt to find upstream
binaries to use instead.
Error: An unsatisfied requirement failed this build.
Mình cho rằng tin nhắn này có nghĩa là phần mở rộng nhân hệ thống (kernel extension-kext) được sử dụng bởi osxfuse
hoàn toàn không được cho phép trong Yosemite bởi vì nó không được cho phép bởi Apple, trong khi đó nó lại được cho phép ở Mavericks.
Vì vậy, có cách nào để gắn và ghi lên các USB được định dạng NTFS trong Yosemite mà sử dụng phần mềm nguồn mở hoặc phần mềm miễn phí (không phải là phần mềm gián điệp/phần mềm độc hại hay gắn kèm với những thanh công cụ vô dụng…) từ App Store?
Mở Terminal
Nếu bạn đã cài đặt brewed osxfuse, bạn phải gỡ bỏ nó, bởi vì hiện tại các kext chưa được đánh dấu ( unsigned kext) đã bị cấm.
Gõ:
brew cask uninstall osxfuse
Mặt khác, nếu bạn vẫn chưa có Homebrew, hãy tải nó về:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Khuyến cáo bạn nên cập nhật Homebrew:
brew update
Nếu bạn vẫn chưa cài Homebrew Cask, nhập dòng sau:
brew install caskroom/cask/brew-cask
Cài đặt một gói binary osxfuse từ Homebrew Cask:
brew cask install osxfuse
Cài đặt ntfs-3g :
brew install homebrew/fuse/ntfs-3g
Bạn cần tạo 1 liên kết tượng trưng (symlink) cho mount_ntfs , để các ổ đĩa gắn tự động:
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs
Nếu bạn đang dùng v và lệnh phía trên thất bại, thử lệnh sau:
sudo nvram boot-args="rootless=0"
Tuy nhiên, cách làm này không hiệu quả với mình trong bản El Capitan cuối cùng (từ Mac App Store). Mình phải vô hiệu hóa SIP qua sự khôi phục. Ai xác nhận hộ mình xem bước này có thực sự cần thiết hay không?
… và nhớ khởi động lại máy. Sau đó thử lại symlinking mount_ntfs.
Thường thì mình sử dụng Paragon NTFS, nhưng chỉ thử phương pháp này với 10.10.1 và có vẻ nó có hiệu quả sau khi kiểm tra sơ bộ (tạo 1 folder và sao chép một vài file nhỏ)
Sau khi vô hiệu hóa Paragon, một ổ đĩa flash được định dạng NTFS không thể ghi được:
Mình đã thêm drive đó và các cờ cần thiết đến file fstab của mình:
Sau đó rút ra và cắm lại ổ đĩa flash. Đảm bảo rằng nó không còn xuất hiện ở thanh nội dung dưới các thiết bị. Bạn phải qua thư mục Volumes để tìm nó. Tuy vậy, hiện tại nó lại có thể ghi được rồi
Không cần sử dụng phần mềm của bên thứ ba nào cả, nhưng bạn phải lặp lại thao tác này cho mọi mục tiêu NTFS volume.
Thêm vào đó, có một nguyên bản có thể thiết lập mọi thứ tự động:
http://sourceforge.net/projects/native-ntfs-osx/files/?source=navbar (chỉ hiệu quả trên OSX 10.5.5 Yosemite).
Gắn nhanh một đĩa NTFS đọc/viết trên tất cả các OS X gần đây (bao gồm cả Yosemite và El Capitan):
- Mở Application -> Utilities -> Terminal
- Nhập mount và tìm dòng có đĩa của bạn. Nó sẽ hiển thị kiểu như: /dev/disk3s1 on /Volumes/MyDisk (ntfs, local, noowners, nobrowse)
- Nhập dòng sau trong Terminal, thay thế /dev/diskXsX bằng đĩa của bạn như đã hiển thị trong lệnh
mount:
sudo mkdir /Volumes/Mount
*Đảm bảo rằng thiết bị chưa được gắn, nếu có, đầu tiên hãy tháo nó ra. Nếu không, nó sẽ gây ra lỗi: mount_ntfs: /dev/diskNsN on /Volumes/Mount: Resource busy
sudo umount /Volumes/<device_name> sudo mount -o rw,auto,nobrowse -t ntfs /dev/diskXsX /Volumes/Mount/ open /Volumes/Mount/
Để thay đổi vĩnh viễn , hãy làm theo các bước sau đây (đúng cho El Capitan):
- Chạy dòng lệnh sau, thay đổi đến đĩa của bạn:
export DEVICE=/dev/diskXsX echo UUID=`diskutil info $DEVICE | grep UUID | awk '{print $3}'` none ntfs rw,auto,nobrowse echo LABEL=NTFS none ntfs rw,auto,nobrowse
- Chạy sudo vifs và dán ở đầu ra từ 2 dòng trước. Để làm điều này, nhấn down để đến phía dưới cùng của thư mục, A để bắt đầu thêm nội dung văn bản, dán ở 2 dòng sau đó nhấn escape và :wq để ghi thư mục. (vifs là cách duy nhất an toàn để sửa fstab trên OS X).
- Chạy lệnh dưới đây để gắn ổ đĩa:
sudo umount /Volumes/$DEVICE sudo diskutil mountDisk $DEVICE sudo open `mount | grep $DEVICE | awk '{print $3}'`
Lưu ý: Thiết bị sẽ không còn tự động mở một cửa sổ khi bạn gắn nó. Để truy cập nó, mở một cửa sổ Finder và chọn Go
-> Go to Folder
to /Volumes