Смонтируйте диск HFSPlus с разрешениями на чтение / запись в Linux


9

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

Я вынул жесткий диск старого MacbookPro и пытаюсь смонтировать его на моем элементарном ОС, где он автоматически монтируется только для чтения. Я хочу получить доступ к этому диску.

Следуя процедуре, указанной в ответе на ссылку выше, после запуска

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 .

РЕДАКТИРОВАТЬ Комментарии и ответ Михаэля Кьёрлинга решили мою фундаментальную проблему доступа к моим данным. Однако вопросы, выделенные жирным шрифтом выше, еще не рассмотрены, поэтому я отредактировал вопрос, чтобы подчеркнуть эту проблему, оставив вопрос открытым для будущих пользователей.


Почему вы чувствуете необходимость запуска, chmodчтобы захватить ваши данные с диска? Казалось бы, самое простое решение - просто сделать копию, доступную только для чтения, в какую-то другую файловую систему, а затем при необходимости исправить права доступа и владельца.
CVn

@ MichaelKjörling У меня даже нет прав на чтение файлов, которые я хочу скопировать
kinbiko

Запуск через sudoвас должен иметь, так как root обходит все проверки разрешений файловой системы. Это делает, конечно, предположить , что ваша проблема разрешения является о правах доступа на уровне системных файлов.
CVn

@ MichaelKjörling, даже если sudoя получу cp: omitting directory Documents/. при попытке скопировать документы на мой локальный жесткий диск
kinbiko

1
Это не проблема с разрешениями, хотя.
CVn

Ответы:


4

Как мы выяснили в комментариях, здесь есть две возможные проблемы:

  1. Вы пытаетесь запустить копию как обычный пользователь. Это может привести к сбою чтения исходных файлов, поскольку у вас нет прав на чтение. Это легко исправить, выполнив копирование так sudoже, как вы сделали монтирование.
  2. Вы получаете cp: omitting directory Documents/при попытке запустить копирование до конца sudo. Это вовсе не проблема с разрешениями, и ее можно исправить, просто указав cpвключить подкаталоги.

Соединяя эти два элемента вместе, вы сможете копировать файлы с помощью команды, например sudo cp -av /media/myharddrive /somewhere/else, где / где-то еще существует и доступна для записи.

-vПараметр не строго необходимо, но через полчаса или час только ожидания, вы можете оценить сами файлы , находящиеся в списке , поскольку они копируются. Обратите внимание, что если у вас очень большое количество маленьких файлов, обновление экрана может снизить пропускную способность копирования; в этом случае просто сверните окно и время от времени проверяйте его.

-aзаставляет cp работать в режиме «архив», максимально сохраняя информацию о копируемых файлах, включая подкаталоги. Или вы можете использовать его, -rчтобы сказать, что нужно только сохранить структуру каталогов.

Используя это, вы сможете копировать файлы в более подходящее место, где вы можете работать с ними более свободно, без ограничения только для чтения поддержки файловой системы HFS +.


Я обновил вопрос, чтобы конкретно решить проблему с монтажом, и я не приму ваш ответ, поскольку он не отвечает на этот вопрос. Я рад предоставить вам награду, когда время истекает.
Кинбико

У меня точно такая же проблема, как у OP, и я пытался монтировать с этими флагами под sudo, пробовал mkdirпод sudo на смонтированном диске и получал эту ошибку:mkdir cannot create directory 'test': Read-only file system
James Heald

У меня была та же проблема, что и у ОП, и ваш ответ, похоже, помог. Спасибо!
Фади

0

Я думаю, что ваша проблема в основном, как отключить ведение журнала без использования OSX.

Это требует двоичного редактирования (взлома) заголовка диска, и в результате дисковое пространство, занимаемое журналом, вероятно, будет потеряно.

Вот указатели на две довольно похожие программы на C, которые утверждают, что делают именно это:

Я не могу гарантировать, что эти программы не уничтожат диск, поэтому я предлагаю вам попробовать это на резервном образе диска.

Этот пост может быть полезен: Как я могу смонтировать образ диска? ,


0

У меня была та же самая проблема, и то, что я узнал до сих пор: выполнение успешного 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 +.

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