First, existence: there is a primitive root modulo $n$ if and only if $n$ is $1$ or $2$ or $4$ or $p^\alpha$ or $2p^\alpha$, where $p$ is prime, $p\ne2$, and $\alpha\ge1$.
Second, a systematic way of finding all primitive roots modulo $n$. Begin by finding one primitive root, say $g$. Then all the units modulo $n$ are $g^\alpha$ for $\alpha=0,1,2,\ldots,\phi(n)-1$, and the primitive roots are those in which the exponent $\alpha$ is relatively prime to $\phi(n)$.
Saving the difficult one for last. . . how to find a primitive root $g$ to begin with. Sadly, there is no straightforward way that is much better than trial and error: though as usual, intelligent trial and error is better than mindless trial and error.
Let's illustrate with an example. Suppose that we want to find a primitive root $g$ modulo $43$: since $43$ is prime, such a root does exist. For every $g\not\equiv0\pmod{43}$ we have
$$g^\alpha=1$$
when $\alpha=\phi(43)=42$: to find a primitive root we need $g$ for which this is not true when $\alpha=1,2,\ldots,41$. However we don't need to check all of these: the order of any element modulo $43$ must be a factor of $42$, so we only have to rule out the possible orders
$$1,2,3,6,7,14,21.$$
And we can do even better than this. Suppose we have checked that $g^{21}\not\equiv1$: then we can automatically say that $g^1,g^3,g^7\not\equiv1$ and we don't actually need to check them (see if you can explain why). So we only need to rule out
$$2,6,14,21.$$
And for similar reasons, we don't need to check $2$. So what it comes down to is that we need to find by trial and error a value of $g$ such that
$$g^6,\,g^{14},\,g^{21}\not\equiv1\pmod{43}\ .$$
Try $g=2$: we can save work by using repeated squaring to calculate powers. We have
$$\eqalign{
2^6&=64\equiv21\not\equiv1\cr
2^7&\equiv2\times21=42\equiv-1\cr
2^{14}&=(2^7)^2\equiv(-1)^2=1\cr}$$
and so $g=2$ fails. Try $g=3$: we have
$$\eqalign{
3^4&=81\equiv-5\cr
3^6&\equiv9(-5)=-45\equiv-2\not\equiv1\cr
3^7&\equiv-6\cr
3^{14}&=(3^7)^2\equiv36\not\equiv1\cr
3^{21}&=3^{14}3^7\equiv(-7)(-6)=42\equiv-1\not\equiv1\ .\cr}$$
Therefore $3$ is a primitive root modulo $43$, and all primitive roots are $3^\alpha$ where
$$\alpha=1,5,11,13,17,19,23,25,29,31,37,41.$$
By generalising this example you can prove the following: if $n$ has a primitive root, then the condition for a unit $g$ to be a primitive root is:
$$\hbox{for every prime factor $q$ of $\phi(n)$ we have $g^{\phi(n)/q}\not\equiv1\pmod n$}.$$