先后毕业于直隶陆军小学堂(亦称小武备)、北京清河第一陆军预备学校。清
光绪三十年(1904)考入保定北洋陆军速成
武备学堂第二期炮兵科。光绪三十二年(1906)毕业后,先在北洋陆军中任下级军官,因参加反对
袁世凯的秘密组织,被迫转到云南
滇军。
1915年12月任滇军旅长,1916年1月,
蔡锷就任云南
护国军第一军总司令,他任该军第一梯团长(
朱德任团内支队长),随蔡一同举行反袁护国起义。在讨袁期间,袁世凯曾以封一等爵及40万银元向他诱降,他不予理睬。1917年7月被蔡任命为云南护国军第二路司令,指挥大军自云南经贵州向乐山的北洋军发动攻击。
1921年任云南省造币厂厂长。1922年3月率少数随从自云南到贵州途中遭遇土匪绑架,后经部下朱德全力营救方脱险。曾一度参与了
北伐战争。
1927年
“四一二”政变后,他弃职赋闲,不再参与任何军政事务。1929年受
冯玉祥邀请任
西北军总部高参,
中原大战后回故里赋闲。1937年由保定辗转到云南昆明。1946年7月授中将。
新中国成立后,原护国军时的部下刘耀魁将其在云南的情况报告了朱德。朱德了解情况后即电告云南省人民政府并派员赴云南,拟将其接到北京予以安置,1953年在行将北上时病故。