Good to hear you got it working! As for some of your earlier questions...
Thank you for giving suggestions, I have tried the one you suggest, and here is the result: [...] #ls /mnt/sda3 /boot,dev/,etc/,home/,opt/,lost+found/,proc/,root/,run/,srv/,usr/,var/,sys/. [...] #mount /dev/sda3 /mnt #mount /dev/sda2 /mnt/boot #arch-chroot /mnt failed to run command /bin/sh, no such file or directory
When I try using /dev/mapper/arch_root-image as root partition, the arch-chroot works, that's why I am using that. Is there any problem in my command?
The problem is that the shell executable /bin/sh doesn't exist in the sda3 filesystem (notice that /bin is missing from the ls output). /dev/mapper/arch_root-image is the liveUSB filesystem (I'll assume you're using a liveUSB and not liveCD) which has the /bin/sh executable, so that's why chrooting works when you mount that as /mnt. However, mounting arch_root-image as /mnt won't help you recover your system since any changes to the filesystem after chrooting would be done to the liveUSB filesystem and not the one on your hard drive.
I use this system for almost one year, and don't update the system. I have tried mount /dev/sda3 as the root directory. And I try one thing before chroot: #mkdir /mnt/bin #cp /bin/* /mnt/bin #arch-chroot /mnt
Now I can go to the chroot jail. And surprised to me, I run the following command, and I don't see any fails: #mv /bin/* /usr/bin/ #rmdir /bin #pacman -Syu mkinitcpio systemd linux
The above is the reason why this worked.