Handling partial backups from many different databases
In order to do a piecemeal restore of only the primary filegroup, you need to ensure the following conditions are met:


There can be no pre-existing target for the database restore statement.  i.e. you must DROP any existing database before you run the piecemeal restore.  This applies even if you use the REPLACE keyword in the RESTORE DATABASE statement.
Use a MOVE clause to specify the storage location of the primary filegroup for the database you're restoring.  Specifying the location allows you to ensure you don't try overwriting some other database file, which would result in an error during the restore.


I would restore the database temporarily, copy the data from the restored database into a permanent database, then drop the restored database.  From the details in your question, there is no need to keep the restored database attached to the instance once you've copied the data into the permanent location.

I wrote a blog post showing the problem with performing a piecemeal restore onto an existing database, and how to rectify the problem at SQLServerScience.com