Index: trunk/ChameleonPrefPane/Sources/PartitionInfoManager.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/PartitionInfoManager.mm (revision 365) +++ trunk/ChameleonPrefPane/Sources/PartitionInfoManager.mm (revision 366) @@ -214,7 +214,7 @@ +(void)swapHD: (NSUInteger) src with:(NSUInteger) dst { - if(src < 0 || src > MAX_HD-1 || dst < 0 || dst > MAX_HD-1) return; + if(src > MAX_HD-1 || dst > MAX_HD-1) return; PartitionInfoElement.hdRedirTable[src]=dst; PartitionInfoElement.hdRedirTable[dst]=src; Index: trunk/ChameleonPrefPane/Sources/PartitionInfoElement.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/PartitionInfoElement.mm (revision 365) +++ trunk/ChameleonPrefPane/Sources/PartitionInfoElement.mm (revision 366) @@ -77,7 +77,13 @@ /// return true if partition extraction successfully executed, false otherwise -(bool) isValid { - return err==0; + + return ( + err==0 + // && [self isBootable] don't hide non bootable disk for now to be in sync + // with chameleon as much as possible + && ![[self devProtocol] isEqual:@"Virtual Interface"] + ); } /// Extract a particular information from the disk partition dictionary from a key, generate a string value output @@ -181,7 +187,7 @@ { PartitionInfoElement* elt = [[PartitionInfoElement alloc] initWithBSDName: part withinSession: session]; - if (elt!=nil && [[elt vName] length] >0) + if (elt!=nil && [[elt vName] length] >0 && [elt isValid] ) [arr addObject:elt]; } if (session!=nil) CFRelease(session);