Bring 4 quarts of water to a boil, in a large pot, over high heat. When the water is boiling, add 2 tablespoons salt and spaghetti. Reduce heat to medium-high and cook, uncovered, according to package directions, stirring occasionally.
Place eggs in a medium bowl and beat well. Drain the pasta, reserving 1/4 cup of cooking liquid. Return pasta to the cooking pot and add the beaten eggs. Stir briskly. Add the ham, butter and 1/2 cup Parmesan cheese. Continue stirring until everything has melted. Add cooking liquid if the sauce seems too thick. Sprinkle with remaining Parmesan cheese. Serve immediately.