Встановіть диск 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 , були б дуже вдячні.

EDIT коментарі і Майкл Kjörling в відповідь вирішили мій фундаментальне питання про доступ до моїми даними. Однак вищевказаними жирними питаннями ще не було вирішено питання, тому я відредагував це питання, щоб підкреслити це питання, залишивши це відкритим для майбутніх користувачів.


Чому ви відчуваєте потребу бігти, 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 + лише для читання.


Я оновив питання, щоб спеціально вирішити проблему з монтажем, і не прийму вашої відповіді, оскільки вона не відповідає на це. Я радий дати вам нагороду, коли час закінчиться.
kinbiko

У мене точно така ж проблема, як у ОП, і я спробував встановити ці прапори під судо, спробував mkdirпід судо на змонтованому приводі і отримаю цю помилку:mkdir cannot create directory 'test': Read-only file system
Джеймс Хілд

У мене було те саме питання, що і в ОП, і ваша відповідь, здається, зробила трюк. Дякую!
fady

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.