Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F133522286
D3140.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D3140.diff
View Options
Index: stable/10/sbin/geom/class/part/gpart.8
===================================================================
--- stable/10/sbin/geom/class/part/gpart.8
+++ stable/10/sbin/geom/class/part/gpart.8
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 5, 2015
+.Dd July 14, 2015
.Dt GPART 8
.Os
.Sh NAME
@@ -933,6 +933,12 @@
See
.Xr gptboot 8
for more details.
+.It Cm lenovofix
+Setting this attribute overwrites the Protective MBR with a new one where
+the 0xee partition is the second, rather than the first record.
+This resolves a BIOS compatibility issue with some Lenovo models including the
+X220, T420, and T520, allowing them to boot from GPT partitioned disks
+without using EFI.
.El
.Pp
The scheme-specific attributes for MBR:
Index: stable/10/sys/geom/part/g_part_gpt.c
===================================================================
--- stable/10/sys/geom/part/g_part_gpt.c
+++ stable/10/sys/geom/part/g_part_gpt.c
@@ -1007,6 +1007,7 @@
{
struct g_part_gpt_entry *entry;
struct g_part_gpt_table *table;
+ struct g_provider *pp;
uint8_t *p;
uint64_t attr;
int i;
@@ -1036,6 +1037,21 @@
}
}
return (0);
+ } else if (strcasecmp(attrib, "lenovofix") == 0) {
+ /*
+ * Write the 0xee GPT entry to slot #1 (2nd slot) in the pMBR.
+ * This workaround allows Lenovo X220, T420, T520, etc to boot
+ * from GPT Partitions in BIOS mode.
+ */
+
+ if (entry != NULL)
+ return (ENXIO);
+
+ pp = LIST_FIRST(&basetable->gpt_gp->consumer)->provider;
+ bzero(table->mbr + DOSPARTOFF, DOSPARTSIZE * NDOSPART);
+ gpt_write_mbr_entry(table->mbr, ((set) ? 1 : 0), 0xee, 1,
+ MIN(pp->mediasize / pp->sectorsize - 1, UINT32_MAX));
+ return (0);
}
if (entry == NULL)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Oct 27, 9:35 AM (8 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24286487
Default Alt Text
D3140.diff (1 KB)
Attached To
Mode
D3140: MFC r285594 (gpart lenovofix flag)
Attached
Detach File
Event Timeline
Log In to Comment