題 如何在Ubuntu中掛載HFS分區作為讀/寫?


我將我的外置硬盤(在我的Mac上格式化為HFS + journaled)連接到我的Ubuntu桌面9.04 64位。我無法通過寫入功能安裝驅動器,我該怎麼做?現在我得到的只是讀取權限,我試過了

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

但那仍然只給了我讀取權限......想法?


163
2017-12-17 07:16


起源




答案:


如果要從Ubuntu寫入日誌,則需要關閉日記功能。 Ubuntu只支持寫入非日誌的HFS +卷。

在你的Mac上:

  • 打開磁盤工具 應用程序 - >實用程序
  • 選擇要禁用日記功能的捲。
  • 選擇 禁用日記功能 從文件菜單中。 (在以後的Mac OS版本中,您必須在單擊“文件”菜單時按住選項按鈕。或者如果您願意 蘋果+Ĵ

在OS X Yosemite 10.10之前,仍然可以從HFS +禁用日記功能


73
2017-12-17 07:26



請注意,“不建議在主OS X分區上禁用日記功能,因為日記功能是任何可以防止損壞和數據丟失的文件系統的重要功能”(help.ubuntu.com/community/hfsplus) - Hay
@Hay你可以重新啟用日記功能。它所做的只是幫助系統在這種情況下恢復得更快(即異常關機)。不是世界末日。 - John T
不,這不是所有的日記。它還有助於防止文件系統損壞,這可能非常嚴重,只能通過重新格式化來修復。 - Wade Williams
在macos 10.6.8中,在步驟3中,按下“option + alt”打開文件菜單 - commonpike
@JohnT請你提供一個事實來源,“Ubuntu只支持寫入非日誌的HFS +卷”,請問?我正在做一些關於HFS +的研究,它會非常有用。謝謝。 - kalaracey


首先,確保你有 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#

172
2017-12-06 18:04



非常感謝您提供僅限Linux的解決方案! ^ _ ^ - FCTW
我在Ubuntu 12.04上,remount命令應該是這樣的 sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point。然後必須使用root來讀/寫數據。 - Coc
為什麼這沒有標記為答案? - Sheljohn
@Digiground和@Coc都失敗了 mount: warning: /media/mount/point seems to be mounted read-only. 在安裝了hfsprogs的Ubuntu 13.04上。 - here
@here我養了一個 題 解決這個問題。 - kinbiko


即使您沒有禁用日記功能,也可以在Linux中啟用寫入HFS +。除了你已經擁有的hfsplus之外,還需要安裝hfsprogs:

sudo apt-get install hfsprogs

然後,使用 -o force 選項:

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

如果驅動器已自動安裝(因為它應該在像Ubuntu這樣的桌面系統上),則可以啟用write with

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 找到哪個設備已安裝在哪個安裝點上。


27
2017-10-20 21:07



從Digiground的答案來看,你不要錯過命令中的rw部分嗎?我成功了他的選擇。 - meduz
@meduz:我在Ubuntu 10.04中不需要“rw”。我似乎現在需要它在12.04。所以我編輯了回复添加它。 - mivk


您是否嘗試過匹配權限?

默認情況下,Mac OS X會在日誌記錄的HFS +卷中格式化卷。日記功能可以提高數據可靠性,不幸的是,它使HFS驅動器在Linux中處於只讀狀態。

要禁用日記功能,只需啟動OS X並啟動磁盤工具。單擊HFS分區,按住Option鍵,然後單擊菜單欄中的“文件”。菜單中將出現禁用日記功能的新選項。單擊它,然後重新啟動進入Linux。您應具有對HFS分區的讀寫權限 - 但是,Mac用戶主文件夾上的權限將阻止您讀取或寫入這些文件。我們只需要在一個操作系統中更改我們的UID,使其與另一個操作系統中的UID相匹配。除非你有理由選擇其他方式,否則我們將改變我們的Linux UID以匹配我們的OS X,因為它更容易一些。默認情況下,OS X中的第一個用戶的UID為501,但您可以通過進入OS X中的“系統偏好設置”,右鍵單擊用戶並點擊“高級選項”來仔細檢查。如果您的用戶ID與501不同,請在下面的終端命令中將501替換為您的其他UID。

啟動進入Linux(我們在這個例子中使用Ubuntu)並啟動終端。首先,我們將添加一個臨時用戶,因為我們不想編輯我們當前登錄的用戶。因此,在終端中運行以下命令,在每個命令後按Enter鍵:

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

sudo passwd tempuser

出現提示時,為臨時用戶鍵入新密碼。重新啟動並以tempuser身份登錄。然後,打開終端並輸入以下命令,再次在每個命令後按Enter鍵(並用Linux用戶的用戶名替換用戶名):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

這會將您的Linux用戶的UID更改為501並修復您的主文件夾權限,以便您仍然擁有它們。現在,無論您登錄的操作系統是什麼,您都應該能夠讀取和寫入Mac和Linux用戶的主文件夾。

您可能還想修復登錄屏幕,因為默認情況下Ubuntu不會列出UID小於1000的用戶。為此,只需打開終端並運行gksudo gedit /etc/login.defs並蒐索UID_MIN in文本文件。將該值從1000更改為501,當您重新啟動用戶時,將在登錄屏幕中列出。

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


13
2018-01-31 19:48



好解!你剛剛救了我幾個小時:)唯一要補充的是刪除tempuser - > sudo userdel tempuser - Feida Kila


以防萬一將來可以幫助任何人 - 如果你甚至無法讓驅動器以只讀模式安裝,那可能是因為驅動器使用的是Apple Core Storage,它是HFS +的包裝器。看這裡:

在Ubuntu中掛載HFS +分區

在Arch Linux上掛載HFS +分區


1
2017-09-22 18:43