Steam does not seem to actually keep a list of what's installed, although that is stored in part of the configuration data. Instead it loads the appmanifest_#.acf files from all of the Steam Library Folders that it knows about on startup (the default + any that are in the libraryfolders.vdf file in the default steamapps folder). Each of these includes a name, the game's state (installed & playable, needs update, etc), and some more specific to that game.
These appmanifest files are a part of Steam's configuration data, and when Steam is not properly shut down including from crashing it can corrupt/destroy parts of the config data including entire files.
It has been possible in the past to create a partial appmanifest & have Steam fill in the blanks, but this may not work any more; I haven't tried in a long time and IDK if anyone else has. If you would like to try it will require copying the game to your separate drive, or at least moving the existing data out of the steamapps folder you'll be using, because this is an experimental technique and can destroy existing installation data.
Here is a method I posted in a Reddit comment around a year ago, with a slight edit (changing BytesToDownload to 0):
Move the game install data out of the steamapps folder if you haven't already, such as to your desktop.
Then in Steam right click the game and "Delete Local Content" to make sure there's nothing left of it in that location, and then start the installation and pause it ASAP.
Now go into the Steam\steamapps folder where you started the download and grab the appmanifest file. Make sure it has the value of "BytesToDownload" set to something other than 0 though; otherwise it's useless. Copy the manifest out, and then in Steam right click->Delete Local Content for the app.
Move or copy the appmanifest file into the steamapps folder of the Steam Library Folder where you do want the game installed, and move or copy the game install data into the steamapps\common folder of it.
Open the appmanifest file in a text editor and copy the value from "BytesToDownload" and paste it into the value of "BytesDownloaded" (value goes between the double quotation marks, e.g. "value"), and set "BytesToDownload" to 0, and ensure that the StateFlags value is set to 1026, and then save the file.
Back in Steam start the install again, but this time make sure it's pointing to the Steam Library Folder where you have moved the game install data & the manifest to before you let it "start the download". It should quickly change to "Discovering Existing Files", meaning it's verifying the game install data.
Note: You may need to close the client between deleting the appmanifest after starting the new download & putting it into it's place.
I would test, but I'm waiting for Steam Support to get back to me about an issue that was crashing my computer which seemed to be caused by the Steam client, and will not launch it again until I get reassurance that it's been fixed or was not the issue. Currently day 2, not including the report I made to the beta discussions which was ignored.
Edit: NVM, it was just my machine dying apparently. Good times =<
Another edit: Leaving BytesToDownload alone may actually help make this work if it does not work when changing that value. Just an afterthought, still haven't been able to test.