Copy apfs system partition to another mac

I have a MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports) that has broken keyboard and battery, so I will need to send it to Apple Store for service. I have another MacBook Pro with similar specs but 1 TB of storage with a macOS system and a Windows 10 system. My current plan is to shrink the Windows 10 partition, connect the broken MBP to the other MBP in target disk mode, use asr to copy the macOS partition over, and I should be able to boot of the other MBP. Would this plan work? Will asr copy blocks that have information on them (fs/meta/data) or will it conduct a block-to-block copy, including free blocks? I want to minimize read as the SSD have a limited lifespan.


Solution 1:

I end up copying the system over using the "Restore" function of Disk Utility, by connecting the serviced mac in Target Disk Mode to the other mac and restoring the macOS APFS container over to the Windows partition. This process is slower (300 MB/s) then the theoretical speed (1 GB/s) and it took twice as much time as I expect because there is a verification stage after the copying stage.

After copying the system, I successfully booted into my copied system on the other mac with no weird or unusual symptoms. I installed macOS again to eliminate potential problems due to changed hardware.