Rinse corned beef in cold water to remove brine. Place beef in a large pot, add bay leaves and peppercorns, and enough water to cover. Bring to a boil over high heat, cover, and reduce heat to low. Simmer for 2–3 hours, until very tender, skimming occasionally. Drain corned beef, reserving cooking liquid, and set both aside to cool.
Place potatoes and onions in same pot, add reserved cooking liquid, and cook over medium-high heat until potatoes are tender, about 45 minutes. Remove potatoes and set aside. Continue cooking onions (if necessary) until they are easily pierced with a fork. Set onions aside. Reserve about 1⁄4 cup cooking liquid.
Use two forks to shred corned beef into bite-size pieces, then place in a large bowl. Coarsely chop potatoes. Halve onions, slice them about 1⁄4'' thick, then add potatoes and onions to beef. Stir in parsley and moisten with a little reserved cooking liquid. Season with salt and pepper.
Preheat oven to 200°. Melt half the butter in a large nonstick skillet over medium heat. Add half the corned beef mixture, molding it into a flat cake with a spatula. Cook until crisp, about 5 minutes, then flip (re-forming into a cake if necessary) and cook until crisp on the other side, about 5 more minutes. Transfer to a cookie sheet and keep warm in oven. Brown remaining corned beef mixture in remaining butter in same manner. Keep warm in oven.
Fill a large deep skillet about three-quarters full with water. Add vinegar (to help eggs hold their shape) and a pinch of salt, then bring to a simmer over medium heat. Crack an egg into a saucer, then carefully slip it into simmering water. Cook a few eggs at a time until whites are firm, about 5 minutes. (Eggs can be poached up to 1 hour in advance, stored covered with cold water, and reheated by dipping in simmering water.) Divide hash among six plates. Remove poached eggs from water with a slotted spoon, and blot with paper towels. Place 1 or 2 eggs on each portion of hash and serve.