How to add additional hard drive(s) to existing database
Do I need to add a new entry to Filegroups and then add to Files?


You can do one of two things here:


Add a new filegroup and at least one new data file
Add a new data file to an existing filegroup (PRIMARY in this case)



  Is the PRIMARY type only supposed to be used for the first file?


No, the PRIMARY filegroup can contain multiple data files.


  Once I add a file, does the DB engine automatically decide where to put data or do I have to go into my tables and specify this in some way?


Within the filegroup, SQL Server will manage the data dispersion across the data files through a proportional fill algorithm.  Therefore, you will not need to manually administer where the data goes within a filegroup.  But, if you create an additional filegroup with one or more data files, and you want data to live on that filegroup then you will need to explicitly state that (unless you set the new filegroup as the default filegroup).

For instance:

create table dbo.YourNewTable
(
    col1 int not null,
    col2 int not null
    -- so on and so forth
) on YourNewFilegroup;
go


To find out what your default filegroup currently is:

select
    name as default_filegroup_name
from sys.filegroups
where is_default = 1;


To change the default filegroup:

alter database YourDatabase
modify filegroup YourNewFilegroup
default;
go