Who comes from the Old English word hwa;
whom and whose from hwa's inflected forms
hwam, and hwæs. The <hw> was
pronounced [hw]. In the 13th century scribes changed <hw> to <wh>, probably by analogy with
the other consonant digraphs <ch>, <gh>, <sh>, and <th>. In most cases the pronunciation eased
from [hw] to [hw] or even [w]. Thus, Old English hwal became today's whale, pronounced [hwal] and [wal]. A similar process occurred with several other words, such as what, wheat,
wheel, while, why, etc. But in the case of who and its inflections, the [hw] pronunciation
simplified to [h], the [w] being omitted perhaps because the pronouns were often unstressed.
Analogy caused people to change earlier <h> spellings of [h] to <wh>. Thus, Middle English hole
became whole, and holly, hoolly became wholly. In a similar way, Middle English hore became
whore (AES, 28.4.2, 28.4.3).