Откройте файл /boot/grub/grub.cfg и найдите раздел, который загружает ваш «обычный» Ubuntu.
Для меня это:
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b8f25f1e-a169-4aaa-9f05-90e49359d865' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 b8f25f1e-a169-4aaa-9f05-90e49359d865
else
search --no-floppy --fs-uuid --set=root b8f25f1e-a169-4aaa-9f05-90e49359d865
fi
linux /boot/vmlinuz-4.13.0-39-generic.efi.signed root=UUID=b8f25f1e-a169-4aaa-9f05-90e49359d865 ro
initrd /boot/initrd.img-4.13.0-39-generic
}
[d3 ] Скопируйте этот раздел в новый файл, скажем textmode.txt. Перейдите к /etc/grub.d и создайте (или отредактируйте) файл 40_custom.
Скопируйте в файл следующий «заголовок»:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
Добавьте пункт меню из textmode.txt в файл, но измените некоторые значения (см. ниже):
menuentry 'Ubuntu (text mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b8f25f1e-a169-4aaa-9f05-90e49359d865' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 b8f25f1e-a169-4aaa-9f05-90e49359d865
else
search --no-floppy --fs-uuid --set=root b8f25f1e-a169-4aaa-9f05-90e49359d865
fi
linux /vmlinuz root=UUID=b8f25f1e-a169-4aaa-9f05-90e49359d865 systemd.unit=multi-user.target ro
initrd /initrd.img
}
8] Значения, которые необходимо изменить: Текст меню: измените его с 'Ubuntu' на 'Ubuntu (text mode)' (или все, что вам нравится, чтобы появиться в меню) Линия linux: измените его к linux /vmlinuz root=UUID=... systemd.unit=multi-user.target ro. Убедитесь, что UUID остается неизменным. Строка initrd: измените ее на /initrd.img Убедитесь, что у вас есть символические ссылки в каталоге / от /vmlinuz и /initrd.img до текущих версий.
Выполнить
sudo update-grub
Разница между этим подходом и этим ответом на очень похожий вопрос заключается в том, что в последнее время версии Ubuntu, строка
linux /boot/vmlinuz-3.8.0-31-generic root=UUID=... ro quiet splash $vt_handoff
должна быть заменена на
linux /vmlinuz root=UUID=... systemd.unit=multi-user.target ro
Я не уверен, что последнее на самом деле означает, но я думаю, что это 16.04, когда была введена система. [ ! d20]
Вероятно, ваши модули ядра содержат отладочную информацию. Если вы установите для переменной среды INSTALL_MOD_STRIP значение 1 при установке модулей, отладочная информация будет удалена.