Есть ли способ управления параметрами меню Grub с помощью графического интерфейса пользователя / рабочего стола?


16

С каждым обновлением ядра в Grub помещается новая запись, чтобы обеспечить способ загрузки конкретной версии ядра.

У меня сейчас около 5, и, если честно, как только я подтвердил, что могу загрузиться в новой версии ядра, я никогда не вернусь к предыдущей версии.

Я хотел бы управлять элементами в этом списке с рабочего стола, а не редактировать файл. Есть ли способ сделать это с помощью графического интерфейса из самой Ubuntu?

Ответы:


13

Да, удалить пакеты.

Загрузите synaptic и ищите linux-image. Щелкните по первому столбцу, чтобы отсортировать по фактически установленным пакетам, а затем щелкните по зеленым полям, чтобы изменить состояние.

Вы ищете пакеты , которые выглядят как: linux-image-2.6.31-ubuntu10. Не удаляйте, так linux-imageкак это остановит входящие обновления.

Просто отметьте те, которые вам больше не нужны, и нажмите «Применить». Я бы предложил (если вы довольны этим) удалить все, кроме текущего ядра и предыдущего (на всякий случай).

Когда вы закончите, нажмите Применить, и Grub будет очищен.


3
Это также сэкономит немного места на вашем диске, так как каждое kernel-image-2.6 * занимает около 100 МБ, а на скорости, с которой новые ядра выходят в Ubuntu, оно может легко добраться до 1-2 ГБ
LassePoulsen

Аминь на диске. Это особенно верно, когда вы находитесь на ранней стадии разработки, и вы получаете новые сборки ядра через день.
Оли

Честно говоря, мне никогда не приходило в голову удалить пакеты. Большой +1 за экономию места!
Нил Тродден

Что делать, если опция «метка для удаления» неактивна?
Брэндон Бертельсен

6

Вы можете установить программу под названием StartUp-Manager.

Пакет называется startupmanager. Вы можете найти это в программном центре Ubuntu или в Synaptic или запустить: sudo apt-get install startupmanagerв терминале.

Это позволяет вам выбрать запись grub по умолчанию, количество секунд, в течение которых grub ожидает ее автоматической загрузки, и другие параметры, такие как разрешение.

Это хорошая идея, чтобы удалить старые ядра из Synaptic, хотя.


1
Просто хочу добавить, что startupmanagerбольше не находится в активной разработке: launchpad.net/startup-manager/+announcement/8300
съеживаться

5

Даниэль Рихтер разработал инструмент настройки графического интерфейса, который позволяет пользователям изменять настройки Grub 2 без использования командной строки. Приложение позволяет пользователю добавлять, удалять, замораживать, переименовывать и изменять порядок пунктов меню загрузки. Это также позволит изменить параметры конфигурации Grub 2, такие как фоновое изображение и время ожидания меню.

вы можете использовать его и установить его по этому GUIDE

если вы хотите глубоко в GRUB 2 вы можете прочитать эту GUIDE тоже

так что спасибо Даниилу


3

Ну, Ubuntu Tweak имеет приятный простой интерфейс для уничтожения старых изображений, заголовков и всего остального. Сдается мне, чтобы быть достаточно простым, чтобы быть надежным. Дрянной быстрый и грязный скриншот . Он заполняется автоматически и не показывает ничего, связанного с текущим ядром. Не связан с проектом, но в прошлом он работал хорошо для меня.


1
+1, очень хорошее решение, я надеюсь, что другие проголосуют!
Нил Тродден

3

Он не основан на графическом интерфейсе, но самый простой способ удалить предыдущие образы Linux - ввести простую команду:

sudo apt-get autoremove

Это удалит ВСЕ Cruft из вашей системы, а не только ядра Linux. Все, что не используется другим пакетом, будет удалено этой командой.

Если вам просто необходим графический интерфейс пользователя, запустите Synaptic, затем нажмите кнопку «Состояние» в левом нижнем углу, а затем выберите фильтр «Установлен (авто съемный)» из списка над ним. Затем выберите все в этом списке (сдвиг или нажатие клавиши управления или используйте CTRL-A) и щелкните правой кнопкой мыши, чтобы выбрать «Пометить для удаления».

Например, ниже, я использую ядро 2.6.35.27 , поэтому, если я хочу удалить предыдущее ядро 2.6.35.25 :

scaine@GroovyTosh:~$ uname -r
2.6.35-27-generic
scaine@GroovyTosh:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED
  linux-backports-modules-input-2.6.35-25-generic oss-compat
0 upgraded, 0 newly installed, 2 to remove and 44 not upgraded.
After this operation, 172kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 277680 files and directories currently installed.)
Removing linux-backports-modules-input-2.6.35-25-generic ...
update-initramfs: Generating /boot/initrd.img-2.6.35-25-generic
Removing oss-compat ...
scaine@GroovyTosh:~$ 

Эта команда не представила никаких пакетов для удаления? Кроме того, «Установлено (автоматическое удаление)» нет в моем списке фильтра состояния.
Нил Тродден

Элементы состояния являются динамическими: как только вы удалите все, что можно удалить, запись исчезнет. Точно так же команда «sudo apt-get autoremove» просто скажет что-то вроде «0 обновлено, 0 недавно установлено, 0 удалено и 0 не обновлено». Повторите попытку после следующего обновления ядра.
Scaine

2
autoremove не удаляет старые версии ядра; он только избавляется от вещей, которые были установлены как зависимости, которые больше не нужны.
ImaginaryRobots

Ах хорошо. Но тогда ... это включает в себя старые ядра, по крайней мере, в моей системе. Существуют ли обстоятельства, когда у старых ядер все еще есть зависимости?
Scaine

Два голоса вверх, затем причудливо два голоса вниз. Поэтому я добавил доказательство того, что старые ядра легко удаляются с помощью одной команды, несмотря на то, что ImaginaryRobots утверждают иначе (что само по себе получило два голоса!). Я не уверен, что мне не хватает точки здесь? У меня совершенно не тот конец палки ??
Scaine

1

Лично я использую следующую настройку (grub legacy):

title      Ubuntu 10.10 Maverick Meerkat, latest kernel
uuid       ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf
kernel     /vmlinuz ro quiet splash root=UUID=ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf resume=UUID=51ac47a8-6372-4edf-a5a8-be8e5bc13cca
initrd     /initrd.img
savedefault

title      Ubuntu 10.10 Maverick Meerkat, latest kernel in recovery mode
uuid       ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf
kernel     /vmlinuz ro single root=UUID=ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf noresume
initrd     /initrd.img

title      Ubuntu 10.10 Maverick Meerkat, previous kernel
uuid       ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf
kernel     /vmlinuz.old ro quiet splash root=UUID=ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf resume=UUID=51ac47a8-6372-4edf-a5a8-be8e5bc13cca
initrd     /initrd.img.old
savedefault

title      Ubuntu 10.10 Maverick Meerkat, previous kernel in recovery mode
uuid       ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf
kernel     /vmlinuz.old ro single root=UUID=ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf noresume
initrd     /initrd.img.old

title      Memory test
uuid       ab0d6ed0-ecbc-4718-be12-cbb3955c1aaf
kernel     /boot/memtest86+.bin

### BEGIN AUTOMAGIC KERNELS LIST
## ## Start Default Options ##
# howmany=0
# memtest86=false
## ## End Default Options ##
### END DEBIAN AUTOMAGIC KERNELS LIST

Это работает , потому что Ubuntu автоматически обновляет /vmlinuz, /initrd.imgсимволические ссылки на точки к последнему установленному ядру и initramfs изображения (и .oldкомпаньоны точке к предыдущим).

Это не будет работать с /bootотдельным разделом.


Я не могу понять, почему Ubuntu не использует это по умолчанию и создает невыносимо уродливые и обходительные обходные пути, которые заполняют экран загрузчика чрезмерно избыточными и бесполезными строками. На мой взгляд, экран должен выглядеть как минимум так:

Ubuntu, последнее ядро
Ubuntu, последнее ядро ​​в режиме восстановления
Ubuntu, предыдущее ядро
Ubuntu, предыдущее ядро ​​в режиме восстановления
Gentoo
Windows 7 (загрузчик)
<все, что у тебя есть ...>
------------------------
Тест памяти

Четыре линии Ubuntu уже кажутся излишними. Теперь представьте дюжину почти одинаковых строк, которые отличаются только несколькими цифрами (и все они означают просто «загрузить Ubuntu»!) - и вы должны выбрать правильную. Страшный сон!


Хорошо, хотя я не могу комментировать это технически - я не знаю достаточно о Grub (или Grub 2). Это выглядит очень гладко, хотя.
Scaine

@Scaine, за исключением жестко закодированных UUID, все должно быть довольно надежным.
ulidtko
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.