I recently updated Dietpi on my Raspberry Pi Zero W to 6.28 and after 1-2 days it crashed. I had also updated other things, notably I added python 3.5-dev because my installation of Domtoticz needed it to run plugins. I am not sure if the updates had anything to do with all this or whether it is simply a problem of my cheap microSD (32 GB) from AliExpress. My Raspberry Pi Zero runs 24/7 and has done so for the past couple of months without a problem; there has not been an unexpected shutdown or power outage.
Anyway, I have been unable to fix this problem because the rootfs partition is read only. I am able to mount the boot partition with no problem and fully access it, but unable to mount rootfs. I checked the card with Gparted and other utilities and everything looks to be there, but I couldn’t make any changes whatsoever. I was able to make a backup with ddrescue and everything completed flawlessly and the size of the image file looks to be correct. I ran different utilities such as fsck, fdisk, testdisk, etc. but no luck. They were able to find problems but were unable to make any changes because rootfs is read only. Apparently the superblock may be corrupted. Looking at the console log when booting the microSD on the Raspberry Pi Zero, the boot hangs when trying to access the filesystem partition with an I/O error.
I make regular backups of the entire card but couldn’t simply replace everything since I was unable to format the card because it was read only. So it appears I may need a new card (easy solution), however I wouldn’t mind trying to still fix this (hard solution) since I would need to replace some of the data and settings lost which in itself is extra time and work. So my question is this: since the boot partition is still accessible and works, is there a utility or setting within this partition which can be used to fix the read only rootfs partition? If not, is there a way that GRUB or some such utility can be added to run in the boot partition when the system starts so that rootfs may be fixed?
I generated a lot of logs and other info which would too much to include here, but they can be accessed at the following link: https://www.dropbox.com/sh/r0ckb9ksm59ax6v/AABWWm0IKrtO_5REuLN4KELIa?dl=0
The files are as follows:
boot.txt: console log of the Raspberry Pi Zero W when booting
ddrescue.txt: screenshot of the completed image backup using ddrescue
rescue.log: log file generated by ddrescue
rpi0.txt: console results when using fdisk and fsck
testdisk.log: log file generated by testdisk
Thanks in advance for any help.