Syslinux (Français)
Syslinux est une collection de chargeurs d'amorçage capables de démarrer depuis disques durs, CD, et à travers le réseau via PXE. Elle prends en charge les systèmes de fichiers fat, ext2, ext3, ext4 et btrfs.
Installation
Selon le mode de démarrage de votre ordinateur, vous devrez suivre les indications d'installation correspondantes.
Systèmes BIOS
/boot
est montée pour la suite si vous utilisez une partition séparée !Installer syslinux:
pacman -S syslinux
Installation automatique
Le script syslinux-install_update
installera Syslinux, copiera (ou mettra en liens symboliques si /boot
et /
sont sur la même partition) les modules COM32 nécessaires dans /boot/syslinux/
, modifiera l'option d'amorçage (boot flag) et installera le MBR. Il peut gérer des disques MBR et GPT avec Softraid.
Lancer le script avec -i
(installation) -a
(modification du boot flag) -m
(installation sur le MBR):
syslinux-install_update -iam
boot
).Syslinux peut maintenant être configuré en éditant /boot/syslinux/syslinux.cfg
pour personnaliser le démarrage.
Systèmes UEFI
- UEFI est pris en charge depuis Syslinux 6.xx.
-
$esp
désigne le point de montage de la partition système EFI (EFI System Partition ou ESP) dans les commandes ci-après.
-
efi64
désigne les systèmes UEFI x86_64, pour IA32 (32-bit) EFI remplacezefi64
parefi32
dans les commandes ci-après.
- Pour syslinux, les fichiers kernel et initramfs ont besoin d'être placés dans ESP, attendu que syslinux n'a pas (pour le moment) la capacité d'accèder à des fichiers en dehors de sa propre partition (i.e. en dehors d'ESP dans ce cas). Pour cette raison, il est recommandé de monter ESP dans
/boot
.
- Le script d'installation automatique
/usr/bin/syslinux-install_update
ne prends pas en charge l'installation UEFI.
- La syntaxe du fichier de configuration
syslinux.cfg
pour UEFI est identique à celle pour le BIOS.
Limitations de Syslinux UEFI
- L'application syslinux UEFI
syslinux.efi
ne peut pas être signé parsbsign
(de sbsigntool) pour le Secure Boot UEFI. Rapport de bug - http://bugzilla.syslinux.org/show_bug.cgi?id=8
- L'utilisation de
TAB
pour éditer les options du kernel depuis le menu Syslinux UEFI pourrit l'affichage (les textes se superposent). Rapport de bug - http://bugzilla.syslinux.org/show_bug.cgi?id=9
- UEFI Syslinux ne prends pas en charge le chaînage d'autres applications EFI comme
UEFI Shell
ouWindows Boot Manager
. Rapport de bug - http://bugzilla.syslinux.org/show_bug.cgi?id=17
- UEFI Syslinux ne démarre pas en Machines Virtuelles telles que QEMU/OVMF, VirtualBox ou VMware et dans quelques environnements d'émulation UEFI comme DUET. Rapports de bug - http://bugzilla.syslinux.org/show_bug.cgi?id=21 et http://bugzilla.syslinux.org/show_bug.cgi?id=23
- Memdisk n'est pas disponible pour UEFI. Rapport de bug - http://bugzilla.syslinux.org/show_bug.cgi?id=30
Installation
- Installer les paquets syslinux, dosfstools et efibootmgr et placer syslinux dans l'EFI System Partition (ESP) comme suit:
pacman -S syslinux dosfstools efibootmgr
- Copier les fichiers syslinux vers ESP:
mkdir -p $esp/EFI/syslinux cp -r /usr/lib/syslinux/efi64/* $esp/EFI/syslinux
- Installer l'entrée de démarrage pour Syslinux en utilisant efibootmgr (en) :
mount -t efivarfs efivarfs /sys/firmware/efi/efivars efibootmgr -c -d /dev/sdX -p Y -l /EFI/syslinux/syslinux.efi -L "Syslinux"
- Créer ou éditer
$esp/EFI/syslinux/syslinux.cfg
en suivant la configuration.
Configuration
- Système BIOS: le fichier de configuration est
/boot/syslinux/syslinux.cfg
. En outre, les fichiers nécessaires au démarrage et au fonctionnement de syslinux (modules c32 et autres) devraient être placés dans/boot/syslinux/
.
- Systèmes UEFI: le fichier de configuration pour UEFI est
$esp/EFI/syslinux/syslinux.cfg
. Les autres fichiers nécessaires au démarrage et au fonctionnement de syslinux (modules c32 et autres) sont à copier dans$esp/EFI/syslinux/
.
/boot/syslinux/syslinux.cfg
DEFAULT arch PROMPT 0 # Set to 1 if you always want to display the boot: prompt TIMEOUT 50 # You can create syslinux keymaps with the keytab-lilo tool #KBDMAP de.ktl # Menu Configuration # Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux UI menu.c32 #UI vesamenu.c32 # Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu MENU TITLE Arch Linux #MENU BACKGROUND splash.png MENU COLOR border 30;44 #40ffffff #a0000000 std MENU COLOR title 1;36;44 #9033ccff #a0000000 std MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all MENU COLOR unsel 37;44 #50ffffff #a0000000 std MENU COLOR help 37;40 #c0ffffff #a0000000 std MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std MENU COLOR msg07 37;40 #90ffffff #a0000000 std MENU COLOR tabmsg 31;40 #30ffffff #00000000 std # boot sections follow # # TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line. # #-* LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=/dev/sda3 rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=/dev/sda3 rw INITRD ../initramfs-linux-fallback.img #LABEL windows # MENU LABEL Windows # COM32 chain.c32 # APPEND hd0 1 LABEL hdt MENU LABEL HDT (Hardware Detection Tool) COM32 hdt.c32 LABEL reboot MENU LABEL Reboot COM32 reboot.c32 LABEL off MENU LABEL Power Off COMBOOT poweroff.com
- DEFAULT désigne le LABEL de l'entrée à démarrer par défaut.
- TIMEOUT correspond au délai avant le démarrage de DEFAULT (en dixième de seconde).
- LABEL correspond à une entrée de menu.
blkid
, ce qui peut donner au final:
LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw vga=0x0345 quiet INITRD ../initramfs-linux.img
Si vous utilisez des noyaux additionnels, il vous suffira de rajouter les entrées adéquates. Par exemple, pour le noyau stable linux-lts:
LABEL archlts MENU LABEL Arch Linux LTS LINUX ../vmlinuz-linux-lts APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw vga=0x0345 quiet INITRD ../initramfs-linux-lts.img
LABEL archltsfallback MENU LABEL Arch Linux LTS Fallback LINUX ../vmlinuz-linux-lts APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw INITRD ../initramfs-linux-lts-fallback.img
Prompt de base
On peut démarrer seulement sur le prompt en désactivant les modules de menu dans syslinux.cfg
(UI menu.c32
et UI vesamenu.c32
).
Le prompt attendra alors que vous saisissiez le nom du système à démarrer (LABEL) ou que vous entriez vous-même les directives. Passé le TIMEOUT, le démarrage se fera sur le LABEL correspondant à DEFAULT.
TAB
vous indiquera les LABELs disponibles./boot/syslinux/syslinux.cfg
PROMPT 1 TIMEOUT 50 DEFAULT arch LABEL arch LINUX ../vmlinuz-linux APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw INITRD ../initramfs-linux.img LABEL archfallback LINUX ../vmlinuz-linux APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw INITRD ../initramfs-linux-fallback.img
Le démarrage peut être immédiat sans montrer de prompt en passant PROMPT à 0.
Menus
Menu textuel
Il est possible d'avoir le menu des différentes entrées au démarrage. Pour se faire, vérifiez que le module COM32 menu est présent dans le répertoire de syslinux ou copiez-le au besoin:
cp /usr/lib/syslinux/menu.c32 /boot/syslinux/
/boot
et /
sont sur la même partition, un lien symbolique suffit:
ln -s /usr/lib/syslinux/menu.c32 /boot/syslinux/
Puis adaptez votre fichier de configuration:
/boot/syslinux/syslinux.cfg
UI menu.c32 PROMPT 0 MENU TITLE Boot Menu TIMEOUT 50 DEFAULT arch LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw INITRD ../initramfs-linux-fallback.img
Différentes combinaisons de couleurs sont disponibles mais la personnalisation reste limitée en comparaison du menu graphique (reportez-vous au wiki de syslinux).
Menu graphique
Il est également possible d'avoir un menu graphique avec image de fond, couleurs au format RGB, transparence...
Pour l'utiliser, vérifier la présence du module COM32 vesamenu dans le répertoire de syslinux. Copiez-le au besoin:
cp /usr/lib/syslinux/vesamenu.c32 /boot/syslinux/
/boot
et /
sont sur la même partition, un lien symbolique suffit:
ln -s /usr/lib/syslinux/vesamenu.c32 /boot/syslinux/
Un exemple de configuration basé sur le CD d'installation d'Arch (splash.png
, à placer dans /boot/syslinux/
, peut-être récupéré ici ):
/boot/syslinux/syslinux.cfg
UI vesamenu.c32 DEFAULT arch PROMPT 0 MENU TITLE Boot Menu MENU BACKGROUND splash.png TIMEOUT 50 MENU WIDTH 78 MENU MARGIN 4 MENU ROWS 5 MENU VSHIFT 10 MENU TIMEOUTROW 13 MENU TABMSGROW 11 MENU CMDLINEROW 11 MENU HELPMSGROW 16 MENU HELPMSGENDROW 29 # Refer to http://www.syslinux.org/wiki/index.php/Comboot/menu.c32 MENU COLOR border 30;44 #40ffffff #a0000000 std MENU COLOR title 1;36;44 #9033ccff #a0000000 std MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all MENU COLOR unsel 37;44 #50ffffff #a0000000 std MENU COLOR help 37;40 #c0ffffff #a0000000 std MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std MENU COLOR msg07 37;40 #90ffffff #a0000000 std MENU COLOR tabmsg 31;40 #30ffffff #00000000 std LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux-fallback.img
Consultez la documentation officielle pour les options de personnalisation.
Résolution
En outre, plutôt que de passer par le 640x480 par défaut, vous pouvez passer à une résolution plus adaptée à votre configuration au moyen de l'instruction MENU RESOLUTION width height
.
Pour déterminer les résolutions disponibles, vous pouvez par exemple utiliser hwinfo:
# hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer [Created at bios.459] Unique ID: rdCR.GGyCBArXznD Hardware Class: framebuffer Model: "NVIDIA GF104B Board - 10400050" Vendor: "NVIDIA Corporation" Device: "GF104B Board - 10400050" SubVendor: "NVIDIA" SubDevice: Revision: "Chip Rev" Memory Size: 14 MB Memory Range: 0xd5000000-0xd5dfffff (rw) Mode 0x0300: 640x400 (+640), 8 bits Mode 0x0301: 640x480 (+640), 8 bits Mode 0x0303: 800x600 (+800), 8 bits Mode 0x0305: 1024x768 (+1024), 8 bits Mode 0x0307: 1280x1024 (+1280), 8 bits Mode 0x030e: 320x200 (+640), 16 bits Mode 0x030f: 320x200 (+1280), 24 bits Mode 0x0311: 640x480 (+1280), 16 bits Mode 0x0312: 640x480 (+2560), 24 bits Mode 0x0314: 800x600 (+1600), 16 bits Mode 0x0315: 800x600 (+3200), 24 bits Mode 0x0317: 1024x768 (+2048), 16 bits Mode 0x0318: 1024x768 (+4096), 24 bits Mode 0x031a: 1280x1024 (+2560), 16 bits Mode 0x031b: 1280x1024 (+5120), 24 bits Mode 0x0330: 320x200 (+320), 8 bits Mode 0x0331: 320x400 (+320), 8 bits Mode 0x0332: 320x400 (+640), 16 bits Mode 0x0333: 320x400 (+1280), 24 bits Mode 0x0334: 320x240 (+320), 8 bits Mode 0x0335: 320x240 (+640), 16 bits Mode 0x0336: 320x240 (+1280), 24 bits Mode 0x033d: 640x400 (+1280), 16 bits Mode 0x033e: 640x400 (+2560), 24 bits Mode 0x0345: 1600x1200 (+1600), 8 bits Mode 0x0346: 1600x1200 (+3200), 16 bits Mode 0x034a: 1600x1200 (+6400), 24 bits Config Status: cfg=new, avail=yes, need=no, active=unknown
Dans cet exemple, il est donc possible de placer dans le syslinux.cfg:
MENU RESOLUTION 1600 1200
Et ainsi d'utiliser une image d'arrière-plan à cette dimension (l'image est facultative).
convert
du paquet imagemagick).
vga=current
au kernel:
APPEND root=/dev/sda3 rw vga=current quiet
Arguments additionnels
Options temporaires
Vous pouvez configurer les différentes options de démarrage en modifiant la ligne du menu pendant l'exécution de syslinux. Pour cela, il suffit de se placer sur la ligne que vous vous voulez modifier et appuyer sur TAB
:
.linux ../vmlinuz-linux root=/dev/sda3 rw initrd=../initramfs-linux.img
Pour démarrer sans le mode graphique par exemple :
.linux ../vmlinuz-linux root=/dev/sda3 rw initrd=../initramfs-linux.img systemd.unit=multi-user.target
Options permanentes
Pour rendre le passage d'arguments additionnels à l'image Linux permanent lors du démarrage, il suffit d'éditer la ligne APPEND
des entrées appropriées dans votre /boot/syslinux/syslinux.cfg
et d'y rajouter les options voulues.
Exemple pour l'hibernation, la partition de swap étant /dev/sda5
:
LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=UUID=xxxxx-xxxx-xxxxxx-xxxxxx resume=/dev/disk/by-uuid/xxxxx-xxxx-xxxxxx-xxxxxx rw INITRD ../initramfs-linux.img
Ou, en passant par les /dev/sdXN
(déconseillé):
APPEND root=/dev/sda2 resume=/dev/sda5 rw
Chaînage
Chaîner Windows (Dual Boot)
Pour démarrer d'autres systèmes d'exploitation (comme Windows) ou des chargeurs d'amorçage, il suffit de les chaîner depuis Syslinux.
Syslinux et Windows sur un même disque
Vérifiez que le module chain.c32
se trouve bien dans le répertoire syslinux /boot/syslinux/
, copiez-le au besoin depuis /usr/lib/syslinux/chain.c32
. Puis rajoutez ou décommentez dans le fichier de configuration syslinux.cfg :
LABEL windows MENU LABEL Windows COM32 chain.c32 APPEND hd0 2
hd0 2
est la seconde partition du premier disque. Les disques sont numérotés à partir de 0, tandis que que les partitions sont comptées depuis 1.
Syslinux et Windows sur des disques différents
Si Windows est installé sur un disque différent, il faut avoir recours à l'identifiant de ce disque et à l'option swap (Windows aime penser qu'il est sur le disque principal quand bien même vous démarreriez sur celui qui amorce syslinux).
L'identifiant peut être obtenu via fdisk
:
fdisk -l
Disque /dev/sda : 931,5 GiB, 1000204886016 octets, 1953525168 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0x5bc53d8b Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 * 63 160649 160587 78,4M 6 FAT16 /dev/sda2 161792 20318207 20156416 9,6G 7 HPFS/NTFS/exFAT /dev/sda3 20318208 1953519615 1933201408 921,8G 7 HPFS/NTFS/exFAT Disque /dev/sdb : 931,5 GiB, 1000204886016 octets, 1953525168 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 4096 octets taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets Type d'étiquette de disque : dos Identifiant de disque : 0x8f151249 Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sdb1 * 2048 124927 122880 60M 83 Linux /dev/sdb2 124928 16508927 16384000 7,8G 82 partition d'échange Linux / Solaris /dev/sdb3 16508928 57468927 40960000 19,5G 83 Linux /dev/sdb4 57468928 1953523711 1896054784 904,1G 5 Étendue /dev/sdb5 57470976 82046975 24576000 11,7G 83 Linux /dev/sdb6 82049024 1953523711 1871474688 892,4G 83 Linux
Dans cet exemple, mon pc démarre sur le disque sdb qui contient Arch et syslinux. Windows étant installé sur sda (qui contient le mbr de Windows).
Pour chaîner directement le secteur d'amorçage de mon premier disque afin de démarrer Windows depuis syslinux, l'entrée dans le /boot/syslinux/syslinux.cfg
devient donc:
LABEL windows MENU LABEL Windows 10 (sda) COM32 chain.c32 APPEND mbr:0x5bc53d8b swap
Chaîner GNU Linux
Syslinux ne peut que charger des fichiers qui résident sur la même partition que le fichier de configuration syslinux.cfg
ou des chargeurs d'amorçage, tels que celui de Windows. Par conséquent, si vous avez une autre version de Linux sur une partition boot séparée (c'est-à-dire que vous n'avez pas un /boot qui serait partagé avec Arch), démarrer les autres systèmes peut se faire au moyen de extlinux. extlinux
peut être installé sur le secteur d'amorçage d'une partition et être appelé comme un chargeur d'amorçage distinct du MBR dévolu à syslinux.
Pour la suite et comme exemple, on va supposer que le Linux que l'on souhaite démarrer a un /boot séparé sur sda2 (sa racine sur sda3) et que syslinux est installé et configuré côté Arch pour démarrer correctement.
Côté de l'autre système: installer extlinux
Depuis Arch, on va monter la partition boot du Linux à chaîner:
mount /dev/sda2 /mnt
S'il n'existe pas de répertoire extlinux
(ou syslinux
), le créer:
mkdir -p /mnt/extlinux
Pour installer extlinux
sur le secteur d'amorçage de la partition:
extlinux -i /mnt/extlinux
Pensez à copier les modules nécessaires pour le chaînage et le menu:
cp /usr/lib/syslinux/{chain,menu,libutil}.c32 /mnt/extlinux
Finalement, il reste à créer et remplir correctement un extlinux.conf
(ou syslinux.cfg
) pour ce démarrage:
/mnt/extlinux/extlinux.conf
timeout 10 ui menu.c32 label Autre Linux linux ../vmlinuz append root=/dev/sda3 rw quiet initrd ../initramfs.img
syslinux
plutôt que extlinux
et syslinux.cfg
plutôt que extlinux.conf
.label Retour com32 chain.c32 append hd0 0
Pour pouvoir démarrer sur l'autre système, il ne reste plus qu'à rajouter dans le syslinux.cfg
d'Arch:
/boot/syslinux/syslinux.cfg
label Autre Linux com32 chain.c32 append hd0 2
Changer la disposition du clavier
Il est possible de changer la disposition du clavier dans syslinux (par défaut: qwerty US). Cela peut être plus confortable, surtout si vous éditez souvent les paramètres de boot.
Par exemple pour passer en azerty:
keytab-lilo -p 60=46 -p 92=60 -p 124=62 /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/azerty/fr-pc.map.gz > /boot/syslinux/fr-pc.ktl
-p
permet de corriger la table des touches obtenues:
-
-p 60=46
permet d'obtenir correctement le point avecShift
+;
; -
-p 92=60
pour l'opérateur de comparaison «inférieur à» avec<
; -
-p 124=62
pour la comparaison «supérieur à» avecShift
+<
.
Et pour passer en bépo :
keytab-lilo -p 2=91 -p 3=93 -p 121=94 -p 119=124 -p 116=92 -p 87=126 -p 95=95 /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/azerty/fr-bepo.kmap > /boot/syslinux/fr-pc.ktl
« -> [
» -> ]
° -> _
é ->fr-latin9.map.gz
car certaines touches (comme Entrée) ne fonctionneront pas dans le menu syslinux.Vous devez maintenant éditer le fichier /boot/syslinux/syslinux.cfg
et sélectionner le fichier correspondant:
/boot/syslinux/syslinux.cfg
# You can create syslinux keymaps with the keytab-lilo tool KBDMAP fr-pc.ktl
Vous pouvez maintenant redémarrer et tester!
Il est possible de charger à la volée différentes dispositions de clavier lors de l'édition du menu au démarrage.
Pour cela, rajoutez les fichiers .ktl qui vous intéressent dans /boot/syslinux/
ainsi que le module kbdmap.c32
:
cp /usr/lib/syslinux/kbdmap.c32 /boot/syslinux/
Et rajoutez les entrées qui vous intéressent au /boot/syslinux/syslinux.conf
:
/boot/syslinux/syslinux.cfg
label fr menu label French azerty keyboard (fr-pc) kernel kbdmap.c32 append fr-pc.ktl label us menu label US qwerty keyboard (us) kernel kbdmap.c32 append us.ktl
Sélectionnez l'une ou l'autre des entrées rechargera le menu avec la nouvelle disposition clavier.
Sécurité
Il est possible de protéger syslinux par mot de passe, empêchant ainsi de lancer certaines entrées ou d'en modifier les options (particulièrement conseillé si vous partagez votre ordinateur, en voyage, etc., en complément de la sécurité que peut vous apporter certaines options du BIOS).
Pour chiffrer vos mots de passe, vous pouvez utiliser sha1pass
ou md5pass
. Il vous faudra installer perl-digest-sha1 pour SHA1 et perl-passwd-md5[broken link: replaced by perl-crypt-passwdmd5] pour MD5.
# sha1pass unMinableMotDePasse
$4$SsPfW+f9$kgRHCz5PuRI38XQLj4DXxzPnHFM$
loadkeys us
) pour saisir votre mot de passe !Mot de passe principal
Le mot de passe principal sera demandé pour accèder au prompt boot:
via ESC
et aux modifications d'options, via TAB
.
# sha1pass unMinableMotDePasse
$4$yUuRv4ZL$SPfdgOaiDWW9RcgwsHr3saQVKLk$
/boot/syslinux/syslinux.cfg
MENU MASTER PASSWD $4$yUuRv4ZL$SPfdgOaiDWW9RcgwsHr3saQVKLk$
Protection d'une entrée spécifique
Il suffit de rajouter l'instruction MENU PASSWD passwd
après un LABEL donné ou un MENU BEGIN pour protéger un sous-menu complet. Par exemple:
# sha1pass unAutreMotDePasseMinable
$4$TPhj+74U$eFdv+BZprSzx9ZSeaY/Q96gOAJ8$
/boot/syslinux/syslinux.cfg
LABEL arch MENU PASSWD $4$TPhj+74U$eFdv+BZprSzx9ZSeaY/Q96gOAJ8$ MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=UUID=8887210b-72d3-4899-99f7-3f39ea0a0eeb rw INITRD ../initramfs-linux.img
Le mot de passe vous sera demandé pour lancer l'entrée protégée.
Pour que ça serve à quelque chose, il vous faudra également désactiver ou protéger les accès au prompt et aux modifications d'options:
- soit en rajoutant à votre
syslinux.cfg
:
NOESCAPE 1 PROMPT 0 ALLOWOPTIONS 0
- soit en utilisant un mot de passe principal (voir précédemment). Dans ce cas, le mot de passe principal fonctionne également.
Dépannage
Windows démarre toujours, ignorant Syslinux
Vérifiez bien que la partition abritant /boot/syslinux
dispose du flag boot
en lien et place de la partition windows.
Si vous avez installé une version de Windows après linux, votre ordinateur ne démarrera plus que sous celui-ci. Pour récupérer syslinux au démarrage, chrootez depuis un live CD linux (celui d'Archlinux par exemple) et relancez syslinux-install_update -i -a -m
.