There are
2,934 mi
from Petersburg, VA to Salem, OR
That's the driving distance. It would take 2 days 4 hours to go from Petersburg, Virginia to Salem, Oregon.
The flight distance (direct flight from Petersburg, VA to Salem, OR) is 2,402.36 mi.
2,934 mi = 4,721.32 kms