Yes you can Install a system without installation media. An installer basically generates binary files, drivers and configurations depending on your hardware and copy them into a partition. As you've issue with installer you can copy all files from a installed system to a partition where you want to install CentOS.
Freshly install CentOS to an approximately similar hardware as Minimal Installation. Don't update the newly installed system. Keep the freshly installed machine on. Create a new partition in destination system and temporarily mount it in
/mnt/new folder. Copy all contents of
/ partition of fresh installation with
rsync to the new partition where you want to install CentOS. Use
-avz flag with
rsync as root user. Exclude
/run directory with
sudo rsync -avz root@newsystem:/* /mnt/new/ --exclude '/dev' --exclude '/proc' --exclude '/sys' --exclude '/run'
Now create those excluded directories in new system.
sudo mkdir /mnt/new/sys /mnt/new/dev /mnt/new/proc /mnt/new/run
/etc/fstab and mount file-system properly. Make proper grub entry and boot the system with newly copied CentOS. If the system unfortunately leave you in
dracut shell use the command
blkid to find
UUID of partitions. Identify
UUID of your new root partition. Reboot to previously running system and edit
/etc/fstab with UUID instead
If still it's leaving in
dracut shell boot the system with
rescue kernel and rescue
initramfs and regenerate
initramfs for your hardware. Now it shall work.
You may install fresh CentOS inside virtualbox on the running system and copy CPU configuration etc. from host. Then copy that installation to desired partition in host.
Most issues occurs while transferring a Linux installation is with display driver and
fstab entry. So Transfer a minimal installation only. Latter install
X Server and