Этимологический словарь Крылова
Заимствование из немецкого, где Schaff от глагола schaffen – "делать, создавать".
шкаф
Шкаф