A ROM flashing method, wherein the ROM flashing method is applied to an intelligent terminal ; the intelligent terminal comprises a virtual extended system and an original system, the original system is configured to run a factory system file of the intelligent terminal , and the virtual extended system is configured to run a ROM flashing system file; wherein the method comprises: receiving (S101) a ROM flashing instruction entered by a user, wherein the ROM flashing instruction is an operation entered by a user who uses the intelligent terminal to perform ROM flashing on the intelligent terminal , and specifically, the ROM flashing instruction is a ROM flashing operation and a path of a ROM flashing system file that are selected, by the user who uses the intelligent terminal , after access to a ROM flashing screen of the intelligent terminal , wherein the path is a storage path of the ROM flashing system file in the ROM flashing instruction so that the ROM flashing instruction indicates the ROM flashing system file; determining (S102), according to the ROM flashing instruction, the ROM flashing system file selected by the user; writing (S103) the ROM flashing system file into a storage image file of the virtual extended system; and starting (S104) the virtual extended system to run the ROM flashing system file; wherein after the starting the virtual extended system, the method further comprises: if the virtual extended system fails to be started, setting the original system as a system visible to the user, deleting the virtual extended system and the storage image file of the virtual extended system, and ending the ROM flashing process; wherein one original system and N virtual extended systems are virtualized by using a virtualization technology in an intelligent terminal , where N is a positive integer greater than or equal to 1. receiving (S101) a ROM flashing instruction entered by a user, wherein the ROM flashing instruction is an operation entered by a user who uses the intelligent terminal to perform ROM flashing on the intelligent terminal , and specifically, the ROM flashing instruction is a ROM flashing operation and a path of a ROM flashing system file that are selected, by the user who uses the intelligent terminal , after access to a ROM flashing screen of the intelligent terminal , wherein the path is a storage path of the ROM flashing system file in the ROM flashing instruction so that the ROM flashing instruction indicates the ROM flashing system file; determining (S102), according to the ROM flashing instruction, the ROM flashing system file selected by the user; writing (S103) the ROM flashing system file into a storage image file of the virtual extended system; and starting (S104) the virtual extended system to run the ROM flashing system file; wherein after the starting the virtual extended system, the method further comprises: if the virtual extended system fails to be started, setting the original system as a system visible to the user, deleting the virtual extended system and the storage image file of the virtual extended system, and ending the ROM flashing process; wherein one original system and N virtual extended systems are virtualized by using a virtualization technology in an intelligent terminal , where N is a positive integer greater than or equal to 1. if the virtual extended system fails to be started, setting the original system as a system visible to the user, deleting the virtual extended system and the storage image file of the virtual extended system, and ending the ROM flashing process; wherein one original system and N virtual extended systems are virtualized by using a virtualization technology in an intelligent terminal , where N is a positive integer greater than or equal to 1. <EOS>