How to transfer blockchain between two machines? I have two computers A and B. A has a partial history of bitcoin blockchain (about 60% of entire history) which is not pruned (~120GB). I would like to transfer the history to B and run a pruned full node there. Both machines are on the same local network. (B is not connected to the internet)

So far I have run this on machine A (192.168.1.100):

bitcoind -whitelist=192.168.1.0/24 \
         -disablewallet \
         -blocksonly \
         -maxconnections=1 \
         -upnp=0 \
         -listen=1


And on machine B (192.168.1.104):

bitcoind -addnode=192.168.1.100 \
         -connect=192.168.1.100 \
         -listen=0 \
         -upnp=0 \
         -maxconnections=1


However, B does not receive any blocks from A. Is that because A is not fully synced? How can I copy all blocks from A to B without having to contain them all at any point of time on B (B has about 8 GB free storage)?
A node won't sync blocks from another node (peer node) if the peer node is not fully synced. There might be a message in your debug.log that says as much. Your best bet is to wait until node A is fully synced.

This is the only reason the node won't sync.