Here’s a list of things you can do to make restoring a full backup go faster:
Ensure that instant file initialization is enabled on the SQL Server instance performing the restore operation, to avoid spending time zero-initializing any data files that must be created. This can save hours of downtime for very large data files.
If possible, restore over the existing database – don’t delete the existing files. This avoids having to create and potentially zero initialize the files completely, especially the log file. Be very careful when considering this step, as the existing database will be irretrievably destroyed once the restore starts to overwrite it.
Consider backup compression, which can speed up both backup and restore operations, and save disk space and storage costs.
It’s a straightforward explanation, and Paul provides a few more tips for speeding up restorations.