Merci @Sebsauvage pour le lien.
En substance, je souhaite mettre à jour le Linux de ma Surface Go 2 qui a maintenant plus 3 ans.
Quel est le problème ?
Microsoft... J'aurai pu m'arrêter car à celle seule, la firme de Redmond est un problème.. Dans l'idée, l'accès à l'UEFI ne permet pas de choisir l'USB comme périphérique bootable. Il faut donc trouver autre chose
Solution
Depuis une console vous aller lister toutes les périphériques accessible via UEFI
$ sudo efibootmgr
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0000,0001,2002,2001
Boot0000* Linux Mint
Boot0001* Linpus
Boot2001* EFI USB Device
Boot2002* EFI Network
Ensuite il faut choisir le numéro associé à Linpus pour les Surface Go 2 de Microsoft et dire à efibootmgr
de booter dessus, si une clef USB est branchée, lors du prochain démarrage.
sudo efibootmgr --bootnext 0001
sudo systemctl reboot
A noter que seul l'ID de l'entrée compte donc pour Boot0001 on utilise que 0001.
Edit : ajout de précisions + typo
Story Time
Je me suis amusée à installer Linux sur une clef USB depuis une clef USB hier soir (je voulais tester la dernière Mint puisque celle que j'ai a déjà deux ans).
Comme le PC du boulot est sous Windows 10 et que le disque n'est apparemment pas chiffré (erreur c'était le cas), je me dis que j'allais installer un OS en parallèle sur une clef USB et booter l'USB quand je souhaiterais travailler avec plus de confort (au passage, vive les webapps, une merveille pour faciliter la transition).
Sauf que...
Bien que j'ai désactivé la prise en charge de la partition EFI de Windows, bien que j'en ai créée une sur ma clef USB, bien que j'ai dit à Mint d'installer Grub sur ma clef USB... La partoche /efi de OuinOuin a quand même été altérée... #FacePalm
Ajouter un zeste de "Secure Boot" (qui n'a de secure que le nom) et Windows refuse de démarrer sans la revovery key de BitLocker...
Pourquoi me direz-vous ? Parce qu'une entrée "ubuntu" s'est glissée dans la partoche /efi de OuinOuin.
Cependant... Je peux quand même booter sur ma clef USB en bootant d'abord sur le disque dur puisque Grub y a été installé et choisir l'option "Linux Mint Cinnamon" (qui pointe vers le "/" sur ma clef USB) #SecondFacePalm
Comment s'en sortir sans se faire démasquer par le support ? (je suis un criminelle, hu hu)
Assez facile en fait (faire tout ce qui suit en tant que root si vous n'avez pas sudo).
1) Afficher tout le contenu de la partition EFI/UEFI
sudo efibootmgr -v
La ligne qui nous intéresse est celle-là :
bootOrder: 0000,0001,000A,0003,0004,0005,000F,0007,0006
2) Modifier la ligne bootOrder et remettre l'ID de la partition Windows en début de ligne
Pour moi cela consistait à intervertir les deux premiers ID (Windows ayant 0001 et Mint 0000).
sudo efibootmgr -o 0001,0000,000A,0003,0004,0005,000F,0007,0006
3) Supprimer l'entrée Ubuntu/Mint
sudo efibootmgr -b 0000 -B
Reboot and enjoy
Bon, je suis parvenue à formater ma Surface Go 2 sans activer Windows 10 S (enfin je crois). À présent, il ne m'est plus possible de rebooter sur une clef USB puisque je n'ai plus accès à l'interface de Microsoft le permettant (qui se trouvait dans le Windows Boot Manager que j'ai soigneusement effacé).
Cependant j'ai eu une idée pour contourner le problème :
- Monter une clef usb bootable via Grub 2 en mode rescue (c'est l'objet de la page en lien).
- Ajouter le port usb-c en tant qu'élément bootable dans la conf Grub 2 (et donc toujours avoir cette option à porter de main).
La seconde option marchera bien tant que le boot sector (ou MBR), sur lequel Grub est positionnné, ne sera pas corrompu (ce qui n'est pas non plus improbable mais suffisamment rare pour être négligé). Et je pourrai dire bye bye définitivement à Microsoft en ayant l'esprit tranquille !
Ce sera pour demain (^__^)
Edit (3 ans plus tard)
Il est possible d'accéder à l'UEFI d'une Surface Go 2 en maintenant le bouton d'augmentation du volume puis de démarrer la tablette.
Au vu de mes déboires d'hier soir, certains l'auront compris : je suis en train de formater une Surface Go 2 de Microsoft pour remplacer l'installation intégrée de Windows 10 S par une Linux Mint. Je suis parvenue à booter sur une clef USB en :
- Désactivant Fast Boot
- Désactivant TPM
- Désactivant la vérification du certificat Microsoft par l'UEFI
- En demandant au Windows Boot Manager de lancer Linpus (un Linux intégré par Microsoft) ce qu'il fait de base depuis le port USB-C (sinon votre clef USB ne sera jamais utilisée même en demandant explicitement à l'UEFI de démarrer sur un "USB Device").
Bref, la manipulation est hasardeuse mais elle fonctionne lorsque l'on sait où chercher. Par contre mon problème est qu'il faut Windows pour accéder à l'interface UEFI puisqu'il faut passer par les paramètres du système, or comment faire sous Linux qui ne dispose pas du bouton magique : Redémarrer sous l'interface avancée (UEFI) ?
Eh bien les distributions récentes fournissent une ligne de commande pour ça :
systemctl reboot --firmware-setup
Cette commande est vraiment importante car si plus d'accès à l'UEFI, alors plus moyen de reformater le PC... Je n'ai pas encore essayé mais je vais le faire dans la journée pour voir.
Microsoft, Windows et tous ces logiciels propriétaires de merde, plus jamais ça è_é. #OuiJeSuisFâchée
Je résume l'histoire, sur une Surface Go 2 (flambant neuve) de Microchiotte sur laquelle je souhaite installer une Mint, est livré en préinstallé un Windaube 10 S.
Mais que signifie cette version "S" magique me direz-vous ? Que possède-t-elle de plus ???
Tout simplement que vous ne pourrez JAMAIS installer une application qui ne se trouve pas dans le "Store", mais rassurez-vous, c'est pour votre "sécurité" nous dit Microchiotte qui nous prends pour des demeurés. #JeVousHais
Il y a heureusement une solution... Migrer vers Windows 10 Family ou "mieux" la version "Pro"... Par contre il vous faudra un compte Microchiotte pour accéder à leur store de merde... Et au miracle, en créant son compte on accepte obligatoirement le CLUF puisqu'il ne fonctionne qu'avec des Windows 10 "activés", du coup plus possible de se faire rembourser la licence dont on ne veut pas... #YeahBaby
Pô grave, si tu veux pas de Windows 10 pourquoi cherches-tu à installer une appli dessus ?
À la base je cherche à créer une clef USB bootable qui puisse démarrer sur une Surface. Or ni le Disk creator de Mint, ni Unetbootin ne fonctionnent car il faut un boot secteur spécifique à Microshit sur un PC qui à un UEFI Windows... Sinon, bah ça ne boot pas, même en désactivant le TPM et le OS check certificate du démarrage dans l'UEFI. #TropCoolNan Nan justement (Ò__Ó) Et évidemment la seule appli qui sait faire ça ne tourne que sous Windows...
Je vous ai dit que je haîssais Microchiotte, Google, Apple et d'une manière générale tous les fabriquants et leurs processus pourris qui nous entrave ? Bah voilà, c'est fait.