Toen de Tweede Wereldoorlog uitbrak, was McKinnon in Engeland voor een artillerie-opleiding. Hij sloot zich aan bij de Tweede Nieuw-Zeelandse Expeditiemacht en diende bij de 3e Nieuw-Zeelandse Divisie tijdens de campagne op de Salomonseilanden.
Ik weet het. Aanvankelijk was hij commandant van het 28e Zware Luchtverdedigingsregiment, maar toen zijn eenheid in juli 1942 werd ontbonden, nam hij het 29e Lichte Luchtverdedigingsregiment over. Met zijn regiment landde hij op de Treasury en Green Islands. Toen de divisie in 1944 werd gedemobiliseerd, keerde hij terug naar Engeland om het Staff College in Camberley bij te wonen. Na het voltooien van zijn stafcursus, sloot hij zich aan bij de 2e Nieuw-Zeelandse divisie, die op dat moment vocht in Italië met het Achtste Leger, samen met andere artillerieofficieren die in de Stille Oceaan hadden gediend. In februari 1945 arriveerde hij in Italië als tweede in bevel van eerst het 4e veldregiment en vervolgens het 6e veldregiment.