Macdonald joined the Royal Navy in 1833. He served in the Eighth Xhosa War as Commander of HMS "Ferret". Promoted to Captain in 1854, he commanded HMS "Hogue", HMS "Arethusa" and then HMS "Bellerophon". He was appointed Second-in-Command of the Channel Fleet in 1872 and from 1873 he became the 21st chief of the Clan Macdonald of Clanranald.