Я использую последнюю версию 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