A ROM flashing method, wherein the ROM flashing method is applied to an intelligent terminal (50, 60); the intelligent terminal (50, 60) comprises a virtual extended system and an original system, the original system is configured to run a factory system file of the intelligent terminal (50, 60), and the virtual extended system is configured to run a ROM flashing system file; wherein the method comprises: receiving 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 (50, 60) to perform ROM flashing on the intelligent terminal (50, 60), 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 (50, 60), after access to a ROM flashing screen of the intelligent terminal (50, 60), 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, according to the ROM flashing instruction, the ROM flashing system file selected by the user; writing the ROM flashing system file into a storage image file of the virtual extended system; and starting 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 (50, 60), where N is a positive integer greater than or equal to 1. receiving 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 (50, 60) to perform ROM flashing on the intelligent terminal (50, 60), 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 (50, 60), after access to a ROM flashing screen of the intelligent terminal (50, 60), 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, according to the ROM flashing instruction, the ROM flashing system file selected by the user; writing the ROM flashing system file into a storage image file of the virtual extended system; and starting 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 (50, 60), 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 (50, 60), where N is a positive integer greater than or equal to 1.