Melt butter in a saute pan over medium heat. Add mushrooms and garlic, cooking until mushrooms lose their moisture and become soft, about 5 minutes.
Whisk together the egg yolks and whole eggs until evenly mixed. Stir in the parmesan.
Bring a large pot of water to a boil, then add salt and spaghetti. Cook according to instructions on package, until spaghetti is al dente. When finished, save 1 cup of the water that you cooked the pasta in, and strain out the rest.
Very slowly drizzle the 1 cup of pasta water into the eggs, whisking as you pour. This tempers the eggs so that they won't scramble when they hit the hot noodles.
Stir the egg mixture and mushrooms into the spaghetti noodles. Top with cracked black pepper and more parmesan cheese. Serve immediately.