Cook the spaghetti until al dente. Drain and toss with olive oil.
Meanwhile in a large skillet, cook bacon until crispy; remove and drain onto paper towels.
Using 2 Tbs of bacon grease, cook the onion until just translucent.
Add the garlic, and cook 1 minute more.
Return bacon to pan and combine.
Add the bacon/onion/garlic mixture to the drained pasta and toss, adding more olive oil if it seems dry.
Add the beaten eggs and toss with tongs until eggs coat all of the pasta.
Add 1/2 cup Parmesan cheese, and toss again.
Add salt and pepper to taste, and serve with extra parmesan.