summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rescue/NEWS1
-rwxr-xr-xrescue/guessmounts16
2 files changed, 16 insertions, 1 deletions
diff --git a/rescue/NEWS b/rescue/NEWS
index aeb6346aa..0722c5328 100644
--- a/rescue/NEWS
+++ b/rescue/NEWS
@@ -2,6 +2,7 @@
- drop our "use modprobe instead" insmod since we've kmod one for free
- include libdevmapper-event-*.so
- include persistant storage udev rules needed to see new uuids
+- offer to pick the distro to rescue when there's more than one
- /var/run/utmp is on tmpfs now
Version 1.40 - 6 March 2013 by Thierry Vignaud
diff --git a/rescue/guessmounts b/rescue/guessmounts
index 67ef6c536..9b592f07e 100755
--- a/rescue/guessmounts
+++ b/rescue/guessmounts
@@ -85,7 +85,21 @@ if (@roots) {
@roots = sort { $b->{version} cmp $a->{version} } @roots;
# Then pick mga over mdv:
@roots = map { @$_ } partition { $_->{release} =~ /Mageia/ } @roots;
- my $selected = first(@roots);
+
+ my $selected;
+ if (@roots == 1) {
+ $selected = first(@roots);
+ } else {
+ print "\n\nWhich system do you want to rescue?\n";
+ each_index { print $::i + 1, ": $_->{pretty_name}\n" } @roots;
+ my $res;
+ while ($res < 1 || $res > @roots) {
+ print "what is your choice (type the number of your selection or C^c to abort)?\n";
+ $res = <>;
+ }
+ $selected = $roots[$res-1];
+ }
+
$root = $selected->{dev};
$fs = $selected->{fs};
@fstab = @{$selected->{fstab}};