a.) man kann im bootloader die bootreihenfolge einstellen. Man kann ein "primary" einstellen, was zuerst probiert wird. Klappt dies nicht, wird ein "second" probiert.
(Klappt auch das nicht, wird ein default probiert.)
Weiterhin kann man ein "Alternative 1" für den pfeil nach oben, und ein "Alternative 2" für den Pfeil nach unten einstellen. Letzteres ist normalerweise "stop", um dann was webinterface vom bootloader zu benutzen, um zu flashen (oder per telnet auf das setup zuzugreifen).
b.) Ja, tftp bootet "nur" einen kernel. Über das "command line override" kann man dazu eine commandline einstellen, die dann z.b. ein "nfsroot=..." enthält.
Ein .nfi File kann man nur flashen, aber nicht direkt draus bootet. Ich denke aber es gibt Tools, um ein .NFI zu entpacken, um es dann per tftp/nfs zu booten.