Как читать и писать в журнале HFS + внешний жесткий диск в Ubuntu без доступа к OS X?


162

У меня есть HFS+ journaledвнешний жесткий диск, и я должен иметь возможность писать на него в Ubuntu. У меня нет доступа к моему Mac, он за тысячи миль, и у меня не будет доступа к нему в течение трех месяцев.

Можно ли что-либо сделать без потери данных на жестком диске?


Пользователи ubuntu-MATEcaja : какое бы решение вы ни выбрали, выполнение команды killall caja && caja .caja поможет «получить новости о том, что папка теперь действительно доступна для записи».
Фрэнк Нок

Ответы:


171

См. Как смонтировать раздел HFS в Ubuntu с правами чтения / записи? - Супер пользователь

Чтобы процитировать второй / третий ответ вниз:

Сначала убедитесь, что у вас установлен hfsprogs. Пример команды установки:

sudo apt-get install hfsprogs

Затем подключите или снова подключите диск HFS +; Команды должны быть следующими:

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

или же

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

...

Наконец, если диск был неправильно размонтирован или частично поврежден, запустите fsck.hfsplus ... как таковой:

sudo fsck.hfsplus -f /dev/sdXY

Там есть золотая жила другой информации о монтировании файловых систем HFS +.


спасибо, я попробую. Информация, которую я нашел, указала на то, что Ubuntu не может обрабатывать журнализированный диск htfs +, и сказала, что она должна быть «безурочной» в OSX. У меня нет доступа к OSX в течение следующих трех месяцев, и поэтому я не могу отменить ведение журнала.
oppochips

1
Я попытался получить sudo mount -t hfsplus -o force, rw / dev / sdb2 / media / sdb2 mount: / dev / sdb2 уже смонтирован или / media / sdb2 занят монтируется: согласно mtab, / dev / sdb2 монтируется на / media / 1ad12b58-c2f2-39d3-955f-54ea66a96b2b Диск (журнальный том hfs +) монтируется только для чтения. Можно ли написать в него, не отменяя журналирование на Mac OS? Я попробовал последнюю команду и получил ** Проверка объема HFS Plus. fsck_hfs: том записывается в журнал. Проверка не выполнена. fsck_hfs: используйте параметр -f для принудительной проверки.
oppochips

По ссылке, размещенной выше: «Вам нужно отключить ведение журнала, если вы хотите записывать в него из Ubuntu. Ubuntu поддерживает только запись в тома HFS + без журналирования. На вашем Mac: Откройте Дисковую утилиту в меню« Программы »->« Утилиты ». Выберите громкость, на которой нужно отключить ведение журнала. Выберите «Отключить ведение журнала» в меню «Файл». (В более поздних версиях Mac OS вам придется удерживать нажатой кнопку выбора, когда вы щелкаете меню «Файл». Или, если вам нравится Apple + J) «Я не знаю» у меня нет доступа к mac, возможно ли получить доступ на чтение и запись на диске без потери данных? спасибо b
oppochips

Вместо этого вы должны попробовать: sudo mount -t hfsplus -o remount,force,rw /dev/sdXY /media/mntpoint(или не /dev/sdXYуказывать и указать, где он установлен). Я отредактирую это в своем ответе.
Ричард

1
Благодарю. Что мне нужно поставить вместо "точка монтирования"? Я попытался sdb2 и получить sudo mount -t hfsplus -o remount, force, rw / dev / sdb2 / media / dev / sdb2 mount: точка монтирования / media / dev / sdb2 не существует, а затем попытался sudo mount -t hfsplus -o remount, force, rw / dev / sdb2 и получил:
oppochips

30

Эти шаги работают для меня (Ubuntu Studio 14.04):

sudo apt-get install hfsprogs

Проверьте состояние диска:

sudo fsck.hfsplus -f /dev/sdXY

Размонтировать устройство:

sudo umount /media/sebastian/devicename

(создайте папку для монтирования диска)

Смонтируйте диск с разрешениями HFS + для чтения / записи:

sudo mount -t hfsplus -o force,rw /dev/sdXY /home/sebastian/foldername

3
он монтируется как папка, но он по-прежнему доступен только для чтения .... :( ... не могу найти простой способ обойти ограничения системы журнала hfs +
Amphibio

Это работает. Но зачем нам это force?
qweruiop

3
Я получаю следующую ошибку: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.
Джейми Хатбер,

25

У меня тоже была эта пробема. Я пытался fsck.hfsplus, umountперемонтировать sudo mount -t hfsplus -o remount,force,rwни с чем не работал для меня.

Что сработало для меня:

  1. размонтировать с sudo umount /media/myMountPoint
  2. удалить точку монтирования с помощью sudo rmdir
  3. воссоздать точку монтирования sudo mkdirи
  4. перемонтировать с sudo mount -t hfsplus -o force,rw /dev/xxxx /media/myMountPoint

Надеюсь, это также будет работать для вас, ребята.


Вы спасли мою жизнь!
Алекс Чан

Это сработало по какой-то причине. Понятия не имею почему. Каталог был пуст и монтировался перед удалением напрямую с помощью roдаже с force,rw. Удаление и воссоздание каталога сделали это.
Умар Ахмад

Причина «2» Вероятно, каталогом точки монтирования является user: user. ( ls -l to verify). In other words: sudo chown -c root: root myMountPoint / `, вероятно, также исправит это. (демонтировать до того, как это все еще необходимо)
Фрэнк Ноке

И по моему опыту: если вы не делаете свои точки монтирования под, /media/<username>/а где-то еще (мне нравится /mnt), «умный» Ubuntu MATE, например, не будет удалять и (ошибочно) пересоздавать ваши папки монтирования снова и снова. - Проще для сценария монтирования, который длится ...
Фрэнк Нок

12

Поскольку я не могу комментировать (здесь недостаточно репутации :). Я опубликую этот ответ, чтобы указать, что ответ выше, кажется, для hfs + HD, который не записан в журнал. Необходимо ввести команду 'fsck.hfsplus' с опцией '-f' для работы с томом, занесенным в журнал. Чтобы избежать путаницы, я скопировал команду ниже:

$ sudo fsck.hfsplus /dev/sdXY

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

Это будет работать только на томе, который не был записан в журнал. Даже с опцией -f для тома с журнализацией эта проверка сама по себе не позволяет монтировать перемонтированный том для чтения / записи. Я считаю, что журналирование должно быть отключено.

Кажется, не существует стабильного кода, доступного для отключения журналирования из Linux. Смотрите ссылку, предоставленную Ричардом: http://ubuntuforums.org/showthread.php?t=1420673

Если журналирование отключено и диск изначально монтируется как доступный только для чтения, демонтаж и перемонтирование должны разрешить чтение / запись, если диск не поврежден. Если он поврежден, необходимо запустить fsck.hfsplus.


11

Заимствуя из предыдущего ответа, следующие шаги работали для меня. Надеюсь, это полезно для других:

  1. Подключите внешний жесткий диск.

  2. Обратите внимание, что Ubuntu монтирует его автоматически, но только для чтения.

  3. Размонтируйте диск (я делаю это, просто нажав кнопку извлечения в проводнике).

  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/sdXYесли файловая система занесена в журнал.)

  6. Переустановите диск (я делаю это, просто нажав на диск в проводнике).

  7. Диск теперь для чтения и записи.


1
Вышесказанное верно, поскольку на диске не включено ведение журнала.
Акостадинов 22.12.14

2
Я выполнил ваши действия, и все работает, как ожидалось, до 6. Но на 7 диск продолжает только для чтения.
Гильерме Саломе
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.