Происходил из старинного дворянского рода Волковых. Его старший брат А. П. Волков — губернатор Полтавской губернии.
В 1829 году, после окончания школы кавалерийских юнкеров в Санкт-Петербурге, зачислен в лейб-гвардии сапёрный батальон. Участник подавления Польского восстания 1830—1831 годов, Хивинского похода 1839—1840 годов.
С октября 1845 года — полковник, с декабря 1853 года — генерал-майор.
В 1854—1856 годах — начальник штаба лейб-гвардии Гвардейского пехотного корпуса, участник Крымской войны.По окончании войны переведён на службу в Министерства внутренних дел, 6 декабря 1856 года назначен губернатором Олонецкой губернии.По личному заявлению уволен с поста губернатора 17 октября 1860 года. Дальнейшая служба проходила в Санкт-Петербурге на должности чиновника особых поручений по армии департамента общих дел Министерства внутренних дел.
В 1865 году присвоено звание генерал-лейтенанта.Скончался от холеры. Похоронен на Новодевичьем кладбище Воскресенского Новодевичьего монастыря.