Núi Ext4 trên El Capitan


47

Gần đây tôi đã cài đặt OS X 10.11 trên máy Mac của mình.

Tôi đã cố đọc thẻ SD có phân vùng Ext4 thậm chí không được hiển thị Disk Utility, mặc dù diskutilđã hiển thị nó dưới dạng phân vùng Linux.

Tôi dường như không thể gắn kết phân vùng ( mountlệnh dường như đã thay đổi, nhưng tôi chưa khám phá điều này đầy đủ).

Tôi đã FUSE for OS Xcài đặt và cập nhật lên 2.8.1. Tôi cũng đã có fuse-ext2, nhưng mặc dù điều này đã được hiển thị trong Tùy chọn, nó hiển thị "Chưa được cài đặt". Tôi đã cố cài đặt lại từ trang web sourceforge, nhưng gặp lỗi sau: -

This package is incompatible with this version of OS X and may fail to install.

Có bất kỳ giải pháp nào để cho phép các phân vùng Ext4 được gắn kết.


Này, chỉ tự hỏi nếu bạn đã tìm thấy một giải pháp cho vấn đề này?
dhruvvyas90

@dastaan ​​Tôi đã làm việc xung quanh nhiệm vụ ban đầu của mình bằng cách gắn trên máy Linix. Tôi cũng đã cài đặt hệ điều hành Linix (Ubuntu MATE) trong một máy ảo và có thể gắn Ext4 bằng đầu đọc thẻ USB (đầu đọc bên trong dường như không thể truy cập được). Cả hai điều này là hoàn toàn thỏa đáng; Tôi không quyết định có nên tắt SIP hay không. Tôi không thấy lý do tại sao Apple muốn ngăn tôi sử dụng máy của mình hoặc tại sao hãng lại từ chối xây dựng hỗ trợ Ext4 (như đã làm với NTFS trong nhiều năm) - ít nhất đây là nguồn mở. Tôi vẫn hy vọng ai đó sẽ xây dựng hỗ trợ Ext4 hoạt động với SIP.
Milliways

Cảm ơn đã phản ứng nhanh chóng. Hãy làm điều đó bằng phương pháp của bạn, ít nhất là bây giờ. Btw Tôi đã thử tắt chế độ SIP để xem nó có hoạt động không. Nhưng không thể làm cho nó hoạt động.
dhruvvyas90

Câu trả lời:


44

Hãy thử sử dụng ext4fuse.

ext4fuse Đây là một triển khai chỉ đọc của ext4 cho FUSE. Lý do chính điều này tồn tại là để có thể đọc các phân vùng linux từ OSX. Tuy nhiên, nó nên hoạt động trên bất kỳ triển khai FUSE nào.

Sử dụng cơ bản, ở đâu NMtrong /dev/diskNsMcác số đĩa và phân vùng (như 71) của dữ liệu Ext4 ("Linux") của bạn. Bạn có thể tìm thấy những con số thích hợp này cho máy của mình trong Tiện ích đĩa của OS X '.

mkdir -p "$HOME/tmp/my-linux-mount"
ext4fuse "/dev/diskNsM" "$HOME/tmp/my-linux-mount"

Trên macOS Sierra, tùy chọn -o allow_otherlà cần thiết , như trong:

ext4fuse /dev/diskNsM $HOME/tmp/my-linux-mount -o allow_other

Cài đặt cả hai ext4fuseosxfusesử dụng Homebrew .

brew cask install osxfuse
brew install ext4fuse

Theo các tài liệu , bạn cũng có thể phải thêm <your user>vào operatornhóm. Ở đây sử dụng whoamiđể tìm tên người dùng hiện tại của bạn.

sudo dscl . append /Groups/operator GroupMembership "$(whoami)"

Xem thêm cách khắc phục các sự cố khi nhấp vào "cho phép" đối với thông báo "Bị chặn mở rộng hệ thống"osxfuse và các osxfusetài liệu cho các tùy chọn gắn kết, chẳng hạn như allow_otherdefer_permissions.


5
Cảm ơn câu trả lời này! Rất hữu ích. Tôi đã phải sử dụng sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_otherđể gắn kết nó trước khi tôi có thể mở nó với người dùng của mình ... Không thể mở đĩa mà không có sudotrên hệ thống của tôi
Sean W.

2
Ghi chú nhanh ở đây ,: "trích dẫn" ~/trong một lệnh bằng cách sử dụng zshsẽ thực sự tạo \~thư mục thay vì sử dụng thư mục chính. Xem xét loại bỏ dấu ngoặc kép hoặc sử dụng $HOMEthay thế. Tôi xác nhận điều này hoạt động hoàn hảo trên MacOS Sierra 10.12.3 :)
GabLeRoux

1
@GabLeRoux: hoàn toàn đúng! Biết bao nhiêu copypasta xảy ra trên superuser, tôi giữ nguyên dấu ngoặc kép nhưng đổi thành $HOME. Cảm ơn!
Joel Purra

Điều này dường như không hoạt động đúng, như được chỉ ra bởi một số báo cáo lỗi: github.com/gerard/ext4fuse/issues/44
slhck

1
@JanM: từ ext4fusereadme : "Nếu bạn sử dụng OS XI, bạn nên dựa vào dự án homebrew."
Joel Purra

9

Đừng sử dụng Paragon ExtFS cho OSX với El Capitan. Cổng này rất thử nghiệm mặc dù thực tế là Paragon yêu cầu hỗ trợ cho El Capitan.

Tôi đã làm hỏng hai lần hệ thống tệp ext4 1,5TB vượt quá giới hạn không thể khắc phục, sử dụng hai cài đặt độc lập EL Capitan (10.11.3) trên MacBook Pro và MacBook Air. fsck -y /dev/sda(x)trên một hộp linux sau khi hoàn tất quá trình truyền tệp đang yêu cầu hàng trăm nghìn khối được yêu cầu nhiều lần với một số tệp và thư mục - filesytem đã biến mất!

ExtF cũng không được triển khai trong DiskUtilty trong Ela Capitan, do đó bạn không thể kiểm tra tính toàn vẹn của hệ thống tệp cũng như định dạng trong ext2 / 3/4 ...

Paragon Guys hãy sửa chữa phần mềm của bạn khẩn cấp! Yêu cầu của bạn hỗ trợ El Capitan là rất sai lệch!

Tóm lại, đổ Paragon ExtFS với OSX 10.11.x và không lãng phí 20 đô la của bạn hoặc quay trở lại Yosemite hoặc OSX trước đó. Hoặc đặt Hộp Linux trên mạng GB của bạn và sao chép qua SMB. An toàn hơn ....


Điều này đọc như một câu chuyện kinh dị! Bạn đã có bất kỳ giao dịch nào sau đó với ExtFS của Paragon vì điều đó sẽ cập nhật trải nghiệm này hay bạn đã tránh sử dụng nó kể từ đó? Tôi đã xem xét nó như là một lựa chọn, nhưng điều này mang lại cho tôi những mối quan tâm chính đáng để đọc thêm trước khi làm như vậy.
TC ALLen07

Gần đây tôi đã có một nỗi kinh hoàng tương tự, nhưng may mắn thay, tôi đã có thể khôi phục các tập tin của mình (chỉ sử dụng các công cụ windows).
nyxee

4
Kinh khủng như nó có thể, đây không phải là một câu trả lời cho câu hỏi làm thế nào để đọc phân vùng ext4 trên Mac.
Aleks G


5

Tôi đã tạo một nhánh của fuse-ext2 để cài đặt mọi thứ trong / Library và / usr / local, để bạn không phải tắt SIP trong Mac OS X El Capitan. Vui mừng nếu bạn thử nó ;-).


Trông thú vị cho đến khi tôi đến bước Homebrew. Có ai đó có thể tạo ra một gói có thể cài đặt không?
Milliways

1
Homebrew chỉ cần thiết cho gói e2fspross (các lệnh để tạo một hệ thống tập tin ext mới, kiểm tra hệ thống tập tin ext, v.v.). fuse-ext2 chỉ sử dụng lệnh e2label từ efspross, để lấy nhãn của một ổ đĩa mở rộng. Tôi nghĩ rằng điều này là cần thiết để tự động gắn kết khi lắp thiết bị (thẻ nhớ USB, ổ cứng ngoài, thẻ SD). Nếu bạn ổn với việc gắn thủ công và không cần tạo các hệ thống tệp mở rộng mới hoặc để kiểm tra các hệ thống tệp hiện có, bạn có thể bỏ cài đặt Homebrew và e2fspross.
gpz500

Và, nếu bạn đã cài đặt e2fspross trong hệ thống của mình (từ MacPorts, từ Fink hoặc được biên dịch từ các nguồn), bạn có thể chỉnh sửa tệp /Library/Filesystems/fuse-ext2.fs/fuse-ext2.utilđể sử dụng cài đặt e2fspross của mình.
gpz500

tại một số điểm, trong khi kiểm tra các phần mềm của tôi, tôi đã được yêu cầu cài đặt phiên bản mới hơn của e2fsck vì vậy tôi đoán ngay cả những người có cài đặt e2fsposs cũ hơn cũng nên nâng cấp.
nyxee

5

Sau khi truy cập trang này với vấn đề này, đây là những gì làm việc cho tôi:

brew cask install osxfuse
brew install ext4fuse

Bây giờ bạn cần tìm hệ thống tập tin linux của bạn, vì vậy

diskutil list 

Đối với tôi nó đã có

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   5:           Linux Filesystem                         149.0 GB   disk0s5

Sau đó theo dõi bình luận của @Sean W.,

sudo ext4fuse /dev/disk0s5 ~tmp/my-linux-mount -o allow_other

Và nó nên được gắn kết.


3
Giải pháp này hoạt động, chỉ cần thử nó trên máy mac của tôi với ổ đĩa ngoài EXT4 được định dạng bởi Synology NAS. Gắn kết tốt. Cảm ơn @Nicolas
James Wong

2
MacOS 10.13.3 chặn ext4fuse khỏi chạy. Tôi cần phải đi đến cài đặt bảo mật và cho phép phần mềm từ nhà phát triển 'Benjamin Fleischer' chạy. Hãy đưa ra quyết định của riêng bạn về việc đây có phải là một hành động an toàn để thực hiện.
Guy C

giải pháp này gắn kết nó chỉ đọc hay nó có thể ghi được?
knocte

1
Giải pháp này là chỉ đọc.
Diogo Cardoso

1
Điều này làm việc rất tốt cho tôi trên macOS Mojave! Nó giúp diskutil listđúng trước khi cắm ổ đĩa của bạn, sau đó diskutil listmột lần nữa để so sánh đầu ra và xem ổ đĩa nào đã được thêm vào.
cgenco

3

Cảnh báo: Đã trải qua một số vấn đề tương tự được mô tả trong câu trả lời của Schnorch, tôi không còn có thể đề xuất chương trình này nữa! Câu trả lời gốc bên dưới cho hậu thế ...


Tùy chọn thương mại ($ 20) là Paragon ExtFS cho OS X , hỗ trợ cài đặt đọc / ghi của ext2 / 3/4. Tôi đang sử dụng nó tại El Capitan.

Nó có một vài phiền toái, chẳng hạn như dường như không chú ý đến các tùy chọn gắn kết được chỉ định trong fstab ... Nhưng nhìn chung có vẻ làm rất tốt.


Fstab ở đâu trên OSX? Tôi đang sử dụng OSX 10.12. tôi chỉ có thể truy cập ext4 ở chế độ chỉ đọc bây giờ. Gần đây tôi đã mất các phân vùng ext4 nhưng tôi vẫn chiến đấu với Paragon ..
nyxee 30/03/2017

2
Chỉ cần chuyển sang Linux ...
nguy hiểm89
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.