Jak czytać i zapisywać zewnętrzny dysk twardy HFS + w systemie Ubuntu bez dostępu do OS X?

162

Mam HFS+ journaledzewnętrzny dysk twardy i muszę mieć możliwość zapisu na nim w systemie Ubuntu. Nie mam dostępu do mojego Maca, to tysiące mil stąd i nie będę miał do niego dostępu przez trzy miesiące.

Czy można coś zrobić bez utraty danych na dysku twardym?

przeciwieństwa
źródło
Użytkownicy ubuntu-MATEcaja : Niezależnie od tego, które z poniższych rozwiązań wybierzesz, wykonanie polecenia killall caja && caja .pomoże caja uzyskać „wiadomości, że folder jest teraz do zapisu.
Frank Nocke,

Odpowiedzi:

171

Zobacz Jak zamontować partycję HFS w Ubuntu jako odczyt / zapis? - Super użytkownik

Cytując od drugiej / trzeciej odpowiedzi w dół:

Najpierw upewnij się, że masz zainstalowane hfsprogs. Przykładowe polecenie instalacji:

sudo apt-get install hfsprogs

Następnie zamontuj lub ponownie podłącz dysk HFS +; polecenia muszą być następujące:

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

lub

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

...

Wreszcie, jeśli dysk został nieprawidłowo odmontowany lub w inny sposób został częściowo uszkodzony, uruchom fsck.hfsplus ... jako taki:

sudo fsck.hfsplus -f /dev/sdXY

Jest tam kopalnia innych informacji na temat montażu systemów plików HFS +.

Richard
źródło
dzięki, spróbuję. Informacje, które znalazłem, wskazywały, że ubuntu nie może obsłużyć zapisanego na dysku htfs + dysku i powiedział, że w OSX musi to być „nieuzasadnione”. Nie mam dostępu do OSX przez następne trzy miesiące, dlatego nie mogę cofnąć księgowania.
oppochips
1
Próbowałem i dostałem sudo mount -t hfsplus -o force, rw / dev / sdb2 / media / sdb2 mount: / dev / sbb2 już zamontowany lub / media / sdb2 zajęty mount: zgodnie z mtab, / dev / sdb2 jest zamontowany na / media / 1ad12b58-c2f2-39d3-955f-54ea66a96b2b Napęd (wolumin hfs + kronikowany) jest montowany tylko jako odczyt. czy można do niego pisać bez konieczności cofania kronikowania w systemie Mac OS? Próbowałem ostatniego polecenia i otrzymałem ** Sprawdzanie woluminu HFS Plus. fsck_hfs: Wolumin jest kronikowany. Nie przeprowadzono kontroli. fsck_hfs: Użyj opcji -f, aby wymusić sprawdzenie.
oppochips
Z linku zamieszczonego powyżej: „Musisz wyłączyć kronikowanie, jeśli chcesz pisać do niego z Ubuntu. Ubuntu obsługuje tylko zapis do woluminów HFS + bez kronikowania. Na komputerze Mac: Otwórz Narzędzie dyskowe w obszarze Aplikacje -> Narzędzia Wybierz wolumin, na którym chcesz wyłączyć kronikowanie. Wybierz Wyłącz kronikowanie z menu Plik. (W późniejszych wersjach Mac OS będziesz musiał przytrzymać przycisk opcji po kliknięciu menu Plik. Lub jeśli podoba Ci się Apple + J) „Nie mam” Czy masz dostęp do komputera Mac, czy można uzyskać dostęp do odczytu i zapisu na dysku bez utraty danych? dzięki b
oppochips
Zamiast tego powinieneś spróbować: sudo mount -t hfsplus -o remount,force,rw /dev/sdXY /media/mntpoint(lub pominąć /dev/sdXYi wskazać, gdzie jest on aktualnie zamontowany). Zmienię to w mojej odpowiedzi.
Richard,
1
dzięki. Co muszę umieścić zamiast „mountpoint”? Próbowałem sdb2 i otrzymałem sudo mount -t hfsplus -o remount, force, rw / dev / sdb2 / media / dev / sdb2 mount: mount point / media / dev / sdb2 nie istnieje, a następnie spróbowałem sudo mount -t hfsplus -o remount, force, rw / dev / sdb2 i dostał:
oppochips
30

Te kroki działają dla mnie (Ubuntu Studio 14.04):

sudo apt-get install hfsprogs

Sprawdź stan dysku:

sudo fsck.hfsplus -f /dev/sdXY

Odmontuj urządzenie:

sudo umount /media/sebastian/devicename

(utwórz folder, aby zamontować dysk)

Zamontuj dysk z uprawnieniami HFS + do odczytu / zapisu:

sudo mount -t hfsplus -o force,rw /dev/sdXY /home/sebastian/foldername
Sebastian Carullo
źródło
3
montuje to w porządku jako folder, ale nadal jest tylko do odczytu .... :( ... nie można znaleźć prostego sposobu na obejście ograniczeń systemu hfs + journal
Amphibio
To działa. Ale dlaczego potrzebujemy force?
qweruiop,
3
Otrzymuję następujący błąd:mount: wrong fs type, bad option, bad superblock on /dev/sda2, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so.
Jamie Hutber
24

Też miałem ten problem. Próbowałem fsck.hfsplus, umountponownie zamontować, ale sudo mount -t hfsplus -o remount,force,rwnic dla mnie nie działało.

Dla mnie zadziałało:

  1. odmontować za pomocą sudo umount /media/myMountPoint
  2. usuń punkt montowania za pomocą sudo rmdir
  3. odtwórz punkt montowania za pomocą sudo mkdiri
  4. ponownie zamontować za pomocą sudo mount -t hfsplus -o force,rw /dev/xxxx /media/myMountPoint

Mam nadzieję, że to również zadziała dla was.

kok
źródło
Uratowałeś mi życie!
Alex Chan
Z jakiegoś powodu to zadziałało. Nie mam pojęcia dlaczego. Katalog był pusty i montował go przed usunięciem bezpośrednio zamontowanego, ronawet z force,rw. Zrobiło to usunięcie i ponowne utworzenie katalogu.
Umar Ahmad
Powód „2” prawdopodobnie katalogiem punktu podłączenia jest „użytkownik: użytkownik”. ( ls -l to verify). In other words: sudo chown -c root: root myMountPoint / `prawdopodobnie również to naprawi. (odmontuj, zanim będzie to konieczne)
Frank Nocke
I z mojego doświadczenia: jeśli nie robisz punktów montowania poniżej, /media/<username>/ale gdzie indziej (lubię /mnt), „inteligentne” Ubuntu MATE na przykład nie usuwa i (błędnie) odtwarza foldery montowania raz za razem. - Łatwiej dla skryptu montowania, który trwa ...
Frank Nocke
12

Ponieważ nie mogę komentować (za mało reputacji tutaj :). Prześlę tę odpowiedź, aby zaznaczyć, że powyższa odpowiedź wydaje się dotyczyć hfs + HD, która nie jest opublikowana. Komenda „fsck.hfsplus” musi zostać wydana z opcją „-f”, aby pracować na woluminie rejestrowanym. Aby uniknąć zamieszania, skopiowałem poniższe polecenie:

$ sudo fsck.hfsplus /dev/sdXY

** /dev/sdXY
[snip....]
** The volume ########### appears to be OK.

Działałoby to tylko na woluminie, który nie został opublikowany w dzienniku. Nawet z opcją „-f” w woluminie rejestrowanym to sprawdzenie samo w sobie nie pozwoli na zamontowanie zamontowanego woluminu w trybie odczytu / zapisu. Uważam, że dziennikowanie musi być wyłączone.

Wydaje się, że nie ma stabilnego kodu, który mógłby wyłączyć dziennikowanie z systemu Linux. Zobacz link podany przez Richarda: http://ubuntuforums.org/showthread.php?t=1420673

Jeśli kronikowanie jest wyłączone, a dysk początkowo montuje się jako tylko do odczytu, odmontowanie i ponowne zamontowanie powinno umożliwić odczyt / zapis, jeśli dysk nie jest uszkodzony. Jeśli jest uszkodzony, należy uruchomić plik fsck.hfsplus.

Jonathan Gutow
źródło
11

Pożyczając z poprzedniej odpowiedzi, następujące kroki zadziałały dla mnie. Mam nadzieję, że jest to przydatne dla innych:

  1. Podłącz zewnętrzny dysk twardy.

  2. Zauważ, że Ubuntu montuje go automatycznie, ale jest tylko do odczytu.

  3. Odmontuj dysk (robię to po prostu klikając przycisk wysuwania w eksploratorze plików).

  4. sudo apt-get install hfsprogs

  5. $ sudo fsck.hfsplus /dev/sdXY 
    
    ** /dev/sdXY
    ** Checking HFS Plus volume.
    ** Detected a case-sensitive catalog.
    ** 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 ########### appears to be OK.
    

    ( sudo fsck.hfsplus -f /dev/sdXYjeśli system plików jest kronikowany).

  6. Ponownie podłącz dysk (robię to po prostu klikając dysk w eksploratorze plików).

  7. Dysk jest teraz w trybie do odczytu i zapisu.

brianpeiris
źródło
1
Powyższe jest prawdą, biorąc pod uwagę, że dysk nie ma włączonego kronikowania.
akostadinov
2
Postępowałem zgodnie z Twoimi instrukcjami i wszystko działa zgodnie z oczekiwaniami do 6. Ale na 7 dysk nadal jest tylko do odczytu.
Guilherme Salomé