There are
900 mi
from Petersburg, VA to Troy, MO
That's the driving distance. It would take 16 hours 47 mins to go from Petersburg, Virginia to Troy, Missouri.
The flight distance (direct flight from Petersburg, VA to Troy, MO) is 747.39 mi.
900 mi = 1,448.34 kms