Okay. At least you have access to most of the data.
In the circumstances, with an unknown factor apparent on the external disk, it may be wise to back up all the files that you would like to save. This can be done without writing anything more to the external disk by, for example, using an external live disk and some medium to copy the files to like another external disk, a usb, or another computer to which files can be synched. Back ups can save a lot of anguish.
The unknown factor may be filesystem corruption, or disk failing, or perhaps something else.
In the case of filesystem corruption, one can use the
fsck command to correct errors in the filesystem that may have been caused for a number of reasons, like power outages, unscheduled or unclean shutdowns.
To check the filesystem one needs to do so on an unmounted disk, so you'll need to unmount the external drive which has the device name: /dev/sbd2, according to the output of the
lsblk command in post #3.
I assume the filesystem on the external drive is ext4, but to check, you can run the command:
lsblk -f. The output should look something like the following where it can be seen that the root partition filesystem type is indeed ext4:
Code:
[~]$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
<snip>
└─nvme0n1p3 ext4 1.0 7bb5cb7c-e217-76868-b74e-94848471b4ea 402.6G 8% /
If the external disk is unmounted, then one can use the fsck command, otherwise, to unmount it, you need to have nothing open on it, and no user presence on it, and then run as root:
Then, to have
fsck try and repair the filesystem, run as root:
Note any information or errors on screen and if all seems okay, reboot and try to access the problematical directory again. To check the options for fsck on ext4 you can check out the man page with:
man fsck.ext4.
There are possible obstacles in this process but information on screen should let you know what's happening.