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

169

Я подключил свой внешний жесткий диск (который был отформатирован на моем Mac в журнал HFS +) к моему рабочему столу Ubuntu 9.04 64bit. Я не могу подключить диск с возможностью записи, как мне это сделать? Прямо сейчас все, что я получаю, это доступ на чтение, я пытался

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

но это все же дало мне доступ только для чтения ... идеи ??

Gih
источник
Я чувствую, что ответы на этот вопрос намного лучше, проще и безопаснее, чем ответы, представленные здесь.
Майк Уильямсон

Ответы:

75

Вам нужно отключить ведение журнала, если вы хотите писать в него из Ubuntu. Ubuntu поддерживает только запись в тома HFS + без журналирования.

На вашем Mac:

  • Откройте Дисковую Утилиту в разделе Приложения -> Утилиты
  • Выберите том, чтобы отключить ведение журнала.
  • Выберите « Отключить ведение журнала» в меню «Файл». (В более поздних версиях Mac OS вам придется удерживать нажатой кнопку выбора при нажатии меню «Файл». Или, если вам нравится Apple+ J)

Отключение ведения журнала из HFS + все еще возможно до OS X Yosemite 10.10

Джон Т
источник
4
Обратите внимание, что «Отключение ведения журнала в главном разделе OS X не рекомендуется, поскольку ведение журнала является важной функцией любой файловой системы, которая может предотвратить повреждение и потерю данных» ( help.ubuntu.com/community/hfsplus )
Hay
@ Скажите, что вы можете снова включить ведение журнала. Все, что он делает, это помогает системе быстрее восстановиться в таком случае (например, аварийное отключение). Не конец света.
Джон Т
11
Нет, это не все, что делает журнал. Это также помогает предотвратить повреждение файловой системы, которое может быть достаточно серьезным, чтобы его можно было исправить только с помощью переформатирования.
Уэйд Уильямс
8
в macos 10.6.8, в шаге 3, откройте меню файлов с нажатой
клавишей
2
@JohnT Не могли бы вы предоставить источник для того факта, что «Ubuntu поддерживает только запись в тома HFS + без журналирования», пожалуйста? Я делаю некоторые исследования по HFS +, и это было бы очень полезно. Спасибо.
Каларасей
187

Сначала убедитесь, что у вас установлен 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#
Digiground
источник
7
Большое спасибо за предоставление решения только для Linux! ^ _ ^
FCTW
13
Я на Ubuntu 12.04, команда remount должна быть такой sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point. Затем необходимо использовать root для чтения / записи данных.
Coc
19
Почему это не помечено как ответ?
Sheljohn
4
@Digiground и @Coc оба не работают mount: warning: /media/mount/point seems to be mounted read-only.в Ubuntu 13.04 с установленным hfsprogs.
здесь
1
@ здесь я поднял вопрос, чтобы решить только эту проблему.
Кинбико
27

Вы можете включить запись в HFS + в Linux, даже если вы не отключили ведение журнала. В дополнение к hfsplus, который у вас уже есть, вам нужно установить hfsprogs:

sudo apt-get install hfsprogs

Затем используйте -o forceопцию:

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

Если диск был смонтирован автоматически (как это должно быть в настольной системе, такой как Ubuntu), вы можете включить запись с помощью

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чтобы найти, какое устройство уже установлено в какой точке монтирования.

mivk
источник
1
из ответа Digiground, вы не пропустите часть rw в команде ?? Мне удалось с его вариантами.
Медуз
@ meduz: мне не нужно "rw" в Ubuntu 10.04. Мне кажется это нужно сейчас в 12.04. Поэтому я отредактировал ответ, чтобы добавить его.
mivk
13

Вы пытались сопоставить разрешения?

По умолчанию Mac OS X форматирует тома в тома HFS + с журналом. Журналирование - это функция, которая повышает надежность данных, и, к сожалению, она делает диски HFS доступными только для чтения в Linux.

Чтобы отключить ведение журнала, просто загрузитесь в OS X и запустите Дисковую утилиту. Нажмите на свой раздел HFS, удерживайте клавишу Option и нажмите «Файл» в строке меню. В меню появится новая опция Отключить ведение журнала. Нажмите на это и перезагрузитесь в Linux. У вас должен быть доступ на чтение и запись к вашему разделу HFS, однако разрешения для домашней папки вашего пользователя Mac не позволят вам читать или записывать эти файлы. нам просто нужно изменить наш UID в одной ОС, чтобы он совпадал с UID в другой. Если у вас нет причин для выбора другого, мы собираемся изменить наш UID для Linux, чтобы он соответствовал нашему OS X, поскольку это немного проще. По умолчанию первый пользователь в OS X имеет UID 501, но вы можете проверить это дважды, зайдя в Системные настройки в OS X, щелкнув правой кнопкой мыши по своему пользователю и выбрав Дополнительные параметры.

Загрузитесь в Linux (в этом примере мы используем Ubuntu) и запустите терминал. Во-первых, мы собираемся добавить временного пользователя, так как мы не хотим редактировать пользователя, в который мы сейчас вошли. Итак, выполните следующие команды в Терминале, нажимая Enter после каждой:

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

sudo passwd tempuser

При появлении запроса введите новый пароль для временного пользователя. Перезагрузитесь и войдите как tempuser. Затем откройте Терминал и введите следующие команды, снова нажимая ввод после каждой (и заменяя имя пользователя ruruser на имя пользователя Linux):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Это изменит UID вашего пользователя Linux на 501 и исправит разрешения вашей домашней папки, чтобы вы все еще владели ими. Теперь вы сможете читать и писать в домашнюю папку пользователя Mac и Linux, независимо от того, в какой ОС вы вошли.

Вы также можете исправить свой экран входа в систему, так как по умолчанию Ubuntu не будет перечислять пользователей с UID менее 1000. Для этого просто откройте терминал и запустите gksudo gedit /etc/login.defs и найдите UID_MIN в текстовый файл. Измените это значение с 1000 на 501, и при перезагрузке ваш пользователь будет отображаться на экране входа в систему.

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

Стив Альфано
источник
1
отличное решение! Вы только что спасли меня несколько часов :) Единственное, что нужно добавить, это удалить tempuser -> sudo userdel tempuser
Feida Kila
2

На всякий случай это поможет кому-нибудь в будущем - если вы даже не сможете подключить диск в режиме только для чтения, это может быть связано с тем, что диск использует Apple Core Storage, который является оболочкой для HFS +. Глянь сюда:

Монтирование раздела HFS + в Ubuntu

Монтирование раздела HFS + в Arch Linux

Villasenor
источник