How to mount or fix a corrupt disk partition

Hi I hope you’re doing fine i have a big problem in my disk or system It start when I decide to boot windows on Flash disk (usb adata drive)
I have

archlinux OS
NVME disk drive

and IT was installed in

/dev/nvme0n1p3 ( root and home )

so I’ve used the tool "WOEUSB"

And I’ve choose to boot the flash drive with the “-d” flag (means all the disk will be bootable not just a partition)

when the process end , I’ve reboot the PC then I was surprised by the GRUB rescue interface showed up

So I’ve tried to make the rescue steps (set the prefix “boot” and root to the GRUB insmod … )

So everything was set without problems

So for example when I tap in the grub shell

ls (hd0,msdos3)/ or ls /

It showed the root directory and sub directories

also when I tap

ls /home/username/

It showed me the file located in the home directory

when I reboot , It returned me to the grub rescue interface again

So I decided to boot Linux mint into USB drive and boot it in live boot

and try to mount the disk by the mount command

sudo mount /dev/nvme0n1p3 /media/

and this error showed up

mount: /media: wrong fs type, bad option, bad superblock on /dev/nvme0n1p3, missing codepage or helper program, or other error.

I’ve tried to fix disk with fsck and this is the result

sudo fsck /dev/nvme0n1p3 
fsck from util-linux 2.34
e2fsck 1.45.5 (07-Jan-2020)
The filesystem size (according to the superblock) is 120781142 blocks
The physical size of the device is 107741184 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>? no
/dev/nvme0n1p3 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 8522540 extent tree (at level 1) could be shorter.  Optimize<y>? no
Inode 8663080 extent tree (at level 1) could be narrower.  Optimize<y>? no
Inode 12326736 extent tree (at level 1) could be narrower.  Optimize<y>? no
Inode 15729563 extent tree (at level 2) could be narrower.  Optimize<y>? no
Error reading block 108003360 (Invalid argument) while getting next inode from scan.  Ignore error<y>? no
Error while scanning inodes (26885355): Can't read next inode
e2fsck: aborted

So the big Question is :

1-How can I read or mount my disk [command (or python script or C program)]
2-What is the cause that make the disk corrupted
3-Why GRUB can list my files and read it , and the other shells cannot do that?

-------!! I cannot format the disk because I really need to restore my files ----------

So if it’s an ARCH installation, it’s best to ask in the ARCH forum :wink:

There are many different tools that can be used to rescue files from a hard drive. But if you want help from anyone on the Manjaro forum your best bet is to use a live manjaro CD/USB to rescue your data.

This is not because nobody wants to help you, but because anyone who can help you here has to use tools he is very familiar with.

Only a charlatan would offer help with tools that he does not know very well.