Index: trunk/i386/libsaio/disk.c =================================================================== --- trunk/i386/libsaio/disk.c (revision 2101) +++ trunk/i386/libsaio/disk.c (revision 2102) @@ -1468,6 +1468,23 @@ valid = false; } + if(!valid) + { + int fh = -1; + sprintf(dirSpec, "hd(%d,%d)/.PhysicalMediaInstall", BIOS_DEV_UNIT(bvr), bvr->part_no); + fh = open(dirSpec, 0); + + if (fh >= 0) + { + valid = true; + bvr->OSisInstaller = true; + } + else + { + close(fh); + } + } + return valid; } @@ -1884,8 +1901,8 @@ if(len >= strMaxLen) return; - strcpy(str + len, " "); - len++; + strcpy(str + len, bvr->OSisInstaller ? " (Installer) " : " "); + len += bvr->OSisInstaller ? 13 : 1; strMaxLen -= len; p += len; } Index: trunk/i386/libsaio/saio_types.h =================================================================== --- trunk/i386/libsaio/saio_types.h (revision 2101) +++ trunk/i386/libsaio/saio_types.h (revision 2102) @@ -197,7 +197,9 @@ bool filtered; /* newFilteredBVChain() will set to TRUE */ bool visible; /* will shown in the device list */ char OSVersion[8]; - bool OSisServer; /* 1 = OS X server , 0 = OS X client */ + bool OSisServer; /* 1 = OS X server , 0 = OS X client */ + bool OSisInstaller; /* 1 = OS X Install partition / recover partition , 0 = OS X Install */ + }; enum {