web-dev-qa-db-fra.com

Installez grub sur une clé USB multi-partition et multi-boot

J'ai les partitions de lecteur flash USB suivantes:

/dev/sdb1  *      204800   8593407  8388608    4G  b W95 FAT32 
/dev/sdb2        8593408  11460607  2867200  1.4G  b W95 FAT32 
/dev/sdb3       11460608  24043519 12582912    6G  7 HPFS/NTFS/exFAT 
/dev/sdb4       24043520 120127487 96083968 45.8G  7 HPFS/NTFS

Remarque:
sdb1 = Lubuntux_64 avec persistance.
sdb2 = androidx_86.
sdb3 = Windows10_64.
sdb4 = Stockage général.
Avec 100 Mo non alloué avant sdb1.

Pourquoi est-ce comme ça? J'ai essayé plusieurs logiciels à démarrage multiple, mais aucun d'entre eux n'a fonctionné comme prévu. Cette configuration fonctionne, mais je dois définir manuellement l'indicateur de démarrage sur chaque partition dont j'ai besoin pour démarrer.

La question qui se pose est la suivante: comment installer grub sur sdb (qui détecte tous les systèmes d’exploitation) pour un menu me permettant de choisir le système d’exploitation à exécuter? Je n'ai pas peur d'écrire des choses manuellement, mais je ne sais pas quoi écrire dans grub.cfg pour m'indiquer les partitions nécessaires.

1
Piri

Installation multiple sur USB - BIOS/UEFI

Mkusb constitue une base idéale pour les clés USB multi-démarrage personnalisées. Ce qui suit montre comment créer une installation complète USB, qui démarre le BIOS et l’UEFI, puis la modifier en tant que Multi Booter, ce qui permet même de démarrer les ISO à l’aide de grub2.

  • Utilisez mkusb pour créer un système Live sur le programme d’installation USB (2 Go ou plus).

  • Utilisez mkusb pour créer un système persistant sur la cible 128 Go USB en utilisant les paramètres par défaut avec une persistance de ~ 25 Go (la partition NTFS restante est utilisée en tant que partition de données accessible par Windows). .

enter image description here

  • Dès que mkusb se termine, ouvrez GParted et supprimez sdx4, la partition ISO9660, puis développez sdx5 dans l’espace récupéré, sdx étant le nom de périphérique du lecteur cible.

enter image description here

  • Débranchez ou retirez le disque dur avant de poursuivre, (facultatif mais recommandé, hautement recommandé en mode UEFI).

  • Lecteur d’installation d’amorçage, sélectionnez Essayer.

  • Insérer le lecteur cible

Démarrer l'installation Ubuntu ...

  • Sélectionnez autre chose.

  • Sélectionnez sdx5 (sur le lecteur cible), puis cliquez sur Modifier.

enter image description here

  • Sélectionnez Utiliser comme: ext4, Format et Point de montage: /.

Ne touchez aucune autre partition (sauf si vous ajoutez une partition/home).

  • Sélectionnez sdx5 comme Périphérique pour l'installation du chargeur de démarrage .

  • Installation complète.

  • Coupez le fichier grub.cfg de sdx5/boot/grub et collez-le dans le fichier sdx3/boot/grub, en remplaçant le fichier grub.cfg existant.

  • Démarrez le lecteur cible et exécutez Sudo update-grub pour ajouter tous les lecteurs au menu de démarrage.

Multi-démarrage

Plusieurs systèmes d'exploitation, l'installation complète et Live/Persistent peuvent être ajoutés à l'USB.

Créez un lecteur comme suggéré ci-dessus, puis divisez la partition étendue en plusieurs parties (sdx5, sdx6, sdx7 ... dans ce cas).

Vous pouvez ensuite installer Ubuntu sur une partition et un autre système d'exploitation sur les autres partitions.

  • Divisez sdx5 en autant de partitions ext4 que vous avez de système d'exploitation. La taille devrait être d'environ 8 Go chacun ou plus.

  • Démarrez le programme d’installation Live mkusb et insérez le lecteur cible.

  • Au partitionnement sélectionné "Quelque chose d'autre".

  • Choisissez sdx5 pour /.

  • Installez le chargeur de démarrage sur sdx5.

  • Laissez les cases de format de toutes les autres partitions non cochées.

  • Répétez cette opération avec sdx6, sdx7, etc., et le système d'exploitation que vous choisissez d'installer.

  • Après la dernière installation, coupez grub.cfg dans sdx6/boot/grub et collez-le dans sdx3/boot/grub en remplaçant le fichier grub.cfg existant.

  • Démarrez le lecteur flash et faites un update-grub. Cela va ajouter tous les OS à grub.

Vous pouvez ajouter quelques ISO du système d'exploitation si vous le souhaitez:

  • Créez un dossier dans la partition NTFS sdx1 nommée isos.

  • Ajoutez quelques ISO.

  • Editez sdx3/boot/grub en ajoutant des menus similaires au suivant:

    menuentry "xubuntu-18.04.1-desktop-AMD64 Partition 6" {
     set isofile="/isos/xubuntu-18.04.1-desktop-AMD64.iso"
     set root='(/dev/sdx,msdos2)'
     search --no-floppy --fs-uuid --set=root XXXX-XXXX
     loopback loop ($root)$isofile
     linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
     initrd (loop)/casper/initrd.lz
    }
    
  • Remplacez vos UUID de partition de sixième (septième et huitième) par XXXX-XXXX

  • il se peut que vmlinuz doive être vmlinuz.efi pour certaines versions.

  • Si vous le souhaitez, chaque ISO peut avoir ses propres fichiers de persistance casper-rw et home-rw, mais cela commence à devenir un peu plus compliqué car vous devez ajouter le "chemin persistant" à chaque menu.

1
C.S.Cameron

Hier j'ai réussi et je posterai ma résolution:
J'ai un lecteur flash USB Sandisk 64gb et j'avais besoin de plusieurs partitions et d'un système d'exploitation multi-boot

  1. Étape 1:

J'ai créé avec GParted une table de partitions MBR avec le contenu suivant:

sdb1 -> 4gb ->formatted fat32(labeled Linux)<br/>
sdb2 -> 2gb ->formatted fat32(labeled Android)<br/>
sdb3 -> 5GB ->formatted fat32(labeled Windows)<br/>
sdb4 -> the rest of unallocated space -> formatted NTFS(labeled Stuff)<br/>
  1. Étape 2:

    Avec UNetBootin, j'ai installé:

    sdb1 -> Xubuntu avec stockage persistant de 2 Go (dernière version) (Lubuntu avait quelques problèmes après le redémarrage avec le pilote wifi)
    sdb2 -> Android-x86_64-8.1
    sdb3 -> pour l’installation de windows10 j’ai suivi ceci: cela

Edition 1: Une fois tous les systèmes d’exploitation installés, ouvrez GParted et définissez bootflag sur sdb1 (partition étiquetée linux).

  1. Étape 3:

    J'ai installé grub dans sdb1 (Linux) comme ceci:

    Sudo grub-install --force --root-directory =/media/myusername/LINUX// dev/sdb1

  2. Fichier grub.cfg modifié dans/media/nomutilisateur/LINUX/boot/grub comme ceci:

     si loadfont /boot/grub/font.pf2; puis 
     définir gfxmode = auto 
     insmod efi_gop 
     insmod efi_uga 
     insmod gfxterm 
     borne_output gfxterm 
     f 
     défini menu_color_normal = white/black 
     set menu_color_highlight = noir/gris clair 
     timeout = 30 
     menuentry 'Xubuntu18.04 Sélection d'origine' {
     search --no -floppy --fs-uuid --set XXXX-XXXX 
     syslinux_source /isolinux/isolinux.bin&. 1 Sélection initiale '{
     Recherche --no-floppy --fs-uuid --set XXXX-XXXX 
     Syslinux_source ($ root) /isolinux/isolinux.bin 
     Syslinux_configfile ( $ root) /syslinux.cfg 
    } 
     menuentry 'Windows10_x64 Sélection originale' --class windows --class os {
     insmod ntfs 
     search --no- floppy --fs-uuid --set XXXXXXXXXXXXXXXX 
     ntldr /bootmgr
    }

Remarques:

  1. Vous devez remplacer XXXX-XXXX par l'UUID de la partition. Vous pouvez l'obtenir en exécutant: blkid /dev/sdbX où 'X' est le numéro de la partition.
  2. Ce que j'ai à tester:
      • Xubuntu tout fonctionne.
      • Android je n'ai pas eu à tester cela.
      • Windows 10 jusqu'à la sélection de la partition.
  3. S'il y a des problèmes avec cette approche, je l'éditerai plus loin. (Le plus susceptible de se produire dans les prochains jours)
0
Piri