UEFI installation on XFS and boot on another PC

My problem have two part.

1. I made installation of latest (21.0.5) KDE on 1 SSD inserted in PC1.
1m free space - 200Mb efi(fat32) /boot/efi - all remained space XFS /

System boot, all works. CMS in bios set to UEFI only. No other boot media present.

Now, I transfer this SSD to another PC(PC2), it is bit older but nothing to specific, no CMS module in bios.
System wont boot. (insert proper boot device).

I reinstalled system to PC2 (same partitions on same SSD) and system now boots properly.

I need to know why is this happen and how to deal with it without reinstall (PC2 is mother PC and I will upgrade it in some point)

2. Part 2.
Custom installation to XFS filesystem. I got unbootable installation some times. While I making all by the book. Creating efi partition, right mount points, etc.
But I manage to make it right only by letting manjaro installer to work by default(use entire disk) then aborting installation and changing root partition to XFS without touching efi one.

As I understand, inside installer it is enough to mark fat32 partition as boot partition and set /boot/efi mount point in order to make things work, but they does not working for me.

inxi -Fza:
System:    Kernel: 5.10.36-2-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 root=UUID=3c784b7d-0129-4658-ba24-5032b2cc9c9f rw 
           zswap.compressor=lz4 quiet apparmor=1 security=apparmor 
           udev.log_priority=3
           Console: tty pts/2 wm: kwin_x11 DM: SDDM Distro: Manjaro Linux base: Arch Linux 
Machine:   Type: Desktop Mobo: ASUSTeK model: F1A55-M LX v: Rev X.0x serial: <filter> UEFI: American Megatrends v: 1504 
           date: 08/08/2013 
CPU:       Info: Dual Core model: AMD A4-3300 APU with Radeon HD Graphics socket: FM1 bits: 64 type: MCP arch: Fusion 
           family: 12 (18) model-id: 1 stepping: 0 microcode: 3000027 cache: L1: 256 KiB L2: 1024 KiB 
           flags: lm nx pae sse sse2 sse3 sse4a svm bogomips: 9978 
           Speed: 803 MHz min/max: 800/2500 MHz base/boost: 2500/2500 volts: 1.3 V ext-clock: 100 MHz Core speeds (MHz): 
           1: 803 2: 798 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] SuperSumo [Radeon HD 6410D] vendor: ASUSTeK driver: radeon v: kernel 
           bus-ID: 00:01.0 chip-ID: 1002:9645 class-ID: 0300 
           Display: server: X.Org 1.20.11 compositor: kwin_x11 driver: loaded: ati,radeon unloaded: modesetting 
           alternate: fbdev,vesa display-ID: :0 screens: 1 
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9") 
           Monitor-1: VGA-0 res: 1920x1080 hz: 60 dpi: 96 size: 510x290mm (20.1x11.4") diag: 587mm (23.1") 
           OpenGL: renderer: AMD SUMO2 (DRM 2.50.0 / 5.10.36-2-MANJARO LLVM 11.1.0) v: 3.3 Mesa 21.0.3 compat-v: 3.1 
           direct render: Yes 
Audio:     Device-1: Advanced Micro Devices [AMD] FCH Azalia vendor: ASUSTeK driver: snd_hda_intel v: kernel bus-ID: 00:14.2 
           chip-ID: 1022:780d class-ID: 0403 
           Sound Server-1: ALSA v: k5.10.36-2-MANJARO running: yes 
           Sound Server-2: JACK v: 0.125.0 running: no 
           Sound Server-3: PulseAudio v: 14.2 running: yes 
           Sound Server-4: PipeWire v: 0.3.28 running: no 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK P8P67 and other motherboards 
           driver: r8169 v: kernel port: e000 bus-ID: 04:00.0
           IF: enp4s0 state: down mac: <filter> 
           Device-2: Ralink RT5370 Wireless Adapter type: USB driver: rt2800usb bus-ID: 3-2:2
           IF: wlp0s22f2u2 state: up mac: <filter> 
Drives:    Local Storage: total: 717.65 GiB used: 9.72 GiB (1.4%) 
           ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: MEMPEK1W016GA size: 13.41 GiB block-size: physical: 512 B 
           logical: 512 B speed: 15.8 Gb/s lanes: 2 rotation: SSD serial: <filter> rev: K3110310 temp: 34.9 C 
           SMART: yes health: PASSED on: 68 hrs cycles: 47 read-units: 270 [138 MB] written-units: 1 [512 KB] 
           ID-2: /dev/sda maj-min: 8:0 vendor: Transcend model: TS256GSSD230S family: based SSDs size: 238.47 GiB block-size: 
           physical: 512 B logical: 512 B sata: 3.2 speed: 3.0 Gb/s rotation: SSD serial: <filter> rev: TBD1 temp: 18 C 
           scheme: GPT 
           SMART: yes state: enabled health: PASSED on: 59 hrs cycles: 26 read: 8.44 GiB written: 35.66 GiB 
           ID-3: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST500DM002-1BD142 family: Barracuda 7200.14 (AF) 
           size: 465.76 GiB block-size: physical: 4096 B logical: 512 B sata: 3.0 speed: 3.0 Gb/s rotation: 7200 rpm 
           serial: <filter> rev: KC44 temp: 28 C scheme: MBR 
           SMART: yes state: enabled health: PASSED on: 1y 282d 15h cycles: 4964 read: 685.22 GiB written: 56.48 GiB Pre-Fail: 
           attribute: Spin_Retry_Count value: 100 worst: 100 threshold: 97 
Partition: ID-1: / raw-size: 233.2 GiB size: 233.09 GiB (99.95%) used: 9.72 GiB (4.2%) fs: xfs block-size: 512 B 
           dev: /dev/sda2 maj-min: 8:2 
           ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 296 KiB (0.1%) fs: vfat block-size: 512 B 
           dev: /dev/sda1 maj-min: 8:1 
Swap:      Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
           ID-1: swap-1 type: partition size: 13.41 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1 maj-min: 259:0 
Sensors:   System Temperatures: cpu: 4.1 C mobo: N/A gpu: radeon temp: 7.0 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 146 Uptime: 5h 00m wakeups: 0 Memory: 3.33 GiB used: 867.4 MiB (25.4%) Init: systemd v: 247 
           tool: systemctl Compilers: gcc: N/A Packages: pacman: 1244 lib: 327 flatpak: 0 Shell: Bash (sudo) v: 5.1.8 
           running-in: konsole inxi: 3.3.04

sudo parted -l:

 Model: ATA TS256GSSD230S (scsi)
 Disk /dev/sda: 256GB
 Sector size (logical/physical): 512B/512B
 Partition Table: gpt
 Disk Flags: 

 Number  Start   End    Size   File system  Name  Flags
  1      2097kB  317MB  315MB  fat32              boot, esp
  2      317MB   251GB  250GB  xfs

sudo efibootmgr -v:

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* Manjaro       HD(1,GPT,e5bfcbdc-a888-9544-85ae-1fee6bd5c9e6,0x1000,0x96000)/File(\EFI\Manjaro\grubx64.efi)
Boot0001* Hard Drive    BBS(HD,,0x0)

test -d /sys/firmware/efi && echo efi || echo bios:

efi

recheck all option in your UEFI ( for linux)

SecureBoot off
Fast Boot off
No CSM
No Legacy
all disks on AHCI

boot on USB iso manjaro
boot only on UEFI:<partition 1> → EFI install manjaro

you can check in terminal

inxi  -Fxza
test -d /sys/firmware/efi && echo efi || echo bios
sudo efibootmgr -v

if all is ok

sudo manjaro-chroot -a
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck --verbose 
mkinitcpio -P
update-grub
efibootmgr -v
exit ( quit chroot )

This worked as solution for boot problem.
And I moved away from this problem anyway(as Manjaro now offers XFS option in installer).

But it will be still really nice if someone can comment on why this is happened in a first place.