Después de un apagado sucio en un dispositivo basado en una tarjeta SD, llevé la tarjeta SD al fsck
sistema de archivos raíz. Esto llevó a variaciones en lo siguiente:
e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2
Aquí he respondido "no" las dos veces, pero no hay una secuencia de sí / no que no conduzca inmediatamente al mismo resultado.
El sistema de archivos se puede montar y en la inspección casual parece estar bien; también funciona bien en el dispositivo, y ese es el sistema de archivos raíz (en realidad resultó no estar bien, vea los comentarios; tldr algunos directorios irremediablemente dañados).
Hice dd
la partición (8 GB) a un archivo, e intenté fsck en eso. Interesantemente:
e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, gid=0, mode=0100644, size=293108)
Setting free inodes count to 406127 (was 408580)
Setting free blocks count to 1305622 (was 1347486)
plush.rootfs: clean, 60209/466336 files, 604906/1910528 blocks (check after next mount)
Una fsck
limpieza posterior pasó, la imagen se puede montar, y fsck -f
después de eso también pasa.
Pero el sistema de archivos en la tarjeta desde la cual se creó la imagen de copia en bloque sin procesar aún tiene el mismo problema, excepto que el systemd-fsck
que tiene lugar durante el arranque registra el sistema de archivos como "limpio". Posteriormente, sin embargo, un apagado correcto, sacar la tarjeta e intentar fsck
nuevamente desde otra casilla presenta el mismo error.
Cada vez que el original se monta en otra máquina, las notas de syslog:
kernel: EXT4-fs (sdc2): 4 orphan inodes deleted
kernel: EXT4-fs (sdc2): recovery complete
Como tengo todo respaldado, estoy dispuesto a probar cualquier cosa aquí. Simplemente podría olvidarme de esto y volver a crear la partición de la imagen aparentemente fija, pero eso no parece una solución muy satisfactoria, ya que significa asumir que fsck falló crípticamente al resolver un problema menor.
Sospecho que esto se convertirá en una pregunta de "solicitud de documentación oficial" con respecto a cosas como necesidades recovery_flag (o simplemente la pregunta "¿Qué significa esto?"), Por lo que se agradece cualquier sugerencia en ese sentido.
apt upgrade
). Después de eso, registra un arranque normal, y el systemd-fsck dice "limpio" (lo editaré), pero intentar fsck fuera de ese contexto todavía falla.