Добавить пункт меню grub, который загружает мою текущую установку, но с другим уровнем выполнения

Добавить пункт меню grub, который загружает мою текущую установку, но с другим уровнем выполнения

Я использую последнюю версию Kubuntu (14.10) и хотел бы добавить запись меню grub2, которая позволит мне загружаться прямо на другой уровень выполнения? Я хотел бы изменить /etc/rc3.dили /etc/rc4.dзагрузиться прямо в командной строке и не загружать X. Я считаю, что пользовательская запись меню должна быть помещена в /etc/grub.d/40_custom? Я предполагаю, что могу скопировать свою/стандартную запись меню в /boot/grub/grub.cfg? но как тогда мне сделать так, чтобы эта запись загружалась на другом уровне выполнения?

Могу ли я добавить команду telinit 3в конец пользовательского пункта меню?

Любая помощь будет оценена по достоинству :)

решение1

Проблема с добавлением записи с помощью 40_customзаключается в том, что запись статична — содержимое копируется как есть в grub.cfg, поэтому новое ядро ​​требует повторного редактирования этого файла. С небольшими изменениями в 10-linux, вы можете update-grubсгенерировать дополнительную запись для каждого из установленных ядер. Отредактируйте /etc/grub.d/10_linux, и после строк, где говорится:

linux_entry "${OS}" "${version}" advanced \
            "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
  linux_entry "${OS}" "${version}" recovery \
              "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
fi

Добавить еще один вызов linux_entry:

linux_entry "${OS}, runlevel 3" "${version}" advanced \
          "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} 3"

(Выбор уровня выполнения так же прост, как добавление номера в конце опций, IIRC.)


Эффект:

Пункт меню в подменю «Дополнительные параметры»: вход
Содержимое этого пункта: содержание

Конечно, обычно уровни запуска 2-5 эквивалентны, поэтому загрузка с него для меня не имела никакого значения, за исключением:

$ runlevel
N 3

Связанный контент