--- /usr/share/loader/bootloader_utils.pm.orig 2009-10-02 19:48:28 +0800 +++ /usr/share/loader/bootloader_utils.pm 2009-10-02 19:50:57 +0800 @@ -45,6 +45,7 @@ sub mnt2dev ($;$$) { if ($$fsent[0] =~ /^(LABEL|UUID)=/) { foreach my $ment (@mtab) { if ($$ment[1] eq $$fsent[1]) { + return $$ment[0] if $$fsent[0] eq $mnt; # if mnt is LABEL/UUID=XXXXXX and present in fstab $$fsent[0] = $$ment[0]; } } --- /usr/share/loader/grub.orig 2009-10-02 19:54:18 +0800 +++ /usr/share/loader/grub 2009-10-02 19:55:34 +0800 @@ -23,6 +23,7 @@ GetOptions "r|R|remove" => \my $remove, sub dev2grub { my $dev = shift; + $dev = mnt2dev($dev) if $dev =~ /^(LABEL|UUID)=/; my ($disk, $part) = $dev =~ /([^\d\s]+)(\d+)/ or return; # Sample device.map entry: