¿Cómo montar una partición HFS en Ubuntu como lectura / escritura?

169

Conecté mi disco duro externo (que estaba formateado en mi Mac en HFS + registrado) en mi escritorio Ubuntu 9.04 de 64 bits. No puedo hacer que la unidad se monte con capacidad de escritura, ¿cómo hago eso? En este momento todo lo que obtengo es acceso de lectura, lo intenté

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

pero eso solo me dio acceso de lectura ... ¿ideas?

GiH
fuente
Siento que las respuestas a esta pregunta son mucho mejores, más fáciles y más seguras que las respuestas proporcionadas aquí.
Mike Williamson

Respuestas:

75

Debe desactivar el registro en diario si desea escribir desde Ubuntu. Ubuntu solo tiene soporte para escribir en volúmenes HFS + no registrados.

En tu Mac:

  • Abra la Utilidad de Discos en Aplicaciones -> Utilidades
  • Seleccione el volumen para deshabilitar el registro en diario.
  • Elija Deshabilitar registro en diario en el menú Archivo. (En versiones posteriores de Mac OS, deberá mantener presionado el botón de opción cuando haga clic en el menú Archivo. O si desea Apple+ J)

Deshabilitar el registro en diario desde HFS + todavía es posible hasta OS X Yosemite 10.10

John T
fuente
44
Tenga en cuenta que "Sin embargo, no se recomienda deshabilitar el registro en diario en su partición principal de OS X, ya que el registro en diario es una característica importante de cualquier sistema de archivos que puede evitar daños y pérdida de datos" ( help.ubuntu.com/community/hfsplus )
Hay
@Hay puedes volver a habilitar el diario. Todo lo que hace es ayudar al sistema a recuperarse más rápido en tal evento (es decir, apagado anormal). No es el fin del mundo.
John T
11
No, eso no es todo lo que hace el diario. También ayuda a prevenir la corrupción del sistema de archivos, que podría ser lo suficientemente grave como para que solo pueda repararse con un reformateo.
Wade Williams el
8
en macos 10.6.8, en el paso 3, abra el menú de archivo con "opción + alt" presionado
commonpike
2
@JohnT ¿Podría proporcionar una fuente para el hecho de que "Ubuntu solo tiene soporte para escribir en volúmenes HFS + no registrados", por favor? Estoy investigando sobre HFS + y sería muy útil. Gracias.
kalaracey
187

Primero, asegúrese de tener instalados hfsprogs . Ejemplo de comando de instalación:

sudo apt-get install hfsprogs

A continuación, monte o vuelva a montar la unidad HFS +; los comandos deben ser los siguientes:

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

o

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

Finalmente, si la unidad se desmontó incorrectamente o si se ha dañado parcialmente, ejecute fsck.hfsplus (proporcionado aquí por Jayson) como tal:

sudo fsck.hfsplus /dev/sdx#
Digiground
fuente
77
¡Muchas gracias por proporcionar una solución única para Linux! ^ _ ^
FCTW
13
Estoy en Ubuntu 12.04, el comando de remontaje debería ser así sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point. Luego debe usar root para leer / escribir datos.
Coc
19
¿Por qué esto no está marcado como la respuesta?
Sheljohn
44
@Digiground y @Coc fallan con mount: warning: /media/mount/point seems to be mounted read-only.Ubuntu 13.04 con hfsprogs instalado.
aquí el
1
@aquí he planteado una pregunta para abordar solo ese problema.
kinbiko
27

Puede habilitar la escritura en HFS + en Linux incluso si no desactivó el registro en diario. Además de hfsplus que ya tiene, necesita tener instalados hfsprogs:

sudo apt-get install hfsprogs

Luego, usa la -o forceopción:

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

Si la unidad se ha montado automáticamente (como debería estar en un sistema de escritorio como Ubuntu), puede habilitar la escritura con

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

o

sudo mount -o remount,rw,force /dev/sdx

/ mount / point normalmente sería / media / Your_drive_label / dev / sdx es su dispositivo HFS +

Use mount -lpara encontrar qué dispositivo ya está montado en qué punto de montaje.

mivk
fuente
1
de la respuesta de Digiground, ¿no te pierdes la parte rw en el comando? Tuve éxito con sus opciones.
Meduz
@meduz: no necesitaba "rw" en Ubuntu 10.04. Parece que lo necesito ahora en 12.04. Así que he editado la respuesta para agregarla.
mivk
13

¿Has intentado hacer coincidir los permisos?

De manera predeterminada, Mac OS X formatea los volúmenes en volúmenes HFS + registrados. El registro en diario es una característica que mejora la confiabilidad de los datos y, desafortunadamente, hace que las unidades HFS sean de solo lectura en Linux.

Para deshabilitar el registro en diario, simplemente inicie OS X y encienda la Utilidad de Discos. Haga clic en su partición HFS, mantenga presionada la tecla Opción y haga clic en Archivo en la barra de menú. Aparecerá una nueva opción para deshabilitar el registro en diario en el menú. Haga clic en eso y reinicie en Linux. Debería tener acceso de lectura y escritura a su partición HFS; sin embargo, los permisos en la carpeta de inicio del usuario de su Mac le impedirán leer o escribir esos archivos. solo necesitamos cambiar nuestro UID en un sistema operativo para que coincida con el UID en el otro. A menos que tenga una razón para elegir lo contrario, vamos a cambiar nuestro UID de Linux para que coincida con nuestro OS X, ya que es un poco más fácil. De manera predeterminada, el primer usuario en OS X tiene un UID de 501, pero puede verificar esto yendo a Preferencias del sistema en OS X, haciendo clic derecho en su usuario y presionando Opciones avanzadas.

Inicie en Linux (estamos usando Ubuntu en este ejemplo) y encienda la Terminal. Primero, agregaremos un usuario temporal, ya que no queremos editar un usuario en el que estamos actualmente conectados. Entonces, ejecute los siguientes comandos en la Terminal, presionando Enter después de cada uno:

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

sudo passwd tempuser

Escriba una nueva contraseña para el usuario temporal cuando se le solicite. Reinicie e inicie sesión como tempuser. Luego, abra la Terminal y escriba los siguientes comandos, una vez más presionando enter después de cada uno (y reemplazando su nombre de usuario con el nombre de usuario de su usuario de Linux):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Esto cambiará el UID de su usuario de Linux a 501 y arreglará los permisos de su carpeta de inicio para que aún los posea. Ahora, debería poder leer y escribir tanto en la carpeta de inicio de su usuario de Mac como de Linux, sin importar en qué sistema operativo haya iniciado sesión.

También es posible que desee corregir su pantalla de inicio de sesión, ya que de forma predeterminada Ubuntu no incluirá a los usuarios con un UID de menos de 1000. Para hacer esto, simplemente abra una Terminal y ejecute gksudo gedit /etc/login.defs y busque UID_MIN en El archivo de texto. Cambie ese valor de 1000 a 501, y cuando reinicie su usuario aparecerá en la pantalla de inicio de sesión.

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

Steve Alfano
fuente
1
gran solución! me has ahorrado unas horas :) lo único que debo agregar es eliminar el tempuser -> sudo userdel tempuser
Feida Kila