LIP recovery

Guide de récupération pour la Linux Install Party

= Partitionnement =

Windows
Deux outils sont disponibles: diskmgmt.msc diskpart.exe
 * Graphique
 * Console

En cas d'échec de repartitionnement sur un Windows en cours d'exécution
Dépannage Options avancées Invite de commandes diskpart.exe list disk rem Remplacer X par l'identifiant du disque qui contient la partition à réduire. select disk X list partition list volume rem Remplacer Y par l'identifiant de la partition à réduire select volume Y shrink querymax rem La taille est en Mo shrink desired=50000
 * Lancer une console de récupération en cliquant sur "Redémarrage" pendant que la touche MAJ est enfoncée, ou dans le menu "Mise à jour et sécurité -> Récupération".
 * Après un redémarrage et une authentification, Windows propose une console d'administration
 * Lancer l'outil de partitionnement

= BIOS & EFI =

Il y a de très nombreux BIOS avec des comportements non standard ou farfelu mais aussi quelques règles non négociable.

Boot en "Legacy"
Si Windows démarre en mode legacy, vous ne pouvez pas changer. Installer Linux de la même manière.

Boot en EFI normal
Si Windows démarre en mode EFI, vous ne pouvez pas changer. Installer Linux de la même manière.

Boot en EFI avec Compatibility Mode (CM) activé
Si Windows démarre en mode EFI, vous ne pouvez pas changer. Désactiver le mode de compatibilité puis tester le démarrage de Windows. S'il n'y a pas de différence, rester en mode EFI normal puis installer Linux de la même manière en EFI.

Grub ne reste pas l'entrée principale
Il arrive que le BIOS préserve Windows comme système de démarrage par défaut après l'installation de Linux et de grub.


 * Modifier l'ordre de démarrage directement dans le BIOS
 * Selon le BIOS, il faut parfois activé le secure boot pour changer l'ordre ! Le secure boot peut ensuite être enlevé.

PC ACER

 * Bénir le fichier shimx64 depuis le BIOS ("trusted").

HP

 * Mise à jour du firmware possible ?!
 * Essayer le bootloader refind au lieu de grub

MAC OS

 * Définir refind par défaut : https://www.rodsbooks.com/refind/bootcoup.html#refind-mkdefault
 * Enlever/Figer grub : https://www.rodsbooks.com/refind/bootcoup.html#disabling_grub
 * Configurer Refind avec l'option root= : https://www.rodsbooks.com/refind/configfile.html

Redémarrage sur la configuration de l'UEFI

 * Commande pour redémarrer sur le bios depuis linux :

systemctl reboot --firmware-setup


 * Depuis grub (package grub-efi) :

fwsetup

Prérequis

 * Une clé d'installation Windows de *VOTRE* version de Windows
 * même numéro: XP, Vista, 7, 8, 10?
 * même saveur: MUI, Single language, N
 * même révision: creator, anniversary ...
 * Une clé d'installation Linux ou un boot réseau

BCDedit Bootrec /fixmbr Bootrec /fixboot Bootrec /rebuildbcd
 * Formater la partition EFI en FAT32 avec les drapeaux ESP et boot
 * Démarrer sur la clé Windows puis choisir "Réparer le système" après avoir choisi la langue
 * Troubleshoot, Advanced Options, Command prompt
 * Dans le terminal:

Note

 * /fixboot va remettre les répertoires Boot et Microsoft dans la partition, permettant ainsi au boot Windows de démarrer
 * /rebuildbcd va (re)créer la base de registre binaire qui permet au système de démarrage de savoir où est la partition Windows

Procédure
mount /dev/sdWX /target mount /dev/sdYZ /target/boot/efi chroot /target /bin/bash grub-install -v dpkg-reconfigure grub-efi-amd64 update-grub
 * Redémarrer sur le système Linux: Mode rescue avec debian ou Ubuntu
 * Monter la partition Linux racine dans /target et EFI dans /target/boot/efi
 * Rendre la cible comme le système courant
 * Réinstaller grub
 * Puis le reconfigurer et/ou mettre à jour
 * Redémarrer le système

Préparer une clé Windows
Prérequis : Image ISO
 * Pour Windows 10: https://www.microsoft.com/fr-fr/software-download/windows10ISO


 * Mac: Bootcamp
 * Windows: Rufus ou l'outil Windows
 * Linux: Rufus

Disque PCIe M2 non visible

 * https://www.dell.com/support/article/fr-fr/sln299303/chargement-d-ubuntu-sur-les-syst%C3%A8mes-%C3%A9quip%C3%A9s-de-disques-pcie-m2?lang=fr

Cas simple : disque entier dans un "mauvais" mode
Sauf exception motivée, il faut préférer le mode AHCI plutôt que SATA/IDE (même si les deux sont supportés).

Si c'est un mode propriétaire qui est sélectionné dans le BIOS (RST Intel, RAID, ...), il est possible que linux ne voit pas du tout le disque. Il faut alors le changer.

Si vous changez ce mode dans le BIOS, il faut prévenir windows (sinon, ce dernier perdra l'accès au disque...) :


 * 1) Booter sous windows
 * 2) Lancer une fenêtre d'invite de commandes en tant qu'administrateur
 * 3) Taper
 * 4) Rebooter, aller dans le BIOS, changer le réglage
 * 5) Rebooter, démarrer windows (qui sera en mode sans échec)
 * 6) Lancer une fenêtre d'invite de commandes en tant qu'administrateur
 * 7) Taper

Sources :
 * https://www.seeyar.fr/activer-mode-ahci-apres-linstallation-de-windows10-mode-ide/
 * http://triplescomputers.com/blog/uncategorized/solution-switch-windows-10-from-raidide-to-ahci-operation/

Cas complexe : disque utilisant des fonctionnalités étendues non supportées par Linux
C'est le cas de la nouvelle technologie Intel Optane où de la mémoire statique est utilisée pour accélérer un disque (y compris SSD) avec le disque configuré en mode "Intel RST" dans le BIOS.

Cette technologie n'est pas supportée par Linux : FAQ Intel. Comme elle fonctionne au niveau du disque (et pas d'une partition), il est nécessaire de la désactiver pour que Linux accède correctement au disque sans le corrompre.

Méthode expérimentée une fois :
 * 1) Sauvegarder toutes les données importantes du disque (risque de nécessité de réinstallation totale)
 * 2) Booter sous Windows
 * 3) Trouver l'une des deux applications "Intel® Rapid Storage Technology (Intel® RST)" ou "mémoire Intel® Optane™" (seule l'une des deux peut être installée sur un ordinateur Windows) et désactiver cette technologie
 * 4) Cela génère un reboot
 * 5) Appliquer la méthode précédente :
 * 6) Booter sous windows
 * 7) Lancer une fenêtre d'invite de commandes en tant qu'administrateur
 * 8) Taper
 * 9) Rebooter, aller dans le BIOS, changer le réglage : il peut y avoir un avertissement disant que toutes les données seront perdues. Ça n'a pas été le cas sur le (seul) ordi testé.
 * 10) Rebooter, démarrer windows (qui sera en mode sans échec)
 * 11) Lancer une fenêtre d'invite de commandes en tant qu'administrateur
 * 12) Taper
 * 13) Booter sous Linux
 * 14) Lancer   sur le disque :   par exemple
 * 15) Taper la commande "print"
 * 16) Répondre "y" si on vous demande de corriger (la fin n'est pas à la bonne place) la partition GPT : la fin du disque était auparavant utilisée par les données Intel RST. ATTENTION : si Optane n'a pas été préalablement désactivé, le système de fichier Windows risque d'être complètement illisible (réinstallation complète de Windows alors nécessaire)
 * 17) Vérifier que Windows et Linux fonctionnent (grub devrait alors pouvoir s'installer correctement)

= Pilotes de périphériques =


 * Identifier les besoins avec 'lspci' et 'lsusb'


 * Secure boot bloque le chargement d'un module DKMS même avec un noyau signé.

Pilote WiFi
Dans le cas de module en DKMS ou non-free, voir le point précédent.

lspci -nnkd ::0280


 * RTL8821CE, https://debian-facile.org/viewtopic.php?id=24292
 * https://github.com/tomaspinho/rtl8821ce
 * Cannon Point-LP CNVi [Wireless-AC], https://debian-facile.org/viewtopic.php?id=25129
 * https://www.linux-hardware.org/index.php?id=pci:8086-9df0-8086-0034
 * https://forum.ubuntu-fr.org/viewtopic.php?id=2010578


 * Sous Debian, https://debian-facile.org/doc:materiel:wifi:detecter#etape-1identifier-la-carte-reseau
 * Installation des firmwares: contrib et non-free
 * https://debian-facile.org/doc:systeme:apt:sources.list:sources.list-non-free
 * https://debian-facile.org/doc:materiel:wifi:wifi

= Windows =

Menu de boot avec options avancées (permettant le boot sur Ubuntu)
bcdedit /set {bootmgr} displaybootmenu yes bcdedit /set {default} bootmenupolicy legacy

Pour restaurer, l'ancienne configuration: bcdedit /set {default} bootmenupolicy standard

Restauration

 * https://support.microsoft.com/fr-fr/help/12415/windows-10-recovery-options
 * ISO de restauration : https://www.microsoft.com/fr-fr/software-download/windows10ISO

Déplacer une partition de récupération/restauration

 * http://ikewdu.free.fr/gerer-et-deplacer-la-partition-de-recuperation-de-450-mio-sous-w10/

BCDBoot
Faire le dual-boot avec Windows Boot Manager


 * https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdboot-command-line-options-techref-di

BCDEdit

 * https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/bcdedit
 * https://docs.microsoft.com/en-us/previous-versions/windows/hardware/design/dn653986(v=vs.85)


 * https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdedit-command-line-options
 * https://superuser.com/questions/511582/how-to-use-bcdedit-to-dual-boot-windows-installations
 * http://ikewdu.free.fr/reparer-le-demarrage-de-w10-sans-la-commande-bcdboot/
 * https://www.malekal.com/dual-boot-windows-10-windows-7/#Modifier_le_demarrage_du_Dual-Boot_Windows_7_Windows_10
 * https://www.malekal.com/bcd-boot-configuration-data-windows

Legacy / non-UEFI

 * https://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/

EasyBCD
NB: Fonctionne uniquement pour un multi-boot sans EFI !


 * https://neosmart.net/EasyBCD/
 * https://www.groovypost.com/howto/dual-boot-windows-10-linux/
 * https://lecrabeinfo.net/installer-ubuntu-18-04-lts-dual-boot-windows-10.html#etape-5-configurer-luefi-pour-demarrer-sur-ubuntu
 * https://www.sevenforums.com/general-discussion/326809-how-use-bcdedit-create-new-entry-linux.html

= Mac =


 * Utiliser Refind
 * Fonctionnalité de récupération de macOS
 * Création d’un programme d’installation amorçable pour macOS


 * Create recovery partition

Mac Book Pro
(2019) Sur certaine version récente des Mac Book Pro, il n'y a pas de support du clavier et du touchpad durant l'installation d'Ubuntu 18.04 ou 19.04. Il est nécessaire d'utiliser un ensemble clavier/souris en USB. Puis d'installer les pilotes spécifiques ensuite:


 * Prérequis: apt install git build-essential dkms libinput-tools
 * Installer les pilotes applespi/0.1
 * https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7