An information processing device comprising: a nonvolatile memory having a first program data area storing first program data for booting a system, a second program data area storing second program data for booting the system, and a corrective data area storing corrective data identical in content to one of the first program data and the second program data for use when a fault is detected in the other one of the first program data and the second program data; the nonvolatile memory further having means for storing boot information (106a, 106c, 106d) specifying the first program data or the second program data as program data to use in booting the system, the boot information (106a, 106c, 106d) being preset to specify the other one of the first program data and the second program data; a boot unit for booting the system by executing the program data specified by the boot information (106a, 106c, 106d); a fault detection unit for detecting faults in the specified program data in parallel with the booting of the system by the boot unit; an error correction unit for deciding, in parallel with the booting of the system by the boot unit, whether the corrective data agree with non-specified program data, the non-specified program data being first program data or second program data that are not specified by the boot information (106a, 106c, 106d), detecting bit errors in the corrective data and the non-specified program data if the corrective data and the non-specified program data do not agree, and when a bit error is detected in one of the corrective data and the non-specified program data, using the data in which the bit error was not detected to correct the data in which the bit error was detected; and a reboot unit for, when the fault detection unit detects a fault in the specified program data, updating the boot information (106a, 106c, 106d), thereby switching the specified program data, and then directing the boot unit to boot the system. a nonvolatile memory having a first program data area storing first program data for booting a system, a second program data area storing second program data for booting the system, and a corrective data area storing corrective data identical in content to one of the first program data and the second program data for use when a fault is detected in the other one of the first program data and the second program data; the nonvolatile memory further having means for storing boot information (106a, 106c, 106d) specifying the first program data or the second program data as program data to use in booting the system, the boot information (106a, 106c, 106d) being preset to specify the other one of the first program data and the second program data; a boot unit for booting the system by executing the program data specified by the boot information (106a, 106c, 106d); a fault detection unit for detecting faults in the specified program data in parallel with the booting of the system by the boot unit; an error correction unit for deciding, in parallel with the booting of the system by the boot unit, whether the corrective data agree with non-specified program data, the non-specified program data being first program data or second program data that are not specified by the boot information (106a, 106c, 106d), detecting bit errors in the corrective data and the non-specified program data if the corrective data and the non-specified program data do not agree, and when a bit error is detected in one of the corrective data and the non-specified program data, using the data in which the bit error was not detected to correct the data in which the bit error was detected; and a reboot unit for, when the fault detection unit detects a fault in the specified program data, updating the boot information (106a, 106c, 106d), thereby switching the specified program data, and then directing the boot unit to boot the system.