summaryrefslogtreecommitdiffstats
path: root/perl-install/partition_table.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/partition_table.pm')
-rw-r--r--perl-install/partition_table.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index 1bb76bf4c..5279552f9 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -374,11 +374,15 @@ sub assign_device_numbers {
#
#- first verify there's at least one primary dos partition, otherwise it
#- means it is a secondary disk and all will be false :(
- my ($c, @others) = grep { isFat_or_NTFS($_) } @{$hd->{primary}{normal}};
+ #-
+ #- isFat_or_NTFS isn't true for 0x7 partitions, only for 0x107.
+ #- alas 0x107 is not set correctly at this stage
+ #- solution: don't bother with 0x7 vs 0x107 here
+ my ($c, @others) = grep { isFat_or_NTFS($_) || $_->{type} == 0x7 } @{$hd->{primary}{normal}};
$i = ord 'C';
$c->{device_windobe} = chr($i++) if $c;
- $_->{device_windobe} = chr($i++) foreach grep { isFat_or_NTFS($_) } map { $_->{normal} } @{$hd->{extended}};
+ $_->{device_windobe} = chr($i++) foreach grep { isFat_or_NTFS($_) || $_->{type} == 0x7 } map { $_->{normal} } @{$hd->{extended}};
$_->{device_windobe} = chr($i++) foreach @others;
}