Как удалить повторяющиеся записи в меню Grub?

После сегодняшнего обновления Ubuntu попросил меня заменить некоторые файлы, и я слепо согласился. После перезагрузки компьютера после обновления я увидел дублирующиеся записи в меню grub:

введите описание здесь

Вот изображение настройщика grub.

введите описание здесь

Судя по всему, Grub Customizer не может сохранить отредактированную информацию.

Есть ли способ удалить дубликаты из меню grub в Ubuntu 12.04 и установить Windows 7 на первое место?

5 ответов

Решение

В то время как sudo update-grub2 Нужно удалить дубликаты, чтобы вывести пункт меню Windows на первую позицию, дополнительно выполните:

  1. sudo gedit /boot/grub/grub.cfg
  2. Вырежьте часть текста, начиная с
    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry "Windows 7...
    в
    }
    ### END /etc/grub.d/30_os-prober ###
    и вредить это как раз перед
    menuentry 'Ubuntu, with Linux..

  3. сохраните файл и перезагрузитесь.

  4. Вы должны выполнять шаги (1-4) каждый раз grub-pc Пакет обновления или обновление ядра происходит, чтобы сохранить пункт меню Windows на первом месте.

Для постоянного исправления:

sudo mv /etc/grub.d/30_os-prober /etc/grub.d/07_os-prober

и Windows будет на вершине даже после обновлений

Я думаю тебе уже помогли Но на случай, если новичку понадобится простой способ изменить порядок меню grub и даже удалить (осторожно!) Записи, в linux есть хороший графический интерфейс для этого с помощью grub-customizer.

Зайдите в терминал и наберите:

sudo add-apt-repository ppstrong texta:danielrichter2007/grub-customizer


sudo apt-get update

sudo apt-get install grub-customizer

Затем найдите недавно установленный настройщик grub, запустите его, и вы сможете перемещать окна или убунту вверх / вниз в списке.

Вы также можете удалить старые неиспользуемые пакеты ядра, что также эффективно удаляет записи grub и освобождает место на жестком диске. Для этого вам нужно проверить, какие ядра установлены, используя:

 sudo dpkg -l | grep linux-image

И тогда вы можете удалить образ ядра, используя:

 sudo apt-get remove linux-image-version_number

где version_number - версия ядра, которую вы хотите удалить. Я рекомендую оставить как минимум две версии ядра на случай, если что-то пойдет не так.

Я только что прошел обновление с 11.04 до 12.04 LTS.

Пока я не могу найти "ожидаемый" список /etc/grub.d/ для разных версий ОС в любом месте, с другого компьютера, к которому у меня есть доступ, исходные записи 11.04:

$ ls /etc/grub.d/
00_header        10_linux      20_memtest86+  40_custom  README
05_debian_theme  20_linux_xen  30_os-prober   41_custom

На обновленном ПК после обновления у меня есть:

$ ls /etc/grub.d/
00_header        10_os-prober  30_memtest86+     40_custom
05_debian_theme  20_linux      30_os-prober      41_custom
10_linux         20_linux_xen  30_uefi-firmware  README

Очевидно, я получил некоторые записи, которые являются дубликатами - так что даже не работает sudo update-grub2 как подсказывает @Samik, в этом случае не удаляются повторяющиеся записи.

Ответ на этот случай, очевидно, будет удалить дубликат _os-prober а также _linux записи, а затем работает sudo update-grub2,

Другие вопросы по тегам