BootManager: Lock installation to "Intel" partition types only.

It seems no other OS calls these "Intel" partition types, but instead
MBR partition types. Perhaps we should change this, too?

At any rate, this solves #13260 by blocking installation on GPT
drives altogether.
This commit is contained in:
Augustin Cavalier 2019-07-13 15:08:15 -04:00
parent 14cbb958bd
commit 39681c5c0f
1 changed files with 3 additions and 1 deletions

View File

@ -18,6 +18,7 @@
#include <Catalog.h>
#include <DataIO.h>
#include <DiskDevice.h>
#include <DiskDeviceTypes.h>
#include <DiskDeviceRoster.h>
#include <DiskDeviceVisitor.h>
#include <Drivers.h>
@ -318,7 +319,8 @@ LegacyBootMenu::CanBeInstalled(const BootDrive& drive)
PartitionVisitor visitor;
device.VisitEachDescendant(&visitor);
if (!visitor.HasPartitions())
if (!visitor.HasPartitions()
|| strcmp(device.ContentType(), kPartitionTypeIntel) != 0)
return B_ENTRY_NOT_FOUND;
// Enough space to write boot menu to drive?