What you want to do can be done in several ways. The rule is that the system is booted with GRUB or lilo. Their configuration files state where the kernel image is located and it must be correctly defined. Moving e.g. libraries is absolutely allowed, which means that it is not necessary to make a post-sectoral copy of the system.
1. The case when you started the system and the one you want to move is mounted, its partition e.g. in / mnt / mint and the target partition / mnt / newmint. You usually copy data between partitions using cp with the -axp options. Then add the target partition / mnt / newmint in GRUB or lilo as an optional boot. If it is a different disk, it is advisable to add the boot flag, e.g. using fdisk. On the target disk you still have to bury in fstab to set up partitions. You are restarting from the copied partition and the system should stand up.
2. Compress the entire system so that you can unpack it. The easiest way to do this is when the compressed system is mounted in e.g. / mnt / mint and inactive. The point is that a working system has quite a few things that are true but should not be compressed e.g. device files, tmp. if you have a filesystem mounted, you enter its partitions, e.g. / mnt / new_mint into the main tree and compress:
tar -xJvpf mint_image.txz *
The J flag means that you compress the system with xz, which means it will take a while

.
3. Of course you can do it on a working system but then you will have to inform tar about what you don't want to include in the archive. This is done with the --exclude flag.
In the main tree you issue the command:
tar -cJvpf --exclude var --exclude proc --exclude opt --exclude sys --exclude home --exclude mnt --exclude dev --exclude tmp --exclude run mint_obraz.txz *
Again, when you unpack it to the destination disk you need to create directories that you did not compress (option --exclude). It would be good to do a simple script to add them or to bother each time using e.g. mkdir

.
Then you will add the unpacked system image to the GRUB of the currently running system and restart. Of course, after starting the newly unpacked system, you should run the GRUB or lilo configuration tool so that the bootloader will also be installed on the new disk.
The target disk can be small enough for the unpacked system image to enter.