The messages are indicating that the kernel has detected "bad block(s)" which means that the filesystem on the disk is likely corrupted. Each file has a dedicated inode and the kernel has detected problems there.
The problems are on the partition with the device name: /dev/sda2, so it's to that device the kernel has suggested a file check be run with the command: e2fsck -cfpv /dev/sda2.
File checks need to be done on unmounted filesystems. One option it to load a live disk or rescue disk (such as systemrescue from here:
https://www.system-rescue.org), and run the file check from there.
The process is to boot the live or rescue disk, go to a root shell (which systemrescue does in the first instance), run the command: lsblk, and ensure that the output includes sda2, then run the file check command that the kernel on your machine suggested, and see what the output is. That would be the first step.
In the kernel's suggested command, the c will find bad blocks and change their inodes to put them out of action, the f forces the file check, the p will try and repair the filesystem and the v indicates that verbose output will be printed to screen. That output should show what the problems are which may be suggestive for further action.
It's useful to run the command: echo $?, straight after the kernel's command to see what the exit code is because a number there can have a lot of meaning. The manpage for e2fsck describes those meanings. For example 0 indicating no errors detected, 2 indicates that the filesystem has been corrected and can now be booted, but 4 indicates that errors have not been corrected, which may indicate that the hard drive is damaged beyond repair. Neverthless, file check commands can be run several times to try and accumulate repairs, but if that number 4 keeps appearing relentlessly, it doesn't look promising.
The hard drive itself can be checked with the command smartctl, for example: smartctl -a /dev/sda. The command comes in the smartmontools package which is present on systemrescue but may not be present on all live disks.
On the matter of saving data on a disk that can't be accessed easily, one option is to copy the whole disk or relevant partitions byte for byte to another medium, such as another disk or usb etc. with a command such as dd, so that you have a copy of the partition or whole disk that you can work on if the original disk becomes too corrupted. There are tools to rescue data, so the copied version can be used for that.