Cuando reinicio mi PC después de una actualización de Windows, mi terminal Ubuntu ya no puede ver los datos dentro de mis discos duros cyd del archivo mnt. Cuando lo uso ls
produce.
:/mnt$ls
ls: cannot access 'd': Input/output error
ls: cannot access 'c': Input/output error
Intenté resolverlo con el fsck
comando y los resultados produjeron:
:/mnt$sudo fsck
fsck from util-linux 2.34
fsck.ext4: Unable to resolve 'LABEL=cloudimg-rootfs'
Sigo buscando en Google, pero si alguien que haya lidiado con esto antes pudiera ayudarme, se lo agradecería.
Respuesta1
Montaje inconsistente y/etc/fstab
Comencé a ver Read-only file system
mensajes de error y descubrí que mi dispositivo de unidad raíz montado no coincidía con el especificado en /etc/fstab
.
$ mount | grep ext4
/dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
$ cat /etc/fstab
/dev/sda / ext4 defaults 0 0
Lo interesante fue que podía escribir durante uno o dos minutos, pero con el tiempo comenzaba a arrojar errores.
error anterior
Hace un par de meses lo modifiqué /etc/fstab
a mano y originalmente era:
$ cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 defaults 0 0
Lo modifiqué para hacer referencia directa /dev/sda
porque no había ningún dispositivo etiquetado en mi sistema. No sé de dónde cloudimg-rootfs
viene la etiqueta. Mi disco WSL2 se creó originalmente con WSL1, ¿tal vez etiquetaron el disco de esa manera? ¿Entonces WSL2 se lo quitó?
Esto funcionó bien por un tiempo, pero recientemente comencé a recibir Read-only file system
mensajes de error.
En este punto me di cuenta de que mi unidad raíz había cambiado a /dev/sdc
y todavía me refería /dev/sda
a /etc/fstab
.
Arreglar
Recordé mi modificación /etc/fstab
y recordé que se refería a un LABEL
, no a la unidad.
- En la ventana de 2 minutos, cambié
/etc/fstab
para hacer referencia a la nueva unidad raíz fs:/dev/sdc / ext4 defaults 0 0
- Reiniciar wsl
- verifique que las letras de unidad entre
mount
&/etc/fstab
sean consistentes después del reinicio. En este punto pude escribir en el sistema de archivos sin ningún error. - agregue una etiqueta a mi unidad raíz fs (en mi caso
/dev/sdc
):sudo e2label /dev/sdc "ROOTFS"
- Verificar que se haya cambiado la etiqueta
$ sudo blkid -o list
device fs_type label mount point UUID
-----------------------------------------------------------------------------------------------------------------------
/dev/sda ext4 (in use)
/dev/sdb swap [SWAP] 4906c2f2-XXX-YYY-ZZZ-aa65bf88a5c3
/dev/sdc ext4 ROOTFS / 3255683f-XXX-YYY-ZZZ-b4c1041e2a62
- cambiar
/etc/fstab
para hacer referencia a mi nueva etiqueta:LABEL=ROOTFS / ext4 defaults 0 0
- reiniciar wsl
- Verifique que ahora puedo escribir en el sistema de archivos raíz.
Ahora bien, como la etiqueta permanece igual entre reinicios, fstab
no debería haber problemas.
¡Todo está bien!
Respuesta2
Intente verificar el suministro de energía al disco.
es común que esto se deba a una potencia de salida demasiado pequeña; su fuente de alimentación tal vez esté configurada en ahorro de energía (¿por alguna razón?) o la toma de corriente puede ser rara/débil
¿Por qué esta respuesta? Yo tuve el mismo problema; y después de añossi añosde excluir cosas, etc.; De repente descubrí que era mío power outlet
y, curiosamente, se resolvió solo colocando el cable al revés (nota: puede que este no sea tu caso). Pero los errores; Es muy parecido al problema de la energía. comprobar cables y demás; y modos de potencia. ¿El BIOS está configurado como SavePower? si esto es; Intenta cambiar a la normalidad o lo que fuera antes.
como algunos señalaron; el arranque rápido/hiber/arranque dual pueden ser problemáticos; use una ISO LIVE (linux) para hacer una imagen (no copiar archivo por archivo) como copia de seguridad primero; si eso funciona;
Enlaces
Error de entrada/salida en disco duro externo y sectores defectuosos
si es posible; sería útil correr
sudo dmesg
y
sudo journalctl
y publicar la salida (redactandocualquier información confidencial) cuando lo enciendes y esperas un poco; hasta que el problema vuelva a aparecer; o cuando abres una terminal y escribes ls
y aparece;