The driver, identified as 58-year-old Gary Bonslater of Victorville, stopped for a caffeine jolt at the last stop before the wreck, about 30 miles south in Gilroy, according to the California Highway Patrol.
"He stated that he did feel fatigued and that he did get some coffee in Gilroy when he dropped off two passengers," CHP Officer Chris Miceli said, adding that the cause of the crash was still under investigation.
The bus carrying 20 passengers hit the barrels and then rolled onto the center divider of U.S. 101 in San Jose, a major commuting thoroughfare, said Lanesha Gipson, a Greyhound spokeswoman.
One person suffered major injuries and three others were moderately hurt, officials said. Several others had minor injuries and got patched up at the scene or were ferried to a hospital to be treated for cuts and bruises.
Alex Ehlers, one of the passengers, said the driver had stopped for a bit and then seemed to be nodding off after getting back on the highway.
PHOTOS: Greyhound bus overturns in San Jose, kills 2
"I could feel him weaving and jerking the wheel a little bit and I knew it wasn't going to end up well," Ehlers told KCBS Radio.
Ehlers said that a short time later, there was a loud sound "like a lightning strike hit the bus" and a loud scraping sound for about 10 seconds as the bus see-sawed along the center median.
"It felt like I was in space. Everything was weightless and loud," he said.
Ehlers, who was traveling with his girlfriend from Denver to San Jose, said he heard people yelling and screaming and saw smoke coming from the rear of the bus.
He said that after he and his girlfriend climbed out of the bus, they saw people lying face down on the concrete.
The bus left Los Angeles at 11:30 p.m. Monday with stops planned in Gilroy, San Jose, San Francisco and Oakland, Gipson said. The driver began his shift in LA, and the company requires operators to rest nine hours between trips, she said.
The driver was asked to submit a blood sample to test for alcohol and drugs, Miceli said. Prosecutors have been notified, which is a routine measure, he said.
In addition to the CHP inquiry, the National Safety Transportation Board was sending a team of investigators, agency spokesman Eric Weiss said.
After the bus rolled, a driver traveling south hit some of the debris, damaging the car but leaving the motorist uninjured, Miceli said.
Authorities have not released the identity of the victims, but Antonio Olivera, of San Francisco, said he was notified by the Santa Clara County coroner's office that his mother, Fyle Olivera, 51, died after being ejected from the bus.
Antonio Olivera, a patient care assistant at a hospital, said his mother was returning home to San Francisco from Los Angeles, where she had visited his two brothers.
He said his mother had immigrated to California from the Philippines in September and that she had made that trip at least three times before.
"I thought she would die from getting sick and not from being ejected from a bus," said Olivera, 25. "I haven't seen her body. I'm still hoping it's a different person."
The coroner's office couldn't be reached for comment.