The calculated distance (air line) between Bonnyrigg and Preston is approximately 147 miles respectively 236 kilometers.
By car or train, the actual journey to Preston is certainly longer, as only the direct route (as the crow flies) between Bonnyrigg and Preston has been calculated here.