3 votos

¿Qué puede causar que los volúmenes APFS aparezcan bajo el disco equivocado?

Tengo un problema de APFS bastante interesante. Hay dos volúmenes en una unidad interna, y dos que fueron clonados desde ella, en una externa. Los cuatro volúmenes aparecen bajo la unidad interna, a pesar de que aparecen bajo el dispositivo correcto yendo por número de dispositivo. Por lo tanto - usted tiene disk1s1, disk1s5, disk8s1, y disk8s5 todos mostrando bajo disk1.

Son también apareciendo como perteneciente al disco6, que alberga al disco8. Sin embargo, el disco 8 aparece como "no inicializado" y no hace nada.

Todo empezó así:

  1. Mi unidad de sistema tenía un error fsroot cuando se comprobó. Parecía causar problemas con el arranque y algunos cuelgues; quería clonar la unidad para tener una copia de seguridad de mis copias de seguridad - para estar súper seguro.
  2. No pude clonar ni el disco ni el volumen de la unidad del sistema. Acababa con un único archivo en la unidad de destino que decía "tobeinverted".
  3. Usé dd para clonar el disco. El clon tiene el mismo problema de "árbol fstroot inválido", por supuesto.
  4. Después de un reinicio, los volúmenes que pertenecen a la unidad externa se muestran en el disco contenedor de la unidad del sistema (interna). Y después de otro reinicio... desmontar y montar de nuevo...

Mientras tanto, soy incapaz de reinstalar High Sierra en la unidad original del sistema - se cuelga con una barra de estado completada y el logo de Apple. Lo hace incluso después de que he borrado - First Aid / fsck comprueba ahora que es borrado, también. Así que eso es confuso.

Voy a salir de este embrollo, pero como no encuentro nada sobre este extraño tema, creo que podría ser útil para alguien más en el futuro.

No sé mucho sobre estos aspectos de la estructura de los discos y unidades y demás, pero si fsroot no significa filesystem Root, lo dejo todo.

Entonces, ¿el volumen tiene información corrupta sobre el disco al que pertenece? ¿Es así como he acabado aquí?

Saben a qué dispositivo pertenecen... aparece en la sección Dispositivo, y utilizando diskutil list, o df -h; lo que quieras.

Los errores de primeros auxilios de la Utilidad de Discos:

error: invalid dstream.default_crypto_id (0x4), given apfs_fs_flags (0x1)
error: xf : INO_EXT_TYPE_DSTREAM: invalid dstream
error: inode_val: object (oid 0x1a24c0): invalid xfields
fsroot tree is invalid.
The volume /dev/disk/ could not be verified completely.

Eso es todo, si alguien se ha encontrado con este problema me encantaría que me contara su experiencia.

2voto

Fin Hirschoff Puntos 1

La respuesta sencilla es que los volúmenes APFS (de dos discos distintos) aparecen bajo el disco equivocado cuando el contenedores comparten un UUID. Por supuesto, cuando se clona una unidad, los UUIDs aparecen - volúmenes y el contenedor. Posiblemente también ocurre cuando dos volúmenes tienen el mismo UUID.

He renunciado a intentar solucionar el problema de los UUID en los contenedores. El método que conozco es utilizar una de las utilidades del sistema de archivos -

/System/Library/Filesystems/hfs.fs/Contents/Resources/hfs.util o /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util

por ejemplo, y como las particiones APFS Container no tienen un sistema de archivos, me quedé atascado ahí, y ataqué mi problema desde una dirección diferente.


Para fijar los UUID en volúmenes individuales:

Digamos que diskDsV y diskFsB (ambos volúmenes APFS) comparten el mismo UUID. Puedes cambiar uno de ellos desmontando el volumen y haciendo esto:

./System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -s rdiskDsV

Si se trata de una unidad del sistema es mucho más complicado. Usted tiene un volumen de preinicio, y tiene que cambiar el nombre de una carpeta en el directorio root de ese volumen también - el nombre de la carpeta tiene que ser el UUID de la unidad del sistema.

Aunque aparezcan 2 volúmenes en la lista, al hacer clic en el disco se puede ver que en realidad hay 5. Preboot, VM, y Recovery fueron creados automáticamente, y en su mayor parte están ocultos.

APFS volume structure Preboot UUID

Por lo tanto, para ocuparse de esto, encuentre el UUID correcto para el volumen del sistema así (supongo que es s1 - podría ser diferente):

./System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -k rdiskDs1

Entonces, diskutil list /dev/diskD - verás el volumen de Preboot; llamémoslo sp. Siguiente sudo diskutil mount /dev/diskDsp entonces ls /Volumes/Preboot/ y verás la carpeta. Si el nombre no coincide con el UUID del volumen correcto, cámbialo.

Dos pasos finales - ver aquí para más información - (diskDspNAME es el punto de montaje en Volumes):

Declara dónde están los archivos de arranque:

sudo bless --folder/Volumes/diskDspNAME/System/Library/CoreServices --bootefi

Actualizar la caché del enlazador dinámico:

sudo update_dyld_shared_cache -root /Volumes/diskDspNAME -force

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