Place bacon in a skillet and cook over medium heat until the pieces are browned. Remove with a slotted spoon to paper towels. Discard all but 1 tablespoon of bacon grease. Stir in onions and mushrooms, and cook until soft. Remove from heat.
In a large bowl, stir together beef, egg, and milk. Stir in the onion and mushrooms. Mix in about 4 ounces of Swiss cheese, and all but 1 tablespoon of bacon. Stir in cornflake crumbs, and mix until well blended. Shape into a loaf, and place in a meatloaf pan.
Bake in a preheated oven for 1 hour. Drain fat, and sprinkle with remaining cheese and bacon. Return to oven, and bake until cheese is melted, about 5 minutes.