We present a genetic algorithm to tackle a file assignment problem for a large scale video-on-demand system. The file assignment problem is to find the optimal replication and allocation of movie files to disks, so that the request blocking probability is minimized subject to capacity constraints. We adopt a divide-and-conquer strategy, where the entire solution space of file assignments is divided into subspaces. Each subspace is an exclusive set of solutions sharing a common file replication instance. This allows us to utilize a greedy file allocation method to find a sufficiently good quality heuristic solution within each subspace. Two performance indices are further designed to measure the quality of the heuristic solution on 1) its assignment of multi-copy movies and 2) its assignment of single-copy movies. We demonstrate that these techniques together with ad hoc population handling methods enable genetic algorithms to operate in a significantly reduced search space, and achieve good quality file assignments in a computationally efficient way.