Grub2: возможно ли отключить графические драйверы через команду загрузки ядра?
Вопросы
Вот мои вопросы: возможно ли отключить драйвер Linux fglrx или сделать что-нибудь, чтобы подавить функциональность (например, 3D-ускорение), которая не совместима между аппаратными средствами через конфигурацию grub? Если так, как это будет сделано?
В частности, я настроил предпочитаемую среду разработки программного обеспечения на SSD, который я использую на нескольких компьютерах, только на некоторых из которых установлены дискретные графические процессоры Radeon, на других - iGPU от Intel. На машинах с графическими процессорами Radeon gmd для бесперебойной работы нужны драйверы fglrx (без них 3D-ускорение особенно тяжело). Мне нужно иметь возможность создавать / выбирать параметры загрузки в grub, которые позволяют мне загружаться на устройстве Intel с использованием iGPU или устройства AMD с графическими процессорами Radeon.
Вся информация, которую я нашел об изменении загрузочного меню grub, устарела, поэтому я обратился к SU за разъяснениями.
Фон
У меня на компьютере установлена двойная загрузка: Windows 7 на одном SSD и Ubuntu Gnome 14.04 на другом (Ubuntu я использую в основном для разработки программного обеспечения). Недавно я обновил свой компьютер с пары Radeon HD 7700 до AMD R9 280, после чего драйверы Radeon перестали работать с 3D-ускорением, что привело к заиканию всего. Затем я переключился на fglrx, и все проблемы прекратились. Все было хорошо в электронном микрокосме моего рабочего стола.
Единственная проблема заключается в том, что я переношу этот Ubuntu SSD с машины на машину, когда прыгаю между офисами, домами и городами. Не все машины имеют графические процессоры Radeon, что может вызвать проблемы с драйверами fglrx. Например, сегодня я зашел в офис и вставил свой SSD в компьютер, который мне там дали; он имеет процессор Intel и не имеет дискретного графического процессора. Grub показывал бы мои параметры загрузки как обычно, но мои попытки запустить Ubuntu (даже в "отказоустойчивом" графическом режиме) потерпели неудачу. Мне повезло, что у меня была живая флешка, поэтому я загрузил живой дистрибутив, установил / привязал к SSD, удалил / очистил fglrx, а затем перезагрузил.
Это не совсем оптимальное решение. Идеальное решение - создать опцию меню grub для загрузки без 3D-ускорения, специфичного для fglrx.
Еще некоторые особенности
root@toor:/$ grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.3
root@toor:/$ uname -orvp
3.16.0-50-generic #67~14.04.1-Ubuntu SMP Fri Oct 2 22:07:51 UTC 2015 x86_64 GNU/Linux
Пока установлены драйверы fglrx, загрузка на машине Intel приводит к довольно раздражающему явлению: на экране появятся зеленые надписи с надписью "Запуск веб-сервера apache...", которые будут постоянно возвращаться независимо от того, какой виртуальный терминал выбран., Это заняло около 5 минут, чтобы войти и sudo reboot
потому что экран с зеленым текстом продолжал занимать каждые 2-10 секунд (дико изменяющиеся и непредсказуемые сроки). Нажатие Ctrl+ Alt+ Del иногда не приводит к перезагрузке машины, а иногда просто задерживается на полминуты или около того, прежде чем ответить. Однако, когда он все же ответил, заставка GDM очень быстро появилась бы перед перезагрузкой.
1 ответ
Вы должны использовать параметр nomodeset:
nomodeset
Новейшие ядра перенесли настройку режима видео в ядро. Таким образом, все программирование аппаратных частот и регистров на видеокарте происходит в ядре, а не в драйвере X, когда запускается X-сервер. Это позволяет иметь красивые и всплывающие (загрузочные) экраны и мерцание с высоким разрешением бесплатные переходы с заставки на экран входа в систему. К сожалению, на некоторых картах это не работает должным образом, и в результате вы получаете черный экран. Добавление параметра nomodeset указывает ядру не загружать видеодрайверы и вместо этого использовать режимы BIOS, пока не будет загружен X.
Таким образом, вы можете безопасно загрузиться, а затем предложить X выбрать бизнес-диск, соответствующий вашим потребностям. Вы можете даже решить не программировать вообще, и посмотреть, будет ли простая команда
dpkg-reconfigure xserver-xorg
(это работает на Debian и его производных, что в вашем случае) может подойти в вашем случае.
РЕДАКТИРОВАТЬ:
можно полностью отключить графическую загрузку. копия
cp /etc/default/grub /etc/default/grub-orig
Отредактируйте / etc / default / grub, закомментируйте эту строку,
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
изменить эту строку, чтобы выглядеть
GRUB_CMDLINE_LINUX="text"
затем раскомментируйте эту строку,
GRUB_TERMINAL=console
Сохранить, запустить
update-grub
при перезагрузке, если у вас нет сломанной установки, вы будете печатать себя в текстовом режиме. После перенастройки X вы можете начать графическую сессию с
startx