Late last month the word got out that some Samsung laptops have a problem booting Linux using UEFI, and late last week that problem began to look even worse.
Specifically, it now looks like Windows can “brick” some Samsung machines as well, suggesting that it's not a Linux-specific bug after all.
“I bricked a Samsung laptop today,” wrote Linux developer Matthew Garrett, who is also known for uncovering the Windows 8 “Secure Boot” problem, in a new blog post on Friday. “Unlike most of the reported cases of Samsung laptops refusing to boot, I never booted Linux on it—all experimentation was performed under Windows.”
A little background: This is apparently a problem that dates back at least to August, when the user of a Samsung laptop reported that booting Linux via the Unified Extensible Firmware Interface (UEFI) rendered the machine completely unresponsive.
The user actually ended up losing not just one but two laptops that way.
Canonical apparently informed Samsung of the issue, but as of my last writing there was still no ETA for an update that would fix it.
In the meantime, Linux creator Linus Torvalds published changes to the main Linux development tree designed to provide at least partial protection against the problem, but it was clear from the start that they were not a true fix.
'There are other ways'
“The recent Linux kernel commits avoid one mechanism by which Samsung laptops can be bricked, but the information we now have indicates that there are other ways of triggering this,” Garrett wrote in a separate post last Thursday. “We're still trying to figure out the full details, but until then you're safest ensuring that you're using BIOS mode on Samsung laptops no matter which operating system you're running.”
Samsung laptops including the 530U3C, NP700Z7C, NP700Z5C, and 300E5C series are among those believed to be affected.
At the heart of the problem is that some Samsung laptops will fail to boot if too much of their variable storage space is used, Garrett explained.
“We don't know what 'too much' is yet, but writing a bunch of variables from Windows is enough to trigger it,” he noted.
'Do not use UEFI'
Garrett has posted some sample code that writes out 36 variables, each containing one KB of random data. After running it as an administrator under Windows, he rebooted the system and “it never came back,” he wrote.
Garrett's current conclusion is that the problem is caused by a firmware bug similar to some observed—but quickly fixed—in the past in Intel's reference code.
For now, "the safest thing to do is not to use UEFI on any Samsung laptops,” he advised. “Unfortunately, if you're using Windows, that'll require you to reinstall it from scratch.”