Hi @AniketL ,
It seems the file location of databases do not match the file location information that existed in master database. Please check the real data and log files location of mode and MSDB. Then using below command to change the file location information in master database.
1.Start the instance of SQL Server in master-only recovery mode by entering one of the following commands at the command prompt. The parameters specified in these commands are case sensitive. The commands fail when the parameters are not specified as shown.
o For the default (MSSQLSERVER) instance, run the following command:
NET START MSSQLSERVER /f /T3608
o For a named instance, run the following command:
NET START MSSQL$instancename /f /T3608
2.For each file to be moved, use sqlcmd commands or SQL Server Management Studio to run the following statement.
ALTER DATABASE database_name MODIFY FILE( NAME = logical_name , FILENAME = 'Real file_path\os_file_name' )
3.Exit the sqlcmd utility or SQL Server Management Studio.
4.Stop the instance of SQL Server. For example, run NET STOP MSSQLSERVER.
5.Start the instance of SQL Server. For example, run NET START MSSQLSERVER.
6.Verify the file change by running the following query.
SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'<database_name>');
Refer to MS document Move System Databases to get more.
If it is not work, please let us know.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".