The rapid development of modern industry makes fault diagnosis more important. In engineering practice, equipment often works under different working conditions, and there may be several new faults, called unknown faults, which cannot be identified by the traditional intelligent fault diagnosis method. To solve the difficulty of unknown faults diagnosis under multiple working conditions, a fault diagnosis method based on adversarial transfer learning and multitask learning is proposed in this paper. First, known faults and unknown faults are distinguished by adversarial transfer method with sample weights. Second, the fault classification module and fault location module trained by multitask learning are used to classify and locate the known faults. Besides, the number of categories of unknown faults is identified by the Bisecting K-Means clustering algorithm with silhouette coefficient. Experiment shows that the proposed method can be well applied to unknown fault diagnosis, and has a better recognition rate than other comparison methods.