Bring a large pot of salted water to boil and add pasta, cooking according to package directions.
While pasta is boiling, add bacon to a frying pan over medium heat. Cook the bacon until crisp, then use a slotted spoon to remove the cooked bacon to a plate. Set aside.
Add the sliced mushrooms to the pan and let cook unbothered for 3-4 minutes to release the water. Stir and add the diced onions, season with salt and pepper, and cook for another 4-5 minutes until the onions are turning golden brown.
Turn off the heat and add the garlic, cooked bacon, and half of the lemon zest to the pan. Stir and let the garlic cook in the residual heat.
In a medium sized mixing bowl, whisk together the egg yolks, grated parmesan cheese, the rest of the lemon zest, and black pepper until well combined.
When pasta is done cooking, save ¼ cup of the cooking liquid and use tongs to take the pasta from the large pot into the frying pan.
Using the tongs, mix the cheese mixture into the pasta, tossing the pasta. Add in a few heavy splashes of the reserved pasta water and mix in to create a creamy sauce.
Taste for seasoning and season as needed.
Garnish with more lemon zest, parmesan cheese, and black pepper and serve hot.