Bug 850056

Summary: UEFI, GPT and MS-DOS partitions
Product: [openSUSE] openSUSE 13.1 Reporter: Alberto Planas Dominguez <aplanas>
Component: Release NotesAssignee: Karl Eichwalder <ke>
Status: RESOLVED FIXED QA Contact: Stephan Kulow <coolo>
Severity: Normal    
Priority: P3 - Medium    
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 850258    

Description Alberto Planas Dominguez 2013-11-12 13:22:42 UTC
This text is a proposal for inclusion in the release notes, and is related with: BNC#842183

UEFI, GPT and MS-DOS partitions
-------------------------------

Together with the EFI/UEFI specification a new style of partitioning
arrived: GPT (GUID Partition Table). This new schema use the globally
unique identifier (a 128 bit value displayed in 32 hexadecimal digits)
to identify devices and type of partitions.

But UEFI specification also support old legacy MBR (MS-DOS)
partitions. The Linux boot loader (ELILO or GRUB2) try to generate
automatically a GUID for those old style partition, and write them in
the firmware's boot loader. This GUID can change frequently, causing a
rewrite in the firmware. This rewrite consist of two different
operation: a remove of the old entry and the creation of a new entry
that replace the first one.

If the firmware is new this is not a problem: there is a garbage
collector that can collect deleted entries to free the memory reserved
for the old entry. The problem arise when a buggy firmware do not
collect and free those entries, causing problems that usually ends in
a non bootable system.

The workaround is simple: we need to convert the legacy MBR partition
to the new GPT to avoid completely this problem.
Comment 1 Karl Eichwalder 2013-11-13 08:42:45 UTC
My version, only wording changes:

   <title>UEFI, GPT, and MS-DOS Partitions</title>
   <para>
Together with the EFI/UEFI specification a new style of partitioning
arrived: GPT (GUID Partition Table). This new schema uses globally
unique identifiers (128-bit values displayed in 32 hexadecimal digits)
to identify devices and partition types.
   </para>
   <para>
Additionally, the UEFI specification also allows legacy MBR (MS-DOS)
partitions. The Linux boot loaders (ELILO or GRUB2) try to generate
automatically a GUID for those legacy partitions, and write them to the
firmware. Such a GUID can change frequently, causing a rewrite in the
firmware. A rewrite consist of two different operation: removing the old
entry and creating a new entry that replaces the first one.
   </para>
   <para>
Modern firmware has a garbage collector that collects deleted entries
and frees the memory reserved for old entries. A problem arises when
faulty firmware does not collect and free those entries; this may end up
with a non-bootable system.
   </para>
   <para>
The workaround is simple: convert the legacy MBR partition
to the new GPT to avoid this problem completely.
   </para>
Comment 2 Karl Eichwalder 2013-11-13 14:20:28 UTC
done.
Comment 3 Swamp Workflow Management 2013-11-19 15:05:57 UTC
openSUSE-RU-2013:1731-1: An update that has 9 recommended fixes can now be installed.

Category: recommended (low)
Bug References: 847801,849112,850052,850053,850054,850056,850057,850058,850258
CVE References: 
Sources used:
openSUSE 13.1 (src):    release-notes-openSUSE-13.1.7-10.1