在Linux中掛載具有讀取/寫入權限的HFSPlus磁碟

在Linux中掛載具有讀取/寫入權限的HFSPlus磁碟

我意識到這個問題本質上類似於這個問題,但我希望特別引起人們對評論之一中的另一個問題的更多關注這個問題的答案

我取出了舊 MacbookPro 的硬碟,並嘗試將其安裝到我的 Elementary OS 機器上,它會自動將其安裝為唯讀。我想獲得對該磁碟機的讀寫存取權限。

運行後,按照上面鏈接的答案中給出的過程進行操作

sudo mount -t hfsplus -o remount,force,rw /dev/sdc2 /media/myharddrive

我明白了

mount: warning: /media/myharddrive seems to be mounted read-only.

對該問題的評論已註意到這一點,但尚未獲得足夠的關注來獎勵答案。為什麼它仍然是唯讀的?這不就是force保證嗎?

以下內容可能相關,也可能不相關:

我也sudo fsck.hfsplus -f /dev/sdc2跟著跑答案中連結的部落格文章並在不想執行日誌系統檢查-f後添加了標誌。fsck這運行得很好直到

** /dev/sdc2 ** Checking HFS Plus volume. ** Checking Extents Overflow file. ** Checking Catalog file. ** Checking multi-linked files. Orphaned indirect node iNode28863935 ** Checking Catalog hierarchy. ** Checking Extended Attributes file. ** Checking volume bitmap. ** Checking volume information. ** Repairing volume. ** Rechecking volume. ** Checking HFS Plus volume. ** Checking Extents Overflow file. ** Checking Catalog file. ** Checking multi-linked files. ** Checking Catalog hierarchy. ** Checking Extended Attributes file. ** Checking volume bitmap. ** Checking volume information. ** The volume myharddrive was repaired successfully. *** glibc detected *** fsck.hfsplus: munmap_chunk(): invalid pointer: 0x00000000022f9e30 ***

接下來是回溯和記憶體映射。這fsck通電話似乎對我的駕駛沒有任何影響,既不好也不壞。

有關如何獲得對我的驅動器的讀寫訪問權限的任何指示,無需啟動 OSX,將不勝感激。

編輯 邁克爾喬林 (Michael Kjörling) 的評論和回答解決了我存取資料的基本問題。但是,上面粗體的問題尚未解決,因此我編輯了該問題以強調這個問題,為未來的用戶留下了這個問題。

答案1

正如我們在評論中發現的,這裡可能存在兩個問題:

  1. 您正嘗試以普通使用者身分執行該副本。這可能會導致讀取原始檔案失敗,因為您沒有這些檔案的讀取權限。透過sudo像安裝一樣運行複製可以輕鬆糾正此問題。
  2. cp: omitting directory Documents/當嘗試透過 運行複製時,您會得到sudo。這根本不是權限問題,只需告訴cp包含子目錄即可解決。

將這兩者放在一起,您應該能夠使用類似命令複製文件sudo cp -av /media/myharddrive /somewhere/else,其中 /somewhere/else 存在並且可寫入。

-v參數並不是嚴格必需的,但在等待半小時或一小時後,您可能會喜歡在複製文件時列出文件。請注意,如果您有大量小文件,螢幕刷新可能會降低複製的吞吐量;在這種情況下,只需最小化視窗並偶爾檢查一下即可。

-a告訴 cp 在「歸檔」模式下運行,盡可能保留正在複製的文件,包括子目錄。或者您可以-r告訴它只保留目錄結構。

使用此功能,您應該能夠將檔案複製到更合適的位置,在那裡您可以更自由地使用它們,而不受 HFS+ 檔案系統支援的唯讀限制的限制。

答案2

我認為你的問題基本上是如何在不使用 OSX 的情況下關閉日誌記錄。

這需要對磁碟頭進行二進位編輯(駭客攻擊),因此日誌佔用的磁碟空間可能會遺失。

以下是兩個相當相似的 C 程式的指針,它們聲稱可以做到這一點:

我無法保證這些程式不會損壞磁碟,因此我建議您在磁碟的備份映像上嘗試此操作。

這篇文章可能有用: 如何掛載磁碟映像?

答案3

我經常遇到同樣的問題,到目前為止我學到了:成功進行 fsck 至關重要。由於這在您的機器上不起作用,我認為這應該是您的修復方法:

  • 您安裝了哪個版本的 hfsprogs / fsck.hfsplus?
  • 在我的機器上(運行 Debian)我從源安裝它(使用從不同來源下載的內容)

    wget "http"://"gentoo.osuosl.org/distfiles/diskdev_cmds-332.14.tar.gz"

    wget "http"://"gentoo.osuosl.org/distfiles/diskdev_cmds-332.14_p1.patch.bz2"

    tar xzf diskdev_cmds-332.14.tar.gz

    Bunzip2 -c diskdev_cmds-332.14_p1.patch.bz2 |補丁-p0

    cd diskdev_cmds-332.14

    make -f Makefile.lnx

    cp fsck_hfs.tproj/fsck_hfs /sbin/fsck.hfsplus

    cp newfs_hfs.tproj/newfs_hfs /sbin/mkfs.hfsplus

    ln -s /sbin/fsck.hfsplus /sbin/fsck.hfs

    ln -s /sbin/mkfs.hfsplus /sbin/mkfs.hfs

這樣,fsck 現在就可以在我的 hfs+ 磁碟上為我工作了。

答案4

如果您有任何在 Mac 中啟動的方法環境這應該透過正確禁用日記來解決。那是環境,換句話說,不是真正的 macOS;如果磁碟不再位於 Mac 上但 Mac 可以啟動,請將磁碟放入外部外殼中(或重新安裝)並從 Internet Recovery 啟動:R在 Intel Mac 開機期間和開機後按住該鍵。

如果你的機器比較新,我很抱歉成為這樣的 D,但你在目睹了蘋果所走的道路後,繼續從蘋果購買產品,這有點是你自己造成的。

使用“磁碟工具”或diskutil(可以從上面的選單之一存取終端),對磁碟進行一些 TLC,然後停用日誌記錄。停用日記功能應該在文件的選單磁碟工具它可能被隱藏,按下即可顯示它。

或在終端機中diskutil list找到您的磁碟 體積,然後確保該磁碟區已卸載:

  • diskutil unmountDisk disk1s7或者整個磁碟被卸載
  • diskutil unmountDisk disk1或者
  • diskutil unmountDisk /dev/disk1但沒有被驅逐;
  • diskutil eject <any-of-the-above>否則您必須重新連接它。並且,擺脫日記:
  • diskutil disableJournal disk1s7或者
  • diskutil disableJournal force disk1s7 …當然是用你的數據。

如果您決定使用新的檔案系統,請使用NTFS如果您使用 Windows,否則使用外部4。 ZFS 現在在大多數作業系統中,APFS 出於某種原因也是如此,Btrfs 也很好且易於使用,但它更容易處理 上的問題ext4,而且它與ZFS 和Btrfs 不同,它是可移植的,而其他需要導入池和額外的支援和元資料錯誤可能會毀掉整個事情。

或者,在此環境中您應該具有對磁碟的完全存取權。而且你似乎繞過CLI 沒有出現重大問題,所以在你的位置上,我無論如何都會有A 計劃的備份,這將是- 使用另一個磁碟上的第二個磁碟- 從第一個磁碟複製文件,然後再嘗試修改第一個。

在安裝程式或復原模式或非標準 macOS 的任何其他形式上啟動時,請注意檔案系統的結構,自從我在復原中啟動以來已經有一段時間了,但我相信/指的是即時環境的檔案系統,而您的實際磁碟將是在/Volumes/<your-volume-name>

如果您的 Mac 無法啟動或不再存在,您可以藉一台!我不知道為什麼沒有其他人建議這個。

最後努力情況

如果您沒有磁碟或網路共享來移動資料怎麼辦?

如果嘗試的話,這很可能會在 GUI 中失敗:一次進行一項修改,應用,要有極大的耐心。

您可以對磁碟進行分割區,建立 HFS 卷,無需日誌記錄,建立一個串聯磁碟集 (JBOD)並在其中移動盡可能多的數據,這將再次釋放原始磁碟區分區上的另一個區塊,並使用新磁碟區擴展 JBOD。重複直到完成。每個卷始終留有一點餘裕,*200-400MB 應該足夠安全。您可能無法恢復卷,但 JBOD 的規則很少。

或者和因為這在 Linux 中可能無法識別,所以我從未在那裡測試過它,忘記 JBOD,只需從該卷中取出數據即可,即使它現在被剝離為 3 打卷,它應該給您規劃下一步的一點餘地。

也許您在使用 Linux 後 JBOD-it 可以直接轉換為 Btrfs,並且 Btrfs 比任何其他東西都更靈活,這是它圍繞 ZFS 運行的一個區域。也許是最後一次遷移(hfsext4)?這是有風險的,但它至少是另一種選擇——如果你留在macOS 上,你就不會擁有那麼多(很好的決定;我仍然在macOS、Mojave,但我已經做好了在Mac 死機時放棄的充分準備) 。

將磁碟工具與“精緻磁碟”一起使用

如果「磁碟工具」無法辨識某些內容,則可能表示您的磁碟已損壞或其他原因。如果一次做太多,可能會損壞它本身。當您看到餅圖來對磁碟進行分割時,新增分割區設定、名稱、調整大小都是單獨的操作,我認為其中許多操作都會使磁碟工具失敗,因為磁碟可能響應不夠快,或將其解釋為磁碟壞了或它變得不耐煩可以這麼說nad 製作的愚蠢的東西實際上最終會出現在壞磁碟中。

在做我之前應該要提到的事後看來,你需要做的另一件可能挽救生命的是:終端運行gpt show -l /dev/disk1gpt show /dev/disk1並將這些表複製到文字檔案中,然後將其放入閃存驅動器或拍攝螢幕照片,IDK。將其直接放入文件中:gpt show -l /dev/disk1 > gpt-tables.txt ; gpt show /dev/disk1 >> gpt-tables.txt並將該文件移出機器。

如果磁碟工具搞砸了,它可以讓您重新建立分割區表。應急靴上沒有手冊頁,所以下面介紹一下它的使用方法 ( gpt)。

一次新增一個分割區,僅在新增時未按需要調整大小時才變更大小,變更檔案系統,按住 - 按一下下拉清單以顯示隱藏的分割區。不要更改新磁碟區的名稱,您可以在建立新磁碟區後執行此操作,這可能會使整個過程失敗。在第一個錯誤之後,從他們開始都是問題,有時它會在重新啟動後恢復,但最好不要推動它。在執行長換屆期間, 的品質控制在 High Sierra/Mojave 地區陷入困境。你Mac是典型的漂亮愚蠢的金發女郎,它不會成長為*Elle Woods^,不......她愚蠢。

相關內容