A、如果两对等位基因位于非同源染色体上,则两对基因的遗传遵循基因的自由组合定律,后代应出现3×3=9种基因型,A错误;B、同源染色体上相同位置一般为等位基因,不可能为非等位基因,B错误;C、如果两对基因连锁,并且AB基因位于一条染色体上,后代的基因型及比例应为:AABB:AaBb:aabb=1:2:1,C错误;D、A和b基因连锁,则AaBb能产生Ab和aB两种比例相等的配子,则后代有AAbb、AaBb和aaBB3种基因型,比例为1:2:1,D正确.故选:D.