web-dev-qa-db-fra.com

Ubiquity ne monte pas correctement ESP lors de l'installation

J'installe Ubuntu 16.04 sur un disque dur externe (sdb). Mon ordinateur possède également un disque dur interne Windows 10 (sda).

Lors de la phase de partitionnement, j'ai choisi d'installer le chargeur de démarrage sur le disque dur externe (sdb).

Lorsque Uniquity installe le système, il monte le ESP (sda2) de Windows 10 et copie les chargeurs de démarrage Ubuntu/grub, alors qu'il aurait dû monter le ESP créé sur le disque dur externe ( sdb1)./dev/sda2 est le Win10 ESP et il est monté sur/target/boot/efi./dev/sdb1 est le bon ESP mais n'est pas touché.

Voici lsblk: lsblk

Comme les informations de démarrage ne se trouvent pas sur le disque dur externe, le disque Windows 10 doit être présent pour pouvoir démarrer Ubuntu, car les informations de démarrage pointant vers Ubuntu se trouvent sous Windows ESP - pas exactement optimale.

La question est: puis-je forcer Ubiquity à utiliser sdb1 comme ESP? Cela a du sens par défaut car c'est là que j'ai choisi d'installer grub mais apparemment pas.

Ubiquity est la version 2.21.63. Je reviens sur cette question car j'ai besoin d'Ubuntu sur cet ordinateur. J'ai déposé un rapport de bogue à l'origine mais il est toujours indécis/non attribué.

3
Brady Dean

Eh bien, je n'ai pas trouvé de solution, mais j'ai trouvé une solution de contournement.

  1. Après avoir démarré le cd en direct, exécutez dmesg | grep ata pour trouver l’ID du lecteur interne. Dans mon cas, c'était ata1.00
  2. Redémarrez le live cd mais appuyez sur e pour modifier la configuration de grub.
  3. Ajoutez libata.force=1.00:disable à la fin de linux. 1.00 vient de ata1.00
  4. Appuyez sur f10 et la machine devrait démarrer et Linux ne devrait pas voir le lecteur - vérifiez avec lsblk
  5. Poursuivez l'installation, Ubuntu voit l'extérieur comme étant /dev/sda

Je recommanderais également d'ajouter ceci à la configuration grub du système installé afin qu'il ne voie même pas le lecteur interne. Je ne veux rien qui lui arrive.

Merci à https://askubuntu.com/a/387261/440238 pour la partie libata.force=1.00:disable.

0
Brady Dean

En plus de celle fournie par Brady Dean, deux solutions de contournement me sont proposées:

Solution de contournement 1

  1. Avant d'exécuter le programme d'installation, modifiez le code de type GPT de l'EFI System Partition (ESP) que vous ne souhaitez pas utiliser en un autre élément que le code d'un ESP. Les détails de cette opération dépendent du logiciel de partitionnement utilisé:
    • Dans gdisk, sgdisk ou cgdisk, cela signifierait le changer de EF00 à n'importe quoi d'autre. (0700 le rendra visible en tant que partition FAT normale sous Windows.)
    • Dans GParted ou parted, supprimez le "drapeau de démarrage" de l'ESP.
  2. Exécutez l'installation. Avec un peu de chance, il ne s'efforcera pas de trouver un ESP sur /dev/sda, mais remarquera celui qui se trouve sur /dev/sdb et procède normalement.
  3. Après avoir installé Ubuntu, inversez l’étape 1 - restaurez le code de type "ESP" normal dans le fichier ESP sur /dev/sda. Oublier cette étape peut avoir peu ou pas de conséquences négatives, mais selon le code de type que vous utilisez, Windows peut commencer à l'afficher comme une partition normale. et si vous devez réinstaller Windows (ou un autre système d'exploitation), il peut être important que le code de type soit correct.

Notez que je n'ai jamais essayé cette approche, je ne peux donc pas garantir qu'elle fonctionnera. Si cela ne fonctionne pas, alors ces informations doivent être ajoutées au rapport de bogue référencé dans la question.

Contournement 2

  1. Lancez le programme d'installation Ubuntu en mode "essayez avant d'installer".
  2. Ouvrez une fenêtre de terminal.
  3. Tapez ubiquity -b. Le programme d'installation devrait démarrer, mais il le fera d'une manière qui entraînera l'installation de GRUB et non .
  4. Terminez l'installation normalement.
  5. Une fois que vous avez terminé, Ubuntu sera installé, mais ne sera pas amorçable. Il y a plusieurs façons de le rendre amorçable. Les deux plus faciles sont:
    • rEFInd - Cet outil, que je maintiens, est une alternative à GRUB. Vous pouvez obtenir une version de clé USB à partir de sa page de téléchargements et l'utiliser pour démarrer Ubuntu pour la première fois. Vous pouvez ensuite éditer /etc/fstab pour identifier le ESP que vous souhaitez utiliser, montez-le sur /boot/efi et installez soit rEFInd (via un paquet Debian ou PPA), soit le fichier de base habituel. paquet efi.
    • Boot Repair - Cet outil populaire, décrit plus en détail ici, peut installer GRUB. Cependant, je ne suis pas sûr de savoir comment lui dire d'utiliser un ESP sur /dev/sdb plutôt qu'un autre sur /dev/sda. Vous devrez peut-être utiliser une astuce de code de type, comme dans la solution précédente. ou peut-être que configurer /etc/fstab, comme avec rEFInd, ferait l'affaire.

J'utilise fréquemment la méthode ubiquity -b pour installer sur des ordinateurs qui amorcent plusieurs distributions, car gérer GRUB est dans ce cas un peu gênant et, au pire, totalement impraticable. rEFInd fait un bien meilleur travail avec de telles installations. Bien sûr, il s’agit d’un problème quelque peu différent de celui d’obtenir tous vos éléments installés sur /dev/sdb plutôt que sur /dev/sda, mais la même solution devrait fonctionner.

2
Rod Smith