Chicago ended a two-game skid and halted the Orioles' winning streak at four.
Baltimore was limited to three hits, all of them given up by Dylan Axelrod (2-2) over 7 1/3 innings.
The White Sox sent eight men to the plate in the opening inning with Rios producing his two RBI with a double and then scoring on the two-run single by Ramirez.
Gordon Beckham doubled home a run in the fourth and singled in two more in the sixth.
Chicago roughed up Joe Saunders (6-11) for six runs on 10 hits in 6 1/3.