Этимологический словарь Крылова
Восходит, по всей видимости, к grednoti от gredti в значении "грясти". Первоначальное значение – "внезапно появиться".
грянуть