（609年），隋炀帝派遣朱宽招抚流求被拒绝，张镇周受命与陈稜率东阳郡（治今浙江省金华市）万余军兵，从义安（今广东省潮州市）渡海作战，俘虏流求万余人回军。次年，到洛阳献俘，因功进升为金紫光禄大夫。大业十三年（617年），任左屯卫将军，率军镇压李通德起义军。皇泰二年（619年）正月，隋朝的将军王隆统率屯卫将军张镇周、都水少监苏世长等，率领山南军队刚刚到达东都。唐高祖武德三年（620年）十月初五，张镇周从王世充处降唐，担任左武候将军。武德六年（623年），为舒州总管。洪州总管张善安反唐，高祖诏命张镇周讨击。又在猷