No, the Earth's magnetic field isn't because of iron being ferromagnetic, nor does it come from the solid inner core. The iron in the core is well above the Curie temperature at which ferromagnetism ceases.
Rather, the Earth's magnetic field is due to currents flowing in the liquid outer core. Convection in the core drives the conductive metal across these currents, increasing them by a dynamo effect. This process occurs on a rather small scale and is difficult to model, and is also somewhat chaotic, leading to very occasional collapses and flips of the Earth's magnetic field.