OK, voici ce que j'essaie de réaliser:
Avoir une option de menu distincte dans GRUB, de sorte que je puisse la sélectionner et démarrer directement dans la ligne de commande, c'est-à-dire: sans gestionnaire de bureau, mais en laissant l'élément de menu existant (pour démarrer Ubuntu comme d'habitude) intact.
J'ai examiné /etc/default/grub
mais il ne semble rien y faire. Et aussi /boot/grub/grub.cfg
qui est généré automatiquement, donc je ne pense pas que ce serait une bonne idée de le modifier directement.
Comment dois-je m'y prendre? Une idée?
Mise à jour: La réponse existante (suggérant que cette question était un doublon) était obsolète. Pour la solution correcte, veuillez consulter la réponse acceptée ci-dessous, qui fonctionne à merveille. (au moins pour 16.04+ comme il semble)
Ouvrez le fichier /boot/grub/grub.cfg
et trouvez la section qui démarre votre Ubuntu "normal".
Pour moi c'est:
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
}
Copiez cette section dans un nouveau fichier, dites textmode.txt
.
Allez à /etc/grub.d
et créez (ou modifiez) le fichier 40_custom
.
Copiez "l'en-tête" suivant dans le fichier:
#!/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.
Ajoutez le menuentry de textmode.txt
au fichier mais changez quelques valeurs (voir ci-dessous):
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
}
Les valeurs qui doivent être changées sont:
'Ubuntu'
à 'Ubuntu (text mode)'
(ou à ce que vous aimiez apparaître dans le menu)linux
: remplacez-la par linux /vmlinuz root=UUID=... systemd.unit=multi-user.target ro
. Assurez-vous que l'UUID reste le même.initrd
: remplacez-la par /initrd.img
Assurez-vous d’avoir des liens symboliques dans votre répertoire /
entre /vmlinuz
et /initrd.img
et les versions actuelles. C'est par défaut, de toute façon.
Courir
Sudo update-grub
La différence entre cette approche et cette réponse à une question très similaire est que, dans les versions récentes d'Ubuntu, la ligne
linux /boot/vmlinuz-3.8.0-31-generic root=UUID=... ro quiet splash $vt_handoff
doit être remplacé par
linux /vmlinuz root=UUID=... systemd.unit=multi-user.target ro
Je ne suis pas sûr de ce que récent signifie réellement mais je suppose que c'est 16.04 quand systemd a été présenté.