วิธีการเมาท์พาร์ติชัน HFS ใน Ubuntu เป็นอ่าน / เขียน?


169

ฉันเสียบฮาร์ดไดรฟ์ภายนอกของฉัน (ซึ่งถูกจัดรูปแบบบน Mac ของฉันเป็น HFS + journaled) ไปยังเดสก์ท็อป Ubuntu 9.04 64 บิตของฉัน ฉันไม่สามารถใช้งานไดรฟ์เพื่อเขียนได้ฉันจะทำอย่างไร ตอนนี้สิ่งที่ฉันได้รับคือการเข้าถึงเพื่ออ่านฉันพยายามแล้ว

sudo mount -t hfsplus /dev/sdf2 /media/"Portable HD"

แต่นั่นก็ยังให้ฉันอ่านเท่านั้นการเข้าถึง ... ความคิด?


ฉันรู้สึกว่าคำตอบของคำถามนี้ดีกว่าง่ายกว่าและปลอดภัยกว่าคำตอบที่ให้ไว้ที่นี่
Mike Williamson

คำตอบ:


75

คุณต้องปิดการบันทึกถ้าคุณต้องการเขียนลงใน Ubuntu Ubuntu เท่านั้นที่รองรับการเขียนลงในไดรฟ์ข้อมูล HFS + ที่ไม่ได้รับการจดบันทึก

บน Mac ของคุณ:

  • เปิด Disk Utility ภายใต้Applications -> Utilities
  • เลือกระดับเสียงเพื่อปิดใช้งานการบันทึกรายวัน
  • เลือกDisable Journalingจากเมนู File (ในรุ่น Mac OS หลังจากนั้นคุณจะต้องกดปุ่มตัวเลือกค้างไว้เมื่อคุณคลิกเมนูไฟล์หรือถ้าคุณต้องการApple+ J)

การปิดใช้งานการบันทึกรายวันจาก HFS + ยังคงเป็นไปได้ถึง OS X Yosemite 10.10


4
โปรดทราบว่า "ไม่แนะนำให้ปิดใช้งานการทำเจอร์นัลในพาร์ติชัน OS X หลักของคุณเนื่องจากการทำเจอร์นัลเป็นคุณสมบัติที่สำคัญของระบบไฟล์ใด ๆ ที่สามารถป้องกันความเสียหายและการสูญหายของข้อมูล" ( help.ubuntu.com/community/hfsplus )
Hay

@Hay คุณสามารถเปิดใช้งาน journaling อีกครั้ง จะช่วยให้ระบบกู้คืนได้เร็วขึ้นในเหตุการณ์ดังกล่าว (เช่นการปิดระบบที่ผิดปกติ) ไม่ใช่จุดจบของโลก
John T

11
ไม่นั่นไม่ใช่การทำเจอร์นัลทั้งหมด นอกจากนี้ยังช่วยป้องกันความเสียหายของระบบไฟล์ซึ่งอาจร้ายแรงพอที่จะแก้ไขได้ด้วยการฟอร์แมตใหม่เท่านั้น
ลุยวิลเลียมส์

8
ใน macos 10.6.8 ในขั้นตอนที่ 3 เปิดเมนูไฟล์โดยกด "ตัวเลือก + alt"
commonpike

2
@JohnT คุณช่วยกรุณาระบุแหล่งที่มาสำหรับข้อเท็จจริงที่ว่า "อูบุนตูมีเพียงการสนับสนุนสำหรับการเขียนลงในไดรฟ์ HFS + ที่ไม่ใช่ journaled" โปรด? ฉันกำลังทำการวิจัยเกี่ยวกับ HFS ​​+ และมันจะมีประโยชน์มาก ขอขอบคุณ.
kalaracey

187

ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งhfsprogsแล้ว คำสั่งการติดตั้งตัวอย่าง:

sudo apt-get install hfsprogs

ถัดไปเมานต์หรือเมานต์ HFS + ใหม่ คำสั่งจะต้องเป็นดังนี้:

sudo mount -t hfsplus -o force,rw /dev/sdx# /media/mntpoint

หรือ

sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point

ในที่สุดหากไดรฟ์ถูกถอดออกอย่างไม่ถูกต้องหรือเกิดความเสียหายบางส่วนให้เรียกใช้fsck.hfsplus (ให้โดย Jayson ที่นี่ ) เช่น:

sudo fsck.hfsplus /dev/sdx#

7
ขอบคุณมากสำหรับการให้บริการโซลูชัน Linux เท่านั้น! ^ _ ^
FCTW

13
ฉันบน Ubuntu 12.04 คำสั่ง remount sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/pointที่ควรจะเป็นเช่นนี้ จากนั้นต้องใช้รูทเพื่ออ่าน / เขียนข้อมูล
Coc

19
ทำไมสิ่งนี้จึงไม่ถูกทำเครื่องหมายเป็นคำตอบ?
Sheljohn

4
@Digiground และ @Coc ล้มเหลวทั้งคู่mount: warning: /media/mount/point seems to be mounted read-only.ใน Ubuntu 13.04 ที่ติดตั้ง hfsprogs
ที่นี่

1
@ ที่นั่นฉันได้ถามคำถามเพื่อแก้ไขปัญหานั้น
kinbiko

27

คุณสามารถเปิดใช้งานการเขียนไปยัง HFS + ใน Linux ได้แม้ว่าคุณจะไม่ได้ปิดใช้งานการบันทึกรายวัน นอกเหนือจาก hfsplus ที่คุณมีอยู่แล้วคุณต้องติดตั้ง hfsprogs:

sudo apt-get install hfsprogs

จากนั้นใช้-o forceตัวเลือก:

sudo mount -o force /dev/sdX /your/mount/point

หากมีการติดตั้งไดรฟ์โดยอัตโนมัติ (ควรอยู่ในระบบเดสก์ท็อปเช่น Ubuntu) คุณสามารถเปิดใช้งานการเขียนได้

sudo mount -o remount,rw,force /mount/point

หรือ

sudo mount -o remount,rw,force /dev/sdx

/ mount / point มักจะเป็น / media / Your_drive_label / dev / sdx เป็นอุปกรณ์ HFS + ของคุณ

ใช้mount -lเพื่อค้นหาอุปกรณ์ที่ติดตั้งบนจุดเชื่อมต่อใดแล้ว


1
จากคำตอบของ Digiground คุณไม่พลาดส่วน rw ในคำสั่งหรือไม่? ฉันประสบความสำเร็จกับตัวเลือกของเขา
meduz

@meduz: ฉันไม่ต้องการ "rw" ใน Ubuntu 10.04 ฉันดูเหมือนจะต้องการมันตอนนี้ใน 12.04 ดังนั้นฉันจึงแก้ไขคำตอบเพื่อเพิ่ม
mivk

13

คุณพยายามจับคู่การอนุญาตแล้วหรือยัง

ตามค่าเริ่มต้นรูปแบบ Mac OS X ในปริมาณ HFS + ที่ถูกเจอร์นัล การจดบันทึกเป็นคุณสมบัติที่ปรับปรุงความน่าเชื่อถือของข้อมูลและน่าเสียดายที่ทำให้ไดรฟ์ HFS อ่านได้อย่างเดียวใน Linux

หากต้องการปิดใช้งานการบันทึกรายวันเพียงแค่บูตเข้าสู่ OS X และปิดไฟ Disk Utility คลิกที่พาร์ติชัน HFS ของคุณกดปุ่มตัวเลือกแล้วคลิกไฟล์ในแถบเมนู ตัวเลือกใหม่สำหรับปิดการใช้งานการบันทึกจะปรากฏขึ้นในเมนู คลิกที่นั้นและรีบูตใน Linux คุณควรอ่านและเขียนการเข้าถึงพาร์ติชัน HFS ของคุณอย่างไรก็ตามการอนุญาตในโฟลเดอร์หลักของผู้ใช้ Mac ของคุณจะป้องกันไม่ให้คุณอ่านหรือเขียนไฟล์เหล่านั้น เราแค่ต้องเปลี่ยน UID ของเราในระบบปฏิบัติการเดียวเพื่อให้ตรงกับ UID ในอีกระบบหนึ่ง หากคุณไม่มีเหตุผลในการเลือกเป็นอย่างอื่นเราจะเปลี่ยน Linux UID ของเราให้ตรงกับ OS X หนึ่งเนื่องจากง่ายกว่าเล็กน้อย ตามค่าเริ่มต้นผู้ใช้รายแรกใน OS X จะมี UID เป็น 501 แต่คุณสามารถตรวจสอบซ้ำได้โดยไปที่การตั้งค่าระบบใน OS X คลิกขวาที่ผู้ใช้ของคุณและกดปุ่มตัวเลือกขั้นสูง

บูตเข้าสู่ Linux (เราใช้ Ubuntu ในตัวอย่างนี้) และเปิดไฟร์มินัล อันดับแรกเราจะเพิ่มผู้ใช้ชั่วคราวเนื่องจากเราไม่ต้องการแก้ไขผู้ใช้ที่เราเข้าสู่ระบบในปัจจุบัน ดังนั้นให้รันคำสั่งต่อไปนี้ในเทอร์มินัลโดยกด Enter หลังจากแต่ละคำสั่ง:

sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser

sudo passwd tempuser

พิมพ์รหัสผ่านใหม่สำหรับผู้ใช้ชั่วคราวเมื่อได้รับแจ้ง รีบูตและเข้าสู่ระบบในฐานะ tempuser จากนั้นเปิด Terminal ขึ้นมาแล้วพิมพ์คำสั่งต่อไปนี้กด Enter อีกครั้งหลังจากแต่ละอัน (และแทนที่ชื่อผู้ใช้ของคุณด้วยชื่อผู้ใช้ Linux ของคุณ):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

สิ่งนี้จะเปลี่ยน UID ของผู้ใช้ Linux เป็น 501 และแก้ไขสิทธิ์การใช้งานโฟลเดอร์บ้านของคุณเพื่อให้คุณยังคงเป็นเจ้าของ ตอนนี้คุณควรจะสามารถอ่านและเขียนไปยังโฟลเดอร์หลักของผู้ใช้ Mac และ Linux ได้ไม่ว่าคุณจะใช้ระบบปฏิบัติการใด

คุณอาจต้องการแก้ไขหน้าจอการเข้าสู่ระบบของคุณเนื่องจากโดยค่าเริ่มต้น Ubuntu จะไม่แสดงรายชื่อผู้ใช้ที่มี UID น้อยกว่า 1,000 เมื่อต้องการทำสิ่งนี้ให้เปิด Terminal และเรียกใช้ gksudo gedit /etc/login.defs และค้นหา UID_MIN ใน ไฟล์ข้อความ เปลี่ยนค่าจาก 1,000 เป็น 501 และเมื่อคุณรีบูตผู้ใช้ของคุณจะแสดงรายการในหน้าจอเข้าสู่ระบบ

http://lifehacker.com/5702815/the-complete-guide-to-sharing-your-data-across-multiple-operating-systems


1
ทางออกที่ดี! คุณเพิ่งบันทึกฉันไม่กี่ชั่วโมง :) สิ่งเดียวที่จะเพิ่มคือลบ tempuser -> sudo userdel tempuser
Feida Kila

2

ในกรณีนี้จะช่วยให้ทุกคนในอนาคต - หากคุณไม่สามารถรับไดรฟ์เพื่อติดตั้งในโหมดอ่านอย่างเดียวอาจเป็นเพราะไดรฟ์ใช้ Apple Core Storage ซึ่งเป็นตัวหุ้มรอบ HFS ​​+ ดูที่นี่:

การติดตั้งพาร์ติชัน HFS + ใน Ubuntu

การเมาท์พาร์ติชัน HFS + บน Arch Linux

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