Check for boot/active flag on 0xEE protective partition in verify
function.
diff --git a/NEWS b/NEWS
index a4faeb1..d61cb41 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,10 @@
 0.8.8 (?/??/2013):
 ------------------
 
-
+- Added check for an active/bootable 0xEE protective partition to the
+  verify ('v') function. If found, this is not counted as an error, but
+  it is called out to the user, since it can cause some EFIs (such as
+  VirtualBox's EFI) to ignore the disk.
 
 0.8.7 (7/8/2013):
 -----------------
diff --git a/basicmbr.cc b/basicmbr.cc
index 7483734..080de76 100644
--- a/basicmbr.cc
+++ b/basicmbr.cc
@@ -921,6 +921,18 @@
    return allOK;
 } // BasicMBRData::IsLegal()
 
+// Returns 1 if the 0xEE partition in the protective/hybrid MBR is marked as
+// active/bootable.
+int BasicMBRData::IsEEActive(void) {
+   int i, IsActive = FALSE;
+
+   for (i = 0; i < MAX_MBR_PARTS; i++) {
+      if (partitions[i].GetStatus() & 0x80)
+         IsActive = TRUE;
+   }
+   return IsActive;
+} // BasicMBRData::IsEEActive()
+
 // Finds the next in-use partition, starting with start (will return start
 // if it's in use). Returns -1 if no subsequent partition is in use.
 int BasicMBRData::FindNextInUse(int start) {
diff --git a/basicmbr.h b/basicmbr.h
index 1a79856..d38f963 100644
--- a/basicmbr.h
+++ b/basicmbr.h
@@ -103,6 +103,7 @@
    int DoTheyFit(void);
    int SpaceBeforeAllLogicals(void);
    int IsLegal(void);
+   int IsEEActive(void);
    int FindNextInUse(int start);
 
    // Functions to create, delete, or change partitions
diff --git a/gpt.cc b/gpt.cc
index f571ad7..afe6ab2 100644
--- a/gpt.cc
+++ b/gpt.cc
@@ -279,6 +279,15 @@
    // Check for MBR-specific problems....
    problems += VerifyMBR();
 
+   // Check for a 0xEE protective partition that's marked as active....
+   if (protectiveMBR.IsEEActive()) {
+      cout << "\nWarning: The 0xEE protective partition in the MBR is marked as active. This is\n"
+           << "technically a violation of the GPT specification, and can cause some EFIs to\n"
+           << "ignore the disk, but it is required to boot from a GPT disk on some BIOS-based\n"
+           << "computers. You can clear this flag by creating a fresh protective MBR using\n"
+           << "the 'n' option on the experts' menu.\n";
+   }
+
    // Verify that partitions don't run into GPT data areas....
    problems += CheckGPTSize();
 
diff --git a/support.h b/support.h
index bf60fd5..53e6405 100644
--- a/support.h
+++ b/support.h
@@ -8,7 +8,7 @@
 #ifndef __GPTSUPPORT
 #define __GPTSUPPORT
 
-#define GPTFDISK_VERSION "0.8.7"
+#define GPTFDISK_VERSION "0.8.7.1"
 
 #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__)
 // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64