Do you have a page or a microflow as home page in the navigation? If it is a microflow then you could show anyone but MxAdmin a dialog as suggested by Erwin. MxAdmin would be the only one allowed to continue. You could use a constant to turn this on and off: Default in the modeler it is set to restrict access. After you finish migrations, change the constant value in the deployment details of the installed application. After a restart, the application is open as usual.
You could create a non-persistant object that is created by a microflow and opens a dialog showing the dialog with a text in it and make sure that the microflow is one of your alternative homepages (the first). In the dialog add a microflow button that is set as the close button (this will be triggered by pressing the [x] on the right top of the dialog). In the attached microflow reopen the dialog, so the user is trapped in the blocking dialog. Add the style display:none to the microflow close button in order to hide it. Then when you want to block all users make sure to create a function that assigns a user role to all users, except the admin user with the role used for opening the alternative home page. When your data conversion is ready the admin user can unblock the users again by removing the role form all users. Removing the [x] button is a possibility too then you don't need the microflow button set as close button as the user is not able to close the dialog.
Creating a function that sets users active and inactive seems easier though.