GNU/Linux >> Tutoriels Linux >  >> Debian

Debian – Comment faire avant le double démarrage de Windows 7 et Debian sur Efi ?

Je suis sur le point d'acheter une carte mère Asus avec le firmware EFI et je voulais me préparer à installer Windows et Debian une fois le matériel arrivé. J'espérais que quelqu'un qui a emprunté cette voie pourrait me donner quelques indications.

Quelles préparations dois-je faire avant d'essayer d'installer Windows 7 et Debian sur un nouveau système basé sur UEFI ?

Réponse acceptée :

MODIF : Lorsque j'ai écrit cette réponse, très peu de distributions étaient livrées avec un noyau configuré EFI_STUB, il fallait donc en créer un personnalisé. De nos jours, la plupart des distributions fournissent un noyau correctement configuré et une construction personnalisée n'est plus nécessaire. Dans ce cas, les sections "Configurer vos partitions" et "Configurer les choses" sont les plus intéressantes, les "Exigences" et "Compilation du noyau" peuvent être ignorées.

Je ne sais pas comment Windows gère l'UEFI, mais du côté de Debian, c'est assez
simple.

Configurez vos partitions

Utilisez le schéma de partition GPT, pas MBR.

Pour démarrer à partir d'une partition GPT avec UEFI, une partition de démarrage dédiée est obligatoire,
appelée EFI SYSTEM PARTITION (ESP). Ce n'est pas obligatoire, mais le moyen le plus
compatible est d'utiliser une partition FAT32. Une taille de 200 Mio devrait suffire
dans la plupart des cas.

Pour enregistrer la partition en tant qu'ESP, elle doit être marquée avec le boot flag.
Contrairement aux schémas MBR, le drapeau de démarrage n'est utilisé que pour indiquer l'ESP,
pas les partitions à partir desquelles démarrer.

UEFI utilise une structure de répertoire EFI<vendor><application>.efi pour stocker
les applications UEFI. Un séparateur de répertoire est indiqué par une barre oblique inverse , même sous
Linux. peut être un nom de distribution, la valeur réelle n'est pas pertinente
pour l'UEFI.

Les applications peuvent être des utilitaires système tels que des vérificateurs de mémoire ou un shell UEFI. Il peut également s'agir d'un chargeur de système d'exploitation ou du système d'exploitation lui-même. Ces applications
doivent être enregistrées dans l'UEFI pour pouvoir être lancées au démarrage.

Exigences

La version du noyau Linux>=3.3 peut être chargée directement par l'UEFI. Le noyau peut agir comme son propre chargeur. Cela s'appelle EFISTUB . Les configurations de noyau suivantes sont nécessaires.

CONFIG_EFI=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_STUB=y
CONFIG_RELOCATABLE=y
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_EFI_VARS=m

Un noyau avec cette configuration n'est actuellement pas encore dans la version stable de Debian. Vous pouvez soit
préparer votre propre noyau, soit utiliser celui de l'arbre expérimental, auquel cas vous pouvez sauter le paragraphe suivant.

Compilation du noyau

(probablement plus nécessaire, voir la modification)

Si vous décidez de compiler le noyau, voici de courtes instructions pour le faire. Si vous rencontrez des problèmes, de nombreuses informations sont disponibles sur la façon de compiler un noyau.

Obtenir la source

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Découvrez une version particulière

git checkout v3.6

Configuration du noyau

make menuconfig

Effectuez les réglages nécessaires sur votre système ou laissez-le tel quel
si vous n'avez rien à personnaliser. Cela écrit la configuration du noyau
dans le fichier .config .

Assurez-vous que les paramètres du paragraphe précédent sont définis. Il est également
logique de sélectionner CONFIG_INPUT_EVBUG=n . Sinon, vos journaux
seront remplis de Gio de fichiers indésirables.

En relation :Debian – Supprimer l'utilisateur et le mot de passe lors de la connexion dans Debian 9 Stretch ?

Construire le noyau

INSTALL_MOD_STRIP=1 make-kpkg --uc --us binary-arch

Les packages sont créés dans le répertoire parent.

Installation du noyau

dpkg -i linux-image-3.5.0_Custom.deb linux-headers-3.5.0_Custom.deb

Créer initramfs

mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0

3.6.0 est la version du noyau. Il s'agit par défaut du noyau en cours d'exécution,
ce qui n'est pas un bon choix, puisque vous exécutez toujours l'ancien
noyau.

Configuration

Pour pouvoir démarrer le noyau Linux, il doit être copié sur l'ESP avec
l'initramfs. Étant donné que l'ESP est monté sur /boot/efi

/boot/efi/EFI/debian/vmlinuz-3.6.0.efi
/boot/efi/EFI/debian/initrd.img-3.6.0

REMARQUE : Pour assurer la compatibilité avec la plupart des systèmes, l'extension efi doit
être ajouté au noyau.

Maintenant, le noyau peut être enregistré dans l'UEFI. Nous utilisons l'outil efibootmgr pour
cela.

echo "root=UUID=3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype=ext4 add_efi_memmap initrd=\EFI\debian\initrd.img-3.6.0" |
  iconv -f ascii -t ucs2 |
  efibootmgr 
    --create 
    --gpt 
    --disk /dev/sda 
    --part 4 
    --label "Debian Linux kernel 3.6.0" 
    --loader "\EFI\debian\vmlinuz-3.6.0" 
    --write-signature 
    --append-binary-args -

L'argument de --disk est le périphérique où réside le noyau, pas l'ESP. --part est le numéro de partition où réside le noyau. --label est l'
entrée du menu de démarrage UEFI.

Pour voir une liste des entrées disponibles, lancez simplement efibootmgr sans
argument. Syntaxe pour supprimer une entrée particulière

efibootmgr -b entry (hex) -B

par exemple :

efibootmgr -b 001a -B

Ces instructions ne traitent pas le cas d'une mise à jour du noyau. Le noyau et initramfs ne sont pas automatiquement copiés sur l'ESP. Cela peut être fait en utilisant un court script qui copie le noyau et initramfs sur l'ESP et exécute efibootmgr . Ce script peut être placé dans /etc/kernel/postinst.d à lancer automatiquement après la mise à jour du noyau.

Remarque : Un gestionnaire de démarrage comme GRUB n'est pas nécessaire, UEFI lui-même agit comme un gestionnaire de démarrage.

C'est tout ce dont vous avez besoin du côté Linux, je ne sais pas ce qu'il faut pour ajouter
Windows.


Debian
  1. Noyaux personnalisés dans Ubuntu/Debian – comment, quand et pourquoi

  2. Comment installer et utiliser les rétroportages Debian

  3. Comment installer et utiliser Ansible sur Debian 11

  4. Comment installer et sécuriser MariaDB sur Debian 11

  5. Comment installer Node.js et npm sur Debian 11

Comment installer Icinga 2 et Icinga Web 2 sur Debian 9

Comment installer les en-têtes du noyau sur Debian

Comment trouver et changer l'adresse IP sur Debian

Comment faire un double démarrage Antergos Linux et Windows UEFI

Comment installer le dernier noyau sur Debian 11 et dérivés

Comment installer le noyau Linux 5.15 sur Debian 11