Does English have digraph GN that does not come from Norman (Old French)?

Solution 1:

At the start of words like gnaw

Yes, at the start of some words like gnaw. Even though the G in gnaw is “silent” in present-day English, it used to represent a consonant sound. So originally, the "GN" in this word wouldn't have been a "digraph" so much as a consonant cluster (albeit a special kind of consonant cluster: the sounds are "tautosyllabic" or in the same syllable). As the spelling suggests, the consonant cluster is thought to have originally been pronounced as [gn], although it may have developed other realizations in certain time periods.

The distinction in pronunciation between words starting with gn- and words starting with n- seems to have been lost sometime in the early Modern English time period (An Introduction to Early Modern English, by Terttu Nevalainen (2006), says the change of gn- to /n/ was "completed in the south in the eighteenth century", p. 128).

In the middle of some compound words like hangnail

There are also some compound words made from native elements that are spelled with -gn-, such as hangnail.

"G" itself isn't very frequent in non-word-initial position in native English vocabulary because of sound changes

The /g/ sound is a bit rare outside of word-initial position in native English vocabulary because it was historically vocalized in many contexts to /j/ or /w/.

The vocalization of G to /j/ (in palatalizing contexts) had already occurred by the time of Old English (at least, in West Saxon dialects), so the letter "G" in Old English spellings could represent the palatal glide /j/ (we have evidence for this from spellings that use G unetymologically to represent /j/ that did not originate from the Proto-Germanic *g sound; e.g. the word for year, cognate to German Jahr, was spelled with the letter G in old English). The Old English word regn that Laurel's answer mentions was probably pronounced something like /rejn/.

The vocalization of G to /w/, which occurred later, seems to have developed via rounding of earlier /ɣ/. An example is the Modern English word owner which the OED says had spellings like agenere, agnere, and ahnere in Old English. The Bosworth-Toller entry is at ágnere.

The pronunciation of "-gn-" as /gn/ is not inconsistent with Latin, or even French origins for a word

The pronunciation of -gn- as /gn/ in many Latinate words is based on spelling (and also partly on certain traditions for pronouncing Latin, which may have themselves have been based on spelling): it doesn't have much if anything to do with Germanic. Note that even though -gn- is pronounced as /ɲ/ most of the time in French words, there are actually some learned French words where /gn/ is used, such as ignition and stagnation.

Solution 2:

Old English had a lot of words spelled with "gn" somewhere in the word. With some patience you can get a pretty complete list here by doing a regular expression search for gn (the first 500ish hits are valid, the rest match words found in the body of the definition).

Cross checking with the OED, I see that very few current words have an etymology of "germanic" and are spelled still with a "gn" (most of them I've never heard of and were added to the language from German itself much later). The two I have heard of are "gnat" and "gnaw", which both date back to Old English. One I haven't heard of is "agnail" (OE angnægl,), which according to the OED is etymologically from "the Germanic base of ange + the Germanic base of nail" (see also here).

I do see there are plenty of words that are still used that lost the "gn". For example, "again" was once spelled ongeagn. In addition, "rain" was spelled regn.

Solution 3:

Other words of English etymology using "gn" are gnarl, gnash, and gnat. As sumelic has pointed out, they are found at the beginning of these words.