wiki:загрузка_в_консоль

Изложенное ниже справедливо для дистрибутива Ubuntu 10.04 и более поздних

Эта статья призвана оказать помощь тем пользователям дистрибутива Ubuntu, которые понимают зачем необходима возможность загрузки системы в консольном режиме (без запуска графики). Некоторое обоснование этого можно найти в исходном варианте статьи 1).

В Ubuntu уровни запуска (runlevel) 2,3,4,5 абсолютно идентичны по набору системных служб, следовательно бесполезны. Реализовать возможность консольной загрузки можно следующим образом. Необходимо запуск графической оболочки исключить со 2-го уровня, а оставить только на runlevel 3,4,5. По умолчанию, система загружается на runlevel 2, который не предусматривает запуск графического интерфейса. Выполнить же далее загрузку графики можно двумя (как минимум) путями. Первый - командой:

startx

Второй - переведя систему на третий уровень командой:

sudo telinit 3

От версии к версии в Ubuntu все большее количество системных служб запускаются через upstart задания. В 10.04 и следующих релизах запуск графической оболочки выполняется upstart заданием /etc/init/gdm.conf (kdm.conf, lxdm.conf). Берем текстовый редактор, с правами root открываем файл /etc/init/gdm.conf (kdm.conf, lxdm.conf). Вместо:

start on (filesystem 
          and started dbus 
          and (graphics-device-added fb0 PRIMARY_DEVICE_FOR_DISPLAY=1 
               or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 
               or stopped udevtrigger)) 
stop on runlevel [016]

Пишем:

start on (filesystem 
          and start on runlevel [345]
          and started dbus 
          and (graphics-device-added fb0 PRIMARY_DEVICE_FOR_DISPLAY=1 
               or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 
               or stopped udevtrigger)) 
stop on runlevel [0126]

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

Последний штрих. В меню GRUB добавляем пункт, который абсолютно идентичен нашему основному (умолчательному) варианту, а в конец строки kernel (или сразу после параметра root ) среди опций загрузки ядра, через пробел пишем цифру 3. При выборе этого пункта меню GRUB, система загрузится на 3-й уровень, что повлечет автоматический старт графической оболочки. Вот пример фрагмента меню GRUB:

title  	10.04 LXDE sda8  Graphic mode 
root   (hd0,7) 
kernel /boot/vmlinuz-2.6.32-21-generic root=/dev/sda8  3 
initrd /boot/initrd.img-2.6.32-21-generic 
 
title 	10.04 LXDE sda8  Text mode 
root   (hd0,7) 
kernel /boot/vmlinuz-2.6.32-21-generic root=/dev/sda8 
initrd /boot/initrd.img-2.6.32-21-generic

Вот теперь действительно все.

Подводные камни. Беда здесь может быть в том, что и текстовые консоли нынче графические, и для своей корректной работы требуют правильных модулей ядра. Если после первой успешной загрузки системы, по Ctrl+Alt+F1 вы, вместо консольного приглашения ввода имени пользователя, видите черный экран, то не спешите проделывать все вышеописанное. Для начала надо добиться нормальной работы текстовых консолей. В /etc/modprobe.d/blacklist-framebuffer.conf надо указать те модули которые грузятся, но некорректно работают. Например модули fbcon и vgafb (тут правда все довольно индивидуально). После внесения правок в этот файл надо пересобрать файл initrd-xxxxxxx:
sudo update-initramfs -u 

Перегрузиться и посмотреть появились ли текстовые консоли. Если нет, значит продолжаем поиски до достижения положительного результата.