it could be that the starter clutch is dirty inside , full of old dust and engine crud . the little tin plate should pry off and you will see i think 6 steel balls inside . on that angle they will probably fall out so take care they dont zap under a workbench or some golf clubs .

give the housing a good clean out of all crud and the balls too . make sure all clean and DRY , as in no lube at all just really clean and grease free . just a small amount of light engine oil on the shaft as it lubes the INSIDE of clutch on shaft as will with have an ear piercing squeel most times if its dry . or a replacement is i think $20 + maybe in store here .
give it a try , works almost always for me ......... if it is the problem .

cheers , Dave