4 votos

fsck_apfs no funciona desde la terminal en modo de usuario único

Estoy tratando de corregir errores en mi MacIntosh HD Data volumen.

He intentado arreglar usando la Utilidad de Discos desde el modo normal y desde el modo de recuperación. El mismo problema. La DI se cuelga en un punto determinado y ya está.

Arranco en modo de usuario único.

Utilizando df -h Veo que el MacIntosh HD Data volumen es /dev/disk2s1 .

Intento escribir:

fsck_apfs -y /dev/disk2s1

y me sale esto:

error: el dispositivo es ilegible porque está en modo de usuario único.

Intento el mismo comando desde el arranque normal y obtengo

error: el contenedor /dev/rdisk1 está montado con acceso de escritura.

He hecho esto miles de veces antes, desde el modo de usuario único. Esto es una mierda de Catalina.

¿Cómo lo hago ahora en Catalina?

0 votos

¿Está encriptado el disco?

8voto

SuperDuck Puntos 1026

Corrección

La palabra oficial de Apple es que el tradicional modo de usuario único al que se entra arrancando mientras se mantiene pulsada la tecla ⌘S queda obsoleto en macOS Mojave (10.14) y posteriores. Esto se debe a la presencia del chip de seguridad Apple T2 en los Mac que salieron al mercado inicialmente con Mojave o posterior.

Desde Combinaciones de teclas de inicio del Mac :

Y de la letra pequeña de la página vinculada del "modo monopuesto", Inicie su Mac en modo monopuesto o en modo verboso :

Estos pasos sustituyen al método Command-S, que no funciona con la configuración recomendada en ordenadores Mac actuales .

La página enlazada "ordenadores Mac actuales" se refiere a los que tienen un chip T2.

A pesar de la afirmación de que el modo tradicional de usuario único está directamente desactivado en Mojave y posteriores, todavía se puede arrancar en él utilizando ⌘S en los dispositivos que no tienen un chip T2, incluso si se intenta hacerlo en un sistema que ejecuta Mojave o posterior. Sin embargo, este modo de usuario único requerirá acceso a los volúmenes de datos y VM del contenedor APFS que contiene el SO, y te encontrarás con que no puedes desmontar estos volúmenes para ejecutar fsck_apfs -y en ese contenedor. Esto se debe a que umount se negará a desmontar los volúmenes debido a que están siendo utilizados activamente, y no podrá desmontarlos a la fuerza utilizando diskutil ya que el marco DiskManagement requerido por diskutil no está cargado/presente en este modo - e incluso si esto fuera posible de alguna otra manera, ¡es desaconsejable desmontar a la fuerza elementos de un sistema de archivos que se está tratando de reparar!

Dicho esto, macOS sigue teniendo técnicamente un modo de usuario único en Mojave y posteriores: el Terminal en MacOS Recovery. Después de intentar usar realmente fsck_apfs -y en este entorno, resulta que es posible, pero primero tendrá que desmontar cualquier volumen APFS montado que pertenezca al contenedor APFS que contiene el SO; MacOS Recovery montará automáticamente los volúmenes de datos y VM por defecto. Debido a que Recuperación de macOS no está tan despojado como el modo tradicional de un solo usuario, puede hacer esto simplemente con, por ejemplo diskutil unmountDisk disk2 . Puede utilizar mount y diskutil apfs list para determinar los nodos del dispositivo.


Respuesta original

Esto no es cosa de Catalina, sino de APFS. No se pueden realizar acciones reparadoras en un contenedor APFS (ni en ninguno de sus volúmenes, ya que esto requiere actuar sobre el contenedor) cuando ese contenedor está montado. Si cualquier volumen de ese contenedor está montado, entonces el propio contenedor está necesariamente también montado.

Por lo tanto, no se puede utilizar fsck_apfs -y en la partición APFS desde la que has arrancado, ya sea en un entorno normal, en modo monopuesto, en modo de recuperación o como sea. Todavía se puede ejecutar fsck_apfs -nl al arrancar normalmente para inspeccionar la partición APFS en busca de errores, pero esto no reparará ningún error.

Para correr fsck_apfs -y en su partición APFS de Catalina, usted debe acceder también podría intentar acceder a el disco de otra manera, por ejemplo:

  • arrancar en Catalina Internet Recovery (que también requiere desmontar los volúmenes montados automáticamente) .
  • arrancar desde un instalador USB de Catalina.
  • arrancar el Mac en modo de disco de destino y conectarlo a un Mac secundario que ejecute Catalina, y luego ejecutar fsck_apfs del Mac secundario en el disco afectado.
  • retirando físicamente el disco de su Mac y conectándolo a un Mac secundario que ejecute Catalina, y luego ejecutando fsck_apfs del Mac secundario en el disco afectado.

Dado que en Catalina se introdujeron nuevas e importantes características de APFS ("grupos de volúmenes" en particular), evite utilizar cualquier fsck_apfs perteneciente a una versión anterior de MacOS, sobre todo si se trata de reparar un espacio de disco mal asignado. fsck_apfs(8) estados para el -o opción:

-o - Repare las sobreasignaciones; por favor, no ejecute una fsck_apfs en los sistemas más nuevos con esta opción.

2 votos

Gracias por la información. Apple hace estos cambios y tiene cero documentación al respecto. No estoy 100% seguro ahora mismo pero creo que he probado eso arrancando desde internet recovery. De todas formas, me vi obligado a restaurar el disco desde time machine porque no pude reparar el disco, tarea que se hacía fácilmente antes de Catalina, usando fsck desde el modo de usuario único. Lo que más me molesta de Apple es la incapacidad de crear un mensaje de error que tenga sentido y explique, como "no puede ejecutar fsck desde el modo de usuario único, ejecútelo desde el modo de recuperación de internet."

0 votos

"Apple hace estos cambios y tiene cero documentación al respecto". - Efectivamente, es un fastidio.

0 votos

"Lo que más me molesta de Apple es la incapacidad de crear un mensaje de error que tenga sentido y explique [...]" - Son herramientas de nivel relativamente bajo, así que ni siquiera yo esperaría eso de ellas. Más bien, se espera que sepas lo que estás haciendo y que identifiques los obstáculos por ti mismo. En este caso concreto, el problema no se debe realmente a que estés en modo monopuesto, así que simplemente no hay forma de que el sistema determine que esa es la causa para informarte. Por ejemplo, podrías ejecutar fsck_apfs en el modo de usuario único en un disco que no es el que ha arrancado.

3voto

Iain Puntos 2909

Además de lo que se ha dicho, cuando se trabaja con un volumen encriptado, habría que desbloquear el volumen sin montarlo.

Encuentre la unidad/volumen:

# diskutil apfs list
...
      Volume diskXsY
      FileVault:    Yes (Locked)
...

Desbloquear sin montar:

# diskutil apfs unlockVolume /dev/diskXsY -nomount
...
Unlocked but did not mount APFS Volume

Compruebe que el desbloqueo se ha realizado con éxito para todos los volúmenes:

# diskutil apfs list
...
      Volume diskXsY
      FileVault:    Yes (Unlocked)
...

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X