In the urban rail transit (URT) systems of large cities, the headway and following distance between successive trains have been compressed as much as possible to maximize corridor capacity and meet high passenger demand during peak hours. However, excessively short headways often reduce the overall resilience of URT networks, leading to severe safety incidents during disruptions. Therefore, enhancing the resilience of URT networks while maintaining high service quality for passengers is crucial. In contrast to most existing studies, which focus on rescheduling train timetables after disruption happens, our study investigates a preventive train timetabling approach considering the uncertainties of potential disruptive events. Specifically, we formulate the problem into a two-stage stochastic optimization model. In the first stage, we determined the optimal planned schedule to achieve a good trade-off between the resilience of a URT network for each potential disruption scenario and the travel demand of passengers. The second stage involves determining the optimal schedule after disruptions occur, which aims to evacuate passengers stranded in the event of disruptions as quickly as possible. Additionally, our formula incorporates bus bridging services to the most congested stations, thereby further improving the resilience of the URT network to disruption. Finally, the real-world case studies based on the operational data of Beijing Metro Line 5 are conducted to verify the effectiveness of the proposed model. The results demonstrate that the resilience of the URT network to disruptions can be significantly enhanced by the preventive train timetabling approach.