summaryrefslogtreecommitdiffstats
path: root/perl-install/partition_table.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2000-07-31 19:17:23 +0000
committerPascal Rigaux <pixel@mandriva.com>2000-07-31 19:17:23 +0000
commit69dd828cf65886ada7ede22c495d14f84c8c593a (patch)
tree0cbd9edf9a6453e9b8c7d7eb9618dfee54ea8c9f /perl-install/partition_table.pm
parent1fcb9d98f6f5069c77db9769993a77936f7d4519 (diff)
downloaddrakx-69dd828cf65886ada7ede22c495d14f84c8c593a.tar
drakx-69dd828cf65886ada7ede22c495d14f84c8c593a.tar.gz
drakx-69dd828cf65886ada7ede22c495d14f84c8c593a.tar.bz2
drakx-69dd828cf65886ada7ede22c495d14f84c8c593a.tar.xz
drakx-69dd828cf65886ada7ede22c495d14f84c8c593a.zip
no_comment
Diffstat (limited to 'perl-install/partition_table.pm')
-rw-r--r--perl-install/partition_table.pm5
1 files changed, 3 insertions, 2 deletions
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index 9d13745d5..fc43e53ab 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -316,15 +316,16 @@ sub adjust_main_extended($) {
# the first is a special case, must recompute its real size
my $start = round_down($l->{normal}{start} - 1, $hd->{geom}{sectors});
my $end = $l->{normal}{start} + $l->{normal}{size};
- my $only_linux = 1;
+ my $only_linux = 1; my $has_win_lba = 0;
foreach (map $_->{normal}, $l, @l) {
$start = min($start, $_->{start});
$end = max($end, $_->{start} + $_->{size});
$only_linux &&= isTrueFS($_) || isSwap($_);
+ $has_win_lba ||= $_->{type} == 0xc || $_->{type} == 0xe;
}
$l->{start} = $hd->{primary}{extended}{start} = $start;
$l->{size} = $hd->{primary}{extended}{size} = $end - $start;
- $hd->{primary}{extended}{type} = $only_linux ? 0x85 : 0x5 if !$::expert;
+ $hd->{primary}{extended}{type} = $only_linux ? 0x85 : $has_win_lba ? 0xf : 0x5 if !$::expert;
}
unless (@{$hd->{extended} || []} || !$hd->{primary}{extended}) {
%{$hd->{primary}{extended}} = (); #- modify the raw entry