| CPC G06F 21/575 (2013.01) [G06F 2221/033 (2013.01)] | 13 Claims |

|
1. An information processing apparatus comprising:
a nonvolatile memory configured to store a selection program for selecting a program to be executed, a first boot program for starting up a main system of the information processing apparatus, a verification program for verifying a boot program, and a second boot program that is a backup of the first boot program, in this order;
a first volatile memory;
a second volatile memory different from the first volatile memory;
a first processor configured to, before executing the first boot program or the second boot program, execute a program stored in the nonvolatile memory without loading the program into the first volatile memory; and
a second processor configured to load the verification program into the second volatile memory and execute the verification program,
wherein the second processor verifies validity of at least the first boot program using the verification program, and
wherein the first processor executes the selection program to select a boot program verified as valid by the second processor, and executes the selected boot program,
wherein the nonvolatile memory stores the selection program, the first boot program, the verification program, a different selection program that is a backup of the selection program, and the second boot program, in this order,
wherein the selection program is stored at a head address of the nonvolatile memory,
wherein the selected boot program is the second boot program in a case where the first boot program is invalid and the second boot program is valid.
|