Làm cách nào để gắn kết phân vùng HFS trong Ubuntu dưới dạng Đọc / Ghi?


169

Tôi đã cắm ổ cứng ngoài (được định dạng trên máy Mac vào HFS + đã được ghi nhật ký) vào máy tính để bàn Ubuntu 9.04 64bit của tôi. Tôi không thể có được ổ đĩa để gắn kết với khả năng ghi, làm thế nào để tôi làm điều đó? Ngay bây giờ tất cả những gì tôi nhận được là truy cập đọc, tôi đã thử

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

nhưng điều đó vẫn cho tôi chỉ đọc quyền truy cập ... ý tưởng ??


Tôi cảm thấy câu trả lời cho câu hỏi này tốt hơn, dễ dàng hơn và an toàn hơn nhiều so với câu trả lời được cung cấp ở đây.
Mike Williamson

Câu trả lời:


75

Bạn cần tắt ghi nhật ký nếu bạn muốn viết thư cho nó từ Ubuntu. Ubuntu chỉ hỗ trợ ghi vào các tập HFS + không được ghi nhật ký.

Trên máy Mac của bạn:

  • Mở tiện ích đĩa trong Ứng dụng -> Tiện ích
  • Chọn âm lượng để tắt ghi nhật ký.
  • Chọn Vô hiệu hóa Nhật ký từ menu Tệp. (Trên các phiên bản Mac OS sau này, bạn sẽ phải giữ nút tùy chọn khi bạn nhấp vào menu Tệp. Hoặc nếu bạn thích Apple+ J)

Vô hiệu hóa ghi nhật ký từ HFS + vẫn có thể lên tới OS X Yosemite 10.10


4
Xin lưu ý rằng "Không nên ghi nhật ký trên phân vùng OS X chính của bạn vì ghi nhật ký là một tính năng quan trọng của bất kỳ hệ thống tệp nào có thể ngăn ngừa thiệt hại và mất dữ liệu" ( help.ub Ubuntu.com/community/hfsplus )
Hay

@Hay bạn có thể kích hoạt lại nhật ký. Tất cả những gì nó làm là giúp hệ thống phục hồi nhanh hơn trong một sự kiện như vậy (nghĩa là tắt máy bất thường). Không phải la tận cung của thê giơi.
John T

11
Không, đó không phải là tất cả các tạp chí. Nó cũng giúp ngăn ngừa tham nhũng hệ thống tập tin, có thể đủ nghiêm trọng để chỉ có thể sửa chữa được với một định dạng lại.
Wade Williams

8
trong macos 10.6.8, ở bước 3, hãy mở menu tệp với "tùy chọn + alt" được nhấn
thường

2
@JohnT Bạn có thể vui lòng cung cấp một nguồn cho thực tế rằng "Ubuntu chỉ hỗ trợ ghi vào các tập HFS + không được ghi nhật ký" không? Tôi đang thực hiện một số nghiên cứu về HFS + và nó sẽ rất hữu ích. Cảm ơn bạn.
kalaracey

187

Trước tiên, hãy chắc chắn rằng bạn đã cài đặt hfspross . Lệnh cài đặt ví dụ:

sudo apt-get install hfsprogs

Tiếp theo, gắn kết hoặc nối lại ổ HFS +; các lệnh cần phải như sau:

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

hoặc là

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

Cuối cùng, nếu ổ đĩa bị ngắt không đúng cách hoặc đã bị hỏng một phần, hãy chạy fsck.hfsplus (được cung cấp ở đây bởi Jayson) như sau:

sudo fsck.hfsplus /dev/sdx#

7
Cảm ơn bạn rất nhiều vì đã cung cấp một giải pháp duy nhất cho Linux! ^ _ ^
FCTW

13
Tôi đang dùng Ubuntu 12.04, lệnh remount sẽ như thế này sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point. Sau đó phải sử dụng root để đọc / ghi dữ liệu.
Cốc

19
Tại sao điều này không được đánh dấu là câu trả lời?
Sheljohn

4
Cả @Digiground và @Coc đều thất bại với mount: warning: /media/mount/point seems to be mounted read-only.Ubuntu 13.04 khi cài đặt hfspross.
ở đây

1
@here Tôi đã đưa ra một câu hỏi để giải quyết vấn đề đó.
kinbiko

27

Bạn có thể kích hoạt ghi vào HFS + trong Linux ngay cả khi bạn không tắt ghi nhật ký. Ngoài hfsplus mà bạn đã có, bạn cần cài đặt hfspross:

sudo apt-get install hfsprogs

Sau đó, sử dụng -o forcetùy chọn:

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

Nếu ổ đĩa được gắn tự động (như trên ổ cứng như Ubuntu), bạn có thể kích hoạt ghi với

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

hoặc là

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

/ mount / point thường sẽ là / media / Your_drive_label / dev / sdx là thiết bị HFS + của bạn

Sử dụng mount -lđể tìm thiết bị nào đã được gắn trên điểm gắn kết nào.


1
Từ câu trả lời của Digiground, bạn không bỏ lỡ phần rw trong lệnh ?? Tôi đã thành công với lựa chọn của mình.
meduz

@meduz: Tôi không cần "rw" trong Ubuntu 10.04. Tôi dường như cần nó bây giờ trong 12.04. Vì vậy, tôi đã chỉnh sửa trả lời để thêm nó.
mivk

13

Bạn đã cố gắng để phù hợp với quyền?

Theo mặc định, định dạng Mac OS X trong các tập HFS + được ghi nhật ký. Ghi nhật ký là một tính năng giúp cải thiện độ tin cậy của dữ liệu và thật không may, nó làm cho các ổ HFS chỉ đọc trong Linux.

Để tắt ghi nhật ký, chỉ cần khởi động vào OS X và kích hoạt Disk Utility. Nhấp vào phân vùng HFS của bạn, giữ phím Tùy chọn và nhấp vào Tệp trong thanh menu. Một tùy chọn mới để Vô hiệu hóa Nhật ký sẽ xuất hiện trong menu. Nhấn vào đó và khởi động lại vào Linux. Bạn nên có quyền đọc và ghi vào phân vùng HFS của bạn, tuy nhiên, các quyền trên thư mục nhà của người dùng Mac sẽ ngăn bạn đọc hoặc ghi các tệp đó. chúng ta chỉ cần thay đổi UID của mình trong một HĐH để nó phù hợp với UID khác. Trừ khi bạn có lý do để chọn cách khác, chúng tôi sẽ thay đổi UID Linux của chúng tôi để phù hợp với OS X của chúng tôi, vì nó dễ hơn một chút. Theo mặc định, người dùng đầu tiên trong OS X có UID là 501, nhưng bạn có thể kiểm tra kỹ điều này bằng cách vào Tùy chọn hệ thống trong OS X, nhấp chuột phải vào người dùng của bạn và nhấn Tùy chọn nâng cao.

Khởi động vào Linux (chúng tôi đang sử dụng Ubuntu trong ví dụ này) và kích hoạt Terminal. Đầu tiên, chúng tôi sẽ thêm người dùng tạm thời, vì chúng tôi không muốn chỉnh sửa người dùng mà chúng tôi hiện đang đăng nhập. Vì vậy, hãy chạy các lệnh sau trong Terminal, nhấn Enter sau mỗi lệnh:

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

sudo passwd tempuser

Nhập mật khẩu mới cho người dùng tạm thời khi được nhắc. Khởi động lại và đăng nhập như tempuser. Sau đó, mở Terminal và nhập các lệnh sau, một lần nữa nhấn enter sau mỗi lệnh (và thay thế tên người dùng của bạn bằng tên người dùng Linux của bạn):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Điều này sẽ thay đổi UID người dùng Linux của bạn thành 501 và sửa các quyền thư mục nhà của bạn để bạn vẫn sở hữu chúng. Bây giờ, bạn sẽ có thể đọc và ghi vào thư mục nhà của người dùng Mac và Linux, bất kể bạn đã đăng nhập vào hệ điều hành nào.

Bạn cũng có thể muốn sửa màn hình đăng nhập của mình, vì theo mặc định, Ubuntu sẽ không liệt kê người dùng có UID dưới 1000. Để thực hiện việc này, chỉ cần mở Terminal và chạy gksudo gedit /etc/login.defs và tìm kiếm UID_MIN trong các tập tin văn bản. Thay đổi giá trị đó từ 1000 thành 501 và khi bạn khởi động lại, người dùng của bạn sẽ được liệt kê trong màn hình đăng nhập.

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


1
giải pháp tuyệt vời! bạn vừa tiết kiệm cho tôi vài giờ :) điều duy nhất cần thêm là xóa tempuser -> sudo userdel tempuser
Feida Kila

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.