Problems with WordPress multisite directories/url structures and admin access after migration

I don’t know how the migration was executed, but here are some things that have caught me out in the past.

Files: Check the .htaccess and wp-config.php files.
htaccess for a multisite should look something like this:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

And wp-config.php should have extra lines defining constants:

define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
etc...

If they are already there, you could try reverting them to regular (non-multisite) versions and going through the process of converting to a multisite manually. That way you could be sure the files are correct as WP will generate the files and DB stuff automatically.

Database: The options table for each multisite install should contain correct site_url and home.
The wp_blogs table (probably not wp_ in your case) needs to contain path for each install.

Hope some of that helps. Will add more if I anything comes to mind!