Jose Altuve went 4-for-4 with two home runs, and Lance McCullers allowed one run and struck out nine over seven innings as the Houston Astros trounced the Boston Red Sox 8-1.