How to start a print in the center position after a change in parameters using M92 and M500 G-code
Every time I.m will go to print, if turn off the machine, the process to be need repeat, in other words, the gcode M500 doesn't work.

This tells me that your firmware has the EEPROM support needed for the M500 command disabled.
Fixing the firmware
You need to update your firmware to enable storing the information in the EEPROM: the line should read as follows without any leading //
#define EEPROM_SETTINGS // Enable for M500 and M501 commands

When you are already updating your firmware, you should also fix your firmware to have the correct steps/mm, as those are off in your build. An example for the line you look for is
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 106.64, 106.64, 4000, 500 }

Workaround
automatic setting of the Steps/mm fix
There's a way to fix it on the user side though: When slicing, your Start-G-code needs to include M92 X106.64 Y106.64, best before homing. That way you make sure that your printer sets the correct Steps/mm whenever you load a printjob.
Home position
via offset
If the home offset is wrong, you can fix it as the next line before G28 - if the home position is for example 10 mm of the trigger in both X and Y, you'd add M206 X100.00 Y100.00 Z0.00 - If your printer has &quot;home&quot; properly defined in the center of the build plate and your slicer is set up to respect that, this should do it. You need to
via move and 0-ing
Another way to get the printhead to the center is to use first G28, then insert a movement to the center of the bed (G0 X100 Y100 for a bed 200 mm across) and then order G92 X0 Y0, defining that point as the origin.
necessary next line!
In either case, the setup of Marlin also prevents you to move to the &quot;negative&quot; area due to the software endstops by default. So you need to add M121 after it to be allowed to go into the negative space.
Start G-code in bulk
M92 X106.64 Y106.64
G28
G0 X100 Y100 ; move to center
G92 X0 Y0
M121