web-dev-qa-db-fra.com

Installation de Grub 2 sur un lecteur flash USB

MultiBootisos est un outil qui vous permet d'installer Grub sur un lecteur flash USB. Je l'aime vraiment parce que cela me permet de démarrer des fichiers ISO et de me laisser mettre un groupe d'isos sur mon USB et choisissez celui à démarrer.

Le problème est que c'est un outil Windows, et je ne sais pas comment le faire à travers les lignes de commande. J'aimerais aussi savoir comment installer Grub (2) de cette façon, Héritage de Grub semble être plus facile ...

EDIT: Je ne demande pas un outil (et sans aucun doute un outil Windows). Je veux connaître les commandes que je dois exécuter pour avoir les mêmes effets. Je vais avoir Ubuntu dans mon esprit en ce moment, mais s'il y a une manière générale que je puisse démarrer n'importe quel ISO dans l'USB, ce serait mieux.

30
phunehehe

Tu m'as curieux de savoir comment cela serait fait. Le site Pendrivelinux avait un tutoriel Je l'ai fait de ma monnaie 9 Installer au lieu d'un CD Live comme le suggère le site.

J'ai commencé avec la recherche de l'emplacement de mon lecteur USB dans un terminal I Ran df Il a renvoyé l'emplacement de l'appareil comme

/dev/sdg1   /media/LINUXUSB

après cela j'ai couru

Sudo su

puis installer grub 2

grub-install --no-floppy --force --root-directory=/media/LINUXUSB /dev/sdg1

Je devais utiliser --force en outre, l'exemple sur le site ne l'a pas fait. Alors j'ai fait

cd /media/LINUXUSB/boot/grub

Le site a donné un lien pour télécharger une copie de grub.cfg vers le répertoire/boot/grub de mon lecteur USB. Le lien était

wget http://pendrivelinux.com/downloads/grub.cfg

Après cela, j'ai édité Grub.cfg pour refléter l'ISO sur ma clé USB.

set timeout=10 set default=0

menuentry "Run Fedora" {
    loopback loop /Fedora13.iso
    linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=/Fedora13.iso splash --
    initrd (loop)/isolinux/initrd0.img
}

menuentry "Run Ubuntu" {
    loopback loop /ubuntu-10.04-netbook-i386.iso 
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-netbook-i386.iso splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Run Clonezilla" {
    loopback loop /clonezilla.iso
    linux (loop)/live/vmlinuz boot=live iso-scan/filename=/clonezilla.iso splash --
    initrd (loop)/live/initrd.img }

J'ai trouvé que dans les différents Iso, Vmlinuz et Initierrd étaient situés dans un répertoire différent. J'ai pu obtenir les trois pour commencer le processus de démarrage; Mais seul Ubuntu de charger réellement. Si je découvre ce que je dois obtenir les deux autres pour terminer le chargement, je vais ajouter cela plus tard. Je n'ai essayé aucun autre ISO juste ces trois.

18
Steve Burdine

GRUB2 Didacticiel complet est un bon endroit pour démarrer sur plusieurs configurations de démarrage avec Grub2.
Si vous connaissez Grub, sautez directement sur le 5ème ou 6ème section.

Il existe également une question de superutilisateur sur Configuration d'un système multiboot avec Grub .
Il y a aussi un Ubuntu Multiosboot page communautaire qui suggère que vous devriez coller à l'héritage GRUB.

La technique fonctionne aussi sur des lecteurs flash aussi longtemps que votre machine peut démarrer d'eux.
[.____] J'ai été Travailler des lecteurs Flash pendant un certain temps maintenant .

5
nik

J'ai enfin trouvé un script qui fonctionne réellement de démarrage Fedora 18 ISO de USB: http://git.marmotte.net/git/glim/plain/fedora18-fromiso

Les détails sont ici: http://git.marmotte.net/git/glim/plain/readme

0
valentt

j'ai passé des heures sur Internet en essayant de trouver comment générer un grub de travail.cfg pour un disque amovible.

enfin, basé sur le script de ici , j'ai fait mon script de travail (ci-dessous est le contenu de grub.cfg):

### inputs ###
set UUID_ESP="E8C0-B8AE"
set UUID_ISO="c11f533e-a298-4381-950a-5d6d1f7f5907"
### end ###


search --no-floppy --set=ESP --fs-uuid $UUID_ESP # the address of the ESP
set ESP=($ESP) # add parentheses
echo "The address of the ESP is $ESP"
search --no-floppy --set=ISO_PART --fs-uuid $UUID_ISO # the address of the ISO partition
set ISO_PART=($ISO_PART) # add parentheses
echo "The partition on the flash drive with the iso is $ISO_PART"
echo "the prefix is $prefix" # GRUB folder with modules
sleep 5

insmod efi_gop
insmod font

if loadfont $ESP/boot/grub/fonts/unicode.pf2
then
        insmod gfxterm
        set gfxmode=auto
        set gfxpayload=keep
        terminal_output gfxterm
fi

menuentry "Arch_linux_iso" {
        set ISOFILE="/archlinux-2019.10.01-x86_64.iso"
        loopback loop ${ISO_PART}${ISOFILE}
        linux (loop)/Arch/boot/x86_64/vmlinuz img_dev=/dev/disk/by-uuid/$UUID_ISO img_loop=$ISOFILE
        initrd (loop)/Arch/boot/intel_ucode.img (loop)/Arch/boot/AMD_ucode.img (loop)/Arch/boot/x86_64/archiso.img
}
0
user3804598