Mount Ext4 บน El Capitan


47

ฉันเพิ่งติดตั้ง OS X 10.11 บน Mac ของฉัน

ฉันพยายามอ่านการ์ด SD ที่มีพาร์ติชัน Ext4 ซึ่งไม่แสดงให้เห็นDisk Utilityถึงแม้ว่าจะdiskutilแสดงเป็นพาร์ติชัน Linux ก็ตาม

ฉันไม่สามารถเมาต์พาร์ติชันได้ ( mountดูเหมือนว่าคำสั่งจะเปลี่ยนแปลง แต่ฉันยังไม่ได้สำรวจอย่างเต็มที่)

ฉันได้FUSE for OS Xติดตั้งและอัปเดตเป็น 2.8.1 ฉันยังมีfuse-ext2แต่ถึงแม้ว่าสิ่งนี้จะแสดงในการตั้งค่าก็แสดง "ไม่ได้ติดตั้ง" ฉันพยายามติดตั้งใหม่จากไซต์ sourceforge แต่มีข้อผิดพลาดดังต่อไปนี้: -

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

มีวิธีแก้ไขปัญหาใด ๆ ที่อนุญาตให้ติดตั้งพาร์ติชัน Ext4


เดี๋ยวก่อนแค่สงสัยว่าคุณได้พบวิธีแก้ปัญหานี้หรือไม่?
dhruvvyas90

@dastaan ​​ฉันหลีกเลี่ยงงานดั้งเดิมโดยติดตั้งกับเครื่อง Linix ฉันได้ติดตั้ง Linix OS (Ubuntu MATE) ในเครื่องเสมือนและสามารถติดตั้ง Ext4 โดยใช้เครื่องอ่านการ์ด USB (ดูเหมือนว่าเครื่องอ่านภายในไม่สามารถเข้าถึงได้) สิ่งเหล่านี้ไม่เป็นที่น่าพอใจอย่างสิ้นเชิง ฉันไม่แน่ใจว่าจะปิดใช้งาน SIP หรือไม่ ฉันไม่เห็นว่าทำไม Apple ต้องการหยุดฉันโดยใช้เครื่องของฉันหรือเหตุใดจึงปฏิเสธที่จะสร้างในการสนับสนุน Ext4 (อย่างที่เคยทำกับ NTFS มานานหลายปี) - อย่างน้อยนี่ก็เป็นโอเพ่นซอร์ส ฉันยังหวังว่าใครบางคนจะสร้างการสนับสนุน Ext4 ซึ่งทำงานกับ SIP
Milliways

ขอบคุณสำหรับการตอบสนองอย่างรวดเร็ว. Lemme ทำโดยวิธีการของคุณอย่างน้อยตอนนี้ Btw ฉันลองปิดการใช้งานโหมด SIP เพื่อดูว่าใช้งานได้หรือไม่ แต่ไม่สามารถทำงานได้
dhruvvyas90

คำตอบ:


44

ลองใช้ext4fuseดู

ext4fuseนี่เป็นการใช้งานแบบอ่านอย่างเดียวของ ext4 สำหรับ FUSE เหตุผลหลักนี้มีอยู่เพื่อให้สามารถอ่านพาร์ทิชันลินุกซ์จาก OSX อย่างไรก็ตามควรทำงานบนการนำ FUSE ไปใช้งาน

การใช้งานพื้นฐานที่NและMใน/dev/diskNsMคือหมายเลขดิสก์และพาร์ติชัน (เช่น7และ1) ของข้อมูล Ext4 ("Linux") ของคุณ คุณสามารถค้นหาหมายเลขที่เหมาะสมสำหรับเครื่องของคุณได้จาก Disk Utility ของ OS X

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

บน macOS Sierra -o allow_otherจำเป็นต้องมีตัวเลือกดังเช่น:

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

ติดตั้งทั้งในext4fuseและosxfuseใช้Homebrew

brew cask install osxfuse
brew install ext4fuse

ตามเอกสารคุณอาจต้องเพิ่ม<your user>ไปยังoperatorกลุ่ม ที่นี่ใช้whoamiเพื่อค้นหาชื่อผู้ใช้ปัจจุบันของคุณ

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

ดูเพิ่มเติมแก้ไขสำหรับปัญหาการคลิก "อนุญาตให้" สำหรับ "การขยายระบบที่ถูกบล็อก" ข้อความosxfuseและosxfuseเอกสารสำหรับการติดตั้งตัวเลือกเช่นและallow_otherdefer_permissions


5
ขอบคุณสำหรับคำตอบนี้! มีประโยชน์มาก. ฉันต้องใช้sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_otherเพื่อติดตั้งก่อนที่ฉันจะสามารถเปิดได้ด้วยผู้ใช้ของฉัน ... ไม่สามารถเปิดดิสก์โดยsudoที่ระบบของฉันไม่ได้
Sean W.

2
บันทึกย่อที่นี่: "การอ้างอิง" ~/ในคำสั่งที่ใช้zshจริง ๆ แล้วจะสร้าง\~โฟลเดอร์แทนที่จะใช้โฮมไดเร็กตอรี่ พิจารณาลบเครื่องหมายคำพูดหรือใช้$HOMEแทน ฉันยืนยันว่างานนี้ไม่มีที่ติใน MacOS Sierra 10.12.3 :)
GabLeRoux

1
@GabLeRoux: ค่อนข้างถูกต้อง! รู้วิธี copypasta มากที่เกิดขึ้นใน superuser ผมเก็บไว้คำพูด $HOMEแต่เปลี่ยนไป ขอบคุณ!
Joel Purra

ดูเหมือนว่าจะทำงานไม่ถูกต้องตามที่ระบุในรายงานข้อผิดพลาดบางอย่าง: github.com/gerard/ext4fuse/issues/44
slhck

1
@JanM: จากext4fusereadme : "ถ้าคุณใช้ OS XI ขอแนะนำให้คุณพึ่งพาโครงการ homebrew"
Joel Purra

9

อย่าใช้ Paragon ExtFS สำหรับ OSX กับ El Capitan พอร์ตนั้นมีการทดลองอย่างมากแม้ว่า Paragon จะเรียกร้องการสนับสนุนสำหรับ El Capitan

ฉันได้รับความเสียหายสองเท่าของระบบไฟล์ ext4 1.5TB เกินขีด จำกัด ที่ไม่สามารถแก้ไขได้โดยใช้การติดตั้ง EL Capitan (10.11.3) สองครั้งบน MacBook Pro และ MacBook Air fsck -y /dev/sda(x)บนกล่อง linux หลังจากการถ่ายโอนไฟล์เสร็จสิ้นจะมีการอ้างสิทธิ์บล็อกที่อ้างสิทธิ์คูณทวีคูณหลายแสนบล็อกด้วยไฟล์และไดเรกทอรีหลายไฟล์ - filesytem หายไป!

ExtF ยังไม่ถูกนำมาใช้ใน DiskUtilty ใน Ela Capitan ดังนั้นคุณไม่สามารถตรวจสอบความสมบูรณ์ของระบบไฟล์หรือรูปแบบของคุณใน ext2 / 3/4 ...

Paragon Guys โปรดแก้ไขซอฟต์แวร์ของคุณโดยด่วน! การอ้างสิทธิ์ของคุณที่สนับสนุน El Capitan นั้นทำให้เข้าใจผิดมาก!

ในสรุปการถ่ายโอนข้อมูล Paragon ExtFS ด้วย OSX 10.11.x และไม่เสียเงิน $ 20 หรือยกเลิกการกลับไปที่ Yosemite หรือ OSX ก่อนหน้า หรือวางกล่อง Linux บนเครือข่าย GB ของคุณและคัดลอกผ่าน SMB มันปลอดภัยกว่า ....


เรื่องนี้อ่านเหมือนเรื่องสยองขวัญ! คุณเคยทำข้อตกลงกับ ExtFS ของ Paragon ในครั้งต่อไปหรือไม่เนื่องจากจะมีการอัปเดตประสบการณ์นี้หรือคุณหลีกเลี่ยงการใช้งานตั้งแต่นั้นมา ฉันคิดว่ามันเป็นตัวเลือก แต่สิ่งนี้ทำให้ฉันมีข้อกังวลที่ถูกต้องในการอ่านเพิ่มเติมก่อนที่จะทำเช่นนั้น
TCAllen07

ฉันมีความสยองขวัญที่คล้ายกันเมื่อไม่นานมานี้ แต่โชคดีที่ฉันสามารถกู้คืนไฟล์ของฉันได้ (ใช้เครื่องมือ windows เท่านั้น)
nyxee

4
น่ากลัวอย่างที่อาจเป็นได้นี่ไม่ใช่คำตอบสำหรับคำถามเกี่ยวกับวิธีการอ่านพาร์ติชัน ext4 บน Mac
Aleks G


5

ฉันได้ทำการแยก fuse-ext2ซึ่งติดตั้งทุกอย่างใน / Library และ / usr / local ดังนั้นคุณไม่ต้องปิดการใช้งาน SIP ใน Mac OS X El Capitan ดีใจที่คุณลอง ;-)


ดูน่าสนใจจนกระทั่งฉันไปถึงขั้นตอน Homebrew เป็นไปได้ไหมที่บางคนจะจัดทำแพคเกจที่ติดตั้งได้?
Milliways

1
Homebrew จำเป็นสำหรับแพคเกจ e2fsprogs เท่านั้น (คำสั่งเพื่อสร้างระบบไฟล์ ext ใหม่ทำการตรวจสอบระบบไฟล์ ext และอื่น ๆ ) fuse-ext2 ใช้คำสั่ง e2label จาก efsprogs เท่านั้นเพื่อรับเลเบลของไดรฟ์ข้อมูล ext ฉันคิดว่านี่เป็นสิ่งจำเป็นสำหรับการเมาท์แบบอัตโนมัติที่การใส่อุปกรณ์ (หน่วยความจำ USB, ฮาร์ดไดรฟ์ภายนอก, การ์ด SD) หากคุณโอเคกับการติดตั้งด้วยตนเองและไม่จำเป็นต้องสร้างระบบไฟล์ ext ใหม่หรือตรวจสอบระบบไฟล์ที่มีอยู่คุณสามารถออกจากการติดตั้ง Homebrew และ e2fsprogs
gpz500

และหากคุณมีการติดตั้ง e2fsprogs ในระบบของคุณ (จาก MacPorts, จาก Fink หรือรวบรวมจากแหล่งที่มา) คุณสามารถแก้ไขไฟล์/Library/Filesystems/fuse-ext2.fs/fuse-ext2.utilเพื่อใช้การติดตั้ง e2fsprogs ของคุณ
gpz500

เมื่อถึงจุดหนึ่งในขณะที่ตรวจสอบ didsks ของฉันฉันก็ขอให้ติดตั้ง e2fsck รุ่นใหม่ดังนั้นฉันเดาว่าผู้ที่มีการติดตั้ง e2fsprogs รุ่นเก่าจะได้รับคำแนะนำให้อัพเกรด
nyxee

5

หลังจากเยี่ยมชมหน้านี้พร้อมกับปัญหานี้นี่คือสิ่งที่ได้ผลสำหรับฉัน:

brew cask install osxfuse
brew install ext4fuse

ตอนนี้คุณต้องค้นหาระบบไฟล์ linux ของคุณดังนั้น

diskutil list 

สำหรับฉันมันมี

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

จากนั้นทำตามความคิดเห็นของ @Sean W.

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

และตอนนี้มันควรจะติดตั้ง


3
วิธีนี้ใช้งานได้เพียงลองบน mac ของฉันด้วยไดรฟ์ภายนอก EXT4 ที่ฟอร์แมตโดย Synology NAS ติดตั้งดี ขอบคุณ @Nicolas
James Wong

2
MacOS 10.13.3 บล็อก ext4fuse ไม่ให้ทำงาน ฉันต้องไปที่การตั้งค่าความปลอดภัยและอนุญาตให้ซอฟต์แวร์จากนักพัฒนา 'Benjamin Fleischer' ทำงาน โปรดตัดสินใจด้วยตนเองว่านี่เป็นการกระทำที่ปลอดภัยหรือไม่
Guy C

โซลูชันนี้ติดตั้งแบบอ่านอย่างเดียวหรือเขียนได้หรือไม่
knocte

1
โซลูชันนี้เป็นแบบอ่านอย่างเดียว
Diogo Cardoso

1
มันใช้งานได้ดีสำหรับฉันใน macOS Mojave! ช่วยให้diskutil listถูกต้องก่อนเสียบไดรฟ์ของคุณจากนั้นdiskutil listอีกครั้งเพื่อเปรียบเทียบเอาต์พุตและดูว่ามีการเพิ่มไดรฟ์ใด
cgenco

3

คำเตือน: เมื่อพบปัญหาเดียวกันกับที่อธิบายไว้ในคำตอบของ Schnorch ฉันไม่สามารถแนะนำโปรแกรมนี้ได้อีกต่อไป! คำตอบเดิมด้านล่างสำหรับลูกหลาน ...


ตัวเลือกการค้า ($ 20) คือParagon ExtFS สำหรับ OS Xซึ่งรองรับการอ่าน / เขียนการติดตั้ง ext2 / 3/4 ฉันใช้ตอนนี้ใน El Capitan

มันมีความน่ารำคาญเล็กน้อยเช่นดูเหมือนจะไม่ใส่ใจกับตัวเลือกการเมานท์ที่ระบุใน fstab ... แต่โดยทั่วไปดูเหมือนว่าจะทำงานได้ดี


fstab บน OSX อยู่ที่ไหน ฉันใช้ OSX 10.12 ฉันสามารถเข้าถึง ext4 ในโหมดอ่านอย่างเดียวเท่านั้นตอนนี้ ฉันเพิ่งสูญเสียพาร์ทิชัน ext4 ของฉัน แต่ฉันยังคงต่อสู้กับ Paragon ..
nyxee

2
เพียงแค่ย้ายไปที่ Linux ...
danger89
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.