I have a theory
The earths magnetic field comes from the fact that the core rotates at a different rate than the outer crust.
Why would it do that? There is no friction in space to make the outer core slow while the inner core spins faster...
So, what if an asteroid strike causes the outer core to shift, and then it springs back. Then oscillates back and forth until it slows, and eventually stops.
Like a swinging door does.
This would explain the shifting poles every 26,000 years (or so) and also some periods of mass die-offs, when the swinging stops at the top and bottom of each cycle.
There would be nothing to protect us from the solar wind during those times.
I am not sure how ‘elastic’ the molten core is.
No science yet that positively identifies the source of Earth’s magnetic field. Amazing that we really don’t know. I know that planetary scientists are trying to ID planetoids that have magnetic fields.
They tend toward being habitable.