51
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 25 Dec 2023
51 points (93.2% liked)
Linux
47859 readers
1338 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
First step, in case you didn't do that yet: Create a disk image of the partition - you don't want to try data recovery on the actual data. Easiest is just using dd to dump the disk to another drive.
Next try running testdisk on the image to see if it can find the backup superblocks - if it does you can feed that to fsck to restore the filesystem.
If you know the blocksize of the filesystem you can also run mke2fs with the -S parameter - this will just write the superblocks. Again, only do that on a disk image, not the actual drive.
If the disc is corrupted it may be failing, recommending ddrescue over dd is probably a better call not knowing anything else about this situation. Essentially, no reason not to use it.
After reading about it - true. Disadvantage of doing this stuff for a long time - you miss new developments. Only reason I'm aware of testdisk is that I lost the sources of my own superblock search tool, my old binaries broke with a newer glibc, and before reimplementing it I checked if sombody else had done that in a more usable form in the meantime.