A principios de 1941, McGrigor foi, brevemente, Capitán de Bandeira,, buque insignia de Sir James Somerville e participou nos Convois de Malta e outras operacións no Atlántico e no Mediterráneo, incluíndo o bombardeo de Xénova en febreiro de 1941 e o afundimento do "Bismarck" en maio de 1941. Foi ascendido a contraalmirante o 8 de xullo de 1941. Entre o 9 de setembro de 1941 e comezos de 1943, foi subxefe do Estado Maior Naval (Armas). A finais de 1943, comandou a Forza Naval (Forza B) que cubriu a captura da illa italiana de Pantelleria (Operación sacacorchos) e a posterior invasión de Sicilia.
polo que foi condecorado coa Orde de Servizo Distinguido. Serviu como oficial de bandeira en Sicilia, onde foi ferido, durante tres meses antes de ser reubicado como oficial de bandeira en Taranto e Adriático (baseado no establecemento costeiro en Alexandría) ata o final de 1943.