Assume that we have mounted a new disk to /mnt/disk2 and that we want to copy the whole / partition to it.
Run the following command:
sudo rsync -aAXv --stats --progress / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/disk2| Parameter | Description | 
|---|---|
| rsync | Rsync is a fast and extraordinarily versatile file copying tool. | 
| -aAXv | The files are copied in archive mode which ensures that symbolic links, devices, permissions, ownerships, modification times, access control lists and extended attributes are preserved. | 
| / | Source directory | 
| --exclude | Excludes the given directories from backup | 
| /mnt/disk2 | Target directory | 
Optional: Install GRUB2 bootloader
Assume that the new disk location is: /dev/nvme1n1.
Run the following command to install the GRUB2 bootloader
sudo grub2-install --root-directory=/mnt/disk2 --force /dev/nvme1n1Optional: Configure UUID of original partition to the new partition
Run the following command to retrieve the UUID of the original partition:
blkid -o fullRun below command to set the UUI on the target partition:
sudo tune2fs -U ORIGINAL-UUID-HERE /dev/nvme1n1