Recently a number of transmission schemes have been introduced to achieve sum capacity for multiuser multi-input multi-output (MIMO) broadcast channels (BC). A block diagonalization (BD) is an attractive method which operates only a few dB away from the sum capacity. This scheme is a generalization of the zero-forcing channel inversion to the case where each receiver is equipped with multiple antennas. One of the limitation of the BD is that the sum rate does not grow linearly with the number of users due to the noise enhancement. In this paper, we propose a generalized minimum mean-squared error (MMSE) channel inversion algorithm for users with multiple antennas to overcome the drawbacks of the BD for multiuser MIMO systems. Simulation results confirm that the proposed scheme achieves performance improvement over the conventional BD scheme. Also, we present a precoding method for systems with channel estimation errors and show that the proposed algorithm is robust to the channel estimation errors.