diff --git a/src/system/kernel/fs/vfs_boot.cpp b/src/system/kernel/fs/vfs_boot.cpp index 68bf97c4fe..45e7fb785a 100644 --- a/src/system/kernel/fs/vfs_boot.cpp +++ b/src/system/kernel/fs/vfs_boot.cpp @@ -275,11 +275,11 @@ DiskBootMethod::IsBootPartition(KPartition* partition, bool& foundForSure) if (fMethod == BOOT_METHOD_CD) { // Check for the boot partition of an anyboot CD. We identify it as - // such, if it is the only primary partition on the CD, has type - // BFS, and the boot partition offset is 0. + // such if it is a partition on the CD, has type BFS, and the boot + // partition offset is 0 KDiskDevice* device = partition->Device(); - if (IsBootDevice(device, false) && bootPartitionOffset == 0 - && partition->Parent() == device && device->CountChildren() == 1 + if (IsBootDevice(device, false) + && bootPartitionOffset == 0 && partition->Parent() == device && device->ContentType() != NULL && strcmp(device->ContentType(), kPartitionTypeIntel) == 0 && partition->ContentType() != NULL