UEFI on Samsung notebooks: Half full is almost broken
In a blog post describing the use of UEFI variables for debugging purposes, Matthew Garrett mentions that the memory for UEFI variables being filled up by more than fifty per cent is thought to be the reason why Samsung notebooks will no longer boot and may require repair in certain conditions – for example after starting some Linux distributions with UEFI, or after executing a Windows test program that stores information in the UEFI firmware. The Linux kernel developer and UEFI specialist investigated why even booting some Linux distributions can sometimes cause device failure and has written a Windows program that will brick certain Samsung notebooks.
Garrett has also provided a patch that allows the Linux kernel to prevent information from being stored in UEFI variables if more than fifty per cent of the available memory will be filled as a result. Commenting on the patch, Garret mentions that the garbage collection of some devices goes haywire when more than fifty per cent of the available memory is full – this is obviously the case with the Samsung notebooks. The garbage collection feature de-allocates memory areas during booting after UEFI variables have been modified or deleted by the operating system.
This modification has been part of the Linux kernel's main development branch for several days; it is also included in kernel version 3.8.3 and its recently released successor, 3.8.4. As the large majority of Linux distributors don't update the installation media of releases once they have been officially released, the danger of breaking Samsung notebooks by running Linux on them will continue to exist for many months to come. Commenting on his blog post, Garret therefore also recommends not installing Linux distributions with UEFI support that have been out for a few months. There have been indications that Samsung is working to provide a firmware update that will fix the actual cause of the problem; however, no such firmware has so far become available.