Die obige Antwort beschreibt, wie ein Linux / GRUB2-Host / eine Linux-Box als permanente Standardoption in den Einzelbenutzermodus gestartet wird. Man kann dies auch zu einer permanenten, aber {nicht standardmäßigen, über das Menü auswählbaren} Option machen. Ein Verfahren dafür (das ist nicht dumm, wie das Bearbeiten /boot/grub/grub.cfg
) besteht darin, einen Menüeintrag hinzuzufügen /etc/grub.d/40_custom
(siehe jedoch Anmerkung @ Ende zur Menüreihenfolge ):
1. (Sicherheit 1.!) Sichern Sie Ihren Strom /etc/grub.d/40_custom
. (IIUC, dies ist Teil eines standardmäßigen / generischen GRUB2-Setups.) Eine echte Dateisystemsicherung ist hier optimal, aber man kann auch einfach die alte Backup-to-.0-Sprache verwenden :
FP_TO_BACKUP='/etc/grub.d/40_custom'
BACKUP_FP="${FP_TO_BACKUP}.0"
sudo ls -al "${FP_TO_BACKUP}*" # checking that you don't already have one
cp "${FP_TO_BACKUP}" "${BACKUP_FP}"
sudo chmod a-wx "${BACKUP_FP}" # non-executable files not used by GRUB2
2. Öffnen Sie in Ihrem Editor Ihrer Wahl Ihr aktuelles /boot/grub/grub.cfg
und /etc/grub.d/40_custom
. In Emacs mit TRAMP können Sie dies von einer normalen Sitzung aus mit den folgenden Zeichenfolgen (nach C-x C-f
oder M-x find-file
) tun.
/sudo::/boot/grub/grub.cfg
/sudo::/etc/grub.d/40_custom
3. Suchen Sie Ihren aktuellen Standardmenüeintrag in grub.cfg, indem Sie mit regexp = vom Anfang der Datei aus suchen^menuentry
4. Kopieren Sie die gesamte Zeilengruppe für diesen Menüeintrag (einschließlich des Terminals '}'!) In Ihre40_custom
5. In Ihrem /etc/grub.d/40_custom
,
5.1. Geben Sie dem Menüeintrag einen nützlichen Titel. Fügen (console)
Sie beispielsweise alles hinzu, was Sie bereits haben.
5.2. Zumindest für jetzt, die meisten der Code aus dem ursprünglichen menuentry löschen, halten nur die Zeilen beginnend mit set root
, linux
, initrd
, und die zwei dazwischen liegenden echo
Linien. (Sie können auch einen erläuternden Kommentar hinzufügen.)
5.3. Der wichtige Teil:linux
Ersetzen Sie am Anfang Ihrer Zeile den Code am Ende (normalerweise danach ro
) durch single
. Z.B
- linux /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro nomodeset nouveau.modeset=0
+ linux /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro single
Dadurch wird Ihr neuer Menüeintrag viel einfacher als der des Vorgängers
menuentry 'LMDE 2 Cinnamon 64-bit (console)' {
set root='hd0,msdos3'
echo 'Loading Linux 3.16.0-4-amd64 ...'
linux /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro single
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.16.0-4-amd64
}
5.3. Speichern Sie Ihre 40_custom
und beenden Sie Ihren Editor.
6. Vergiss nicht sudo update-grub
7. Neustart: Am Ende Ihres ersten GRUB2-Startbildschirms sollte nun ein dauerhafter Eintrag / Menüeintrag angezeigt werden.
Hinweis zur Menüreihenfolge: Das neue Element wird am Ende des generierten (von update-grub
) GRUB2-Startmenüs angezeigt, da dieses Verfahren (das bereits vorhandene) bearbeitet /etc/grub.d/40_custom
. Sie können die Position des Elements im Menü ändern, indem Sie das numerische Präfix der Datei ändern. Ein generischer GRUB2 /etc/grub.d/
enthält Dateinamen wie
00_header
was Sie wahrscheinlich nicht bearbeiten möchten
- ... gefolgt von Themen und anderen Menüdekorationen
10_linux
- ... gefolgt von Linux-bezogenen Menüeinträgen
30_os-prober
- ... gefolgt von Nicht-Linux-Betriebssystemen zum Booten (z. B. Windows)
40_custom
- ... gefolgt von benutzerdefinierten Menüeinträgen, die nicht in die vorherigen Funktionsbereiche fallen
Aber man kann das obige Schema nach Belieben untergraben. Z.B,
- Um Ihren benutzerdefinierten Menüeintrag über allen anderen anzuzeigen, geben Sie ihm ein numerisches Präfix <10. Erstellen Sie beispielsweise eine neue Datei
09_custom
- Um Ihren benutzerdefinierten Menüeintrag nach Ihren Linux-Menüeinträgen, aber vor denen für Ihre Windows-Menüeinträge anzuzeigen, geben Sie ihm ein 10 <numerisches Präfix <30. Erstellen Sie beispielsweise eine neue Datei
29_custom
Beachten Sie, dass
- Die genauen numerischen Präfixwerte, die Sie verwenden müssen, um eine bestimmte Position zu erreichen, hängen von den Werten ab, die bereits auf Ihrem Host / Ihrer Box verwendet werden. Denken Sie also daran
ls -al /etc/grub.d/
- Wenn Sie eine neue Datei erstellen, müssen Sie diese vor Ihnen ausführbar machen
update-grub