Cuando estalló la Segunda Guerra Mundial, McKinnon estaba en Inglaterra en un curso de entrenamiento de artillería. Se unió a la Segunda Fuerza Expedicionaria de Nueva Zelanda y sirvió con la 3a División de Nueva Zelanda durante la campaña en las Islas Salomón.
- ¿ Qué? Inicialmente fue comandante del 28o Regimiento Antiaéreo Pesado, pero cuando su unidad se disolvió en julio de 1942, se hizo cargo del 29o Regimiento Antiaéreo Ligero. Con su regimiento, desembarcó en el Tesoro y las Islas Verdes. Cuando la división fue desmovilizada en 1944, regresó a Inglaterra para asistir al Staff College en Camberley. Después de completar su curso de personal, se unió a la 2a División de Nueva Zelanda, en ese momento luchando en Italia con el Octavo Ejército, junto con otros oficiales de artillería que habían servido en el Pacífico. Al llegar a Italia en febrero de 1945, fue segundo al mando del 4o Regimiento de Campo y luego del 6o Regimiento de Campo.