diff --git a/commands/boot.c b/commands/boot.c index ce4eeac..aeaba39 100644 --- a/commands/boot.c +++ b/commands/boot.c @@ -90,6 +90,18 @@ ret = bootentry_create_from_name(entries, name); if (ret <= 0) printf("Nothing bootable found on '%s'\n", name); + + if (do_list || do_menu) + continue; + + bootentries_for_each_entry(entries, entry) { + ret = boot_entry(entry, verbose, dryrun); + if (!ret) + break; + } + + bootentries_free(entries); + entries = bootentries_alloc(); } if (list_empty(&entries->entries)) { @@ -107,12 +119,6 @@ goto out; } - bootentries_for_each_entry(entries, entry) { - ret = boot_entry(entry, verbose, dryrun); - if (!ret) - break; - } - out: bootentries_free(entries); free(freep);