Question Comment créer une clé USB bootable Ubuntu à partir du terminal?


Existe-t-il un moyen de créer une clé USB bootable Ubuntu à partir du terminal sans utiliser d’applications tierces telles que YUMI, Unetbootin, Créateur de disque de démarrage, etc.

J'ai essayé de créer un lecteur flash bootable Ubuntu avec dd méthode,

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M

Il crée des fichiers sur le disque USB, mais lorsque je tente de démarrer le disque USB, il affiche un Operating System Not Found Erreur.


263
2017-11-15 17:29


origine


Vous devez vous assurer que votre clé USB n'est pas montée. Vérifiez avec lsblk. Si nécessaire, faites sudo umount / dev / sdb (probablement sdb1, sdb2). Ajouter, echo $? après votre commande dd copy. Donc: sudo dd si = ... de = ... bs = 4M; echo $? Si la commande se termine, la valeur renvoyée doit être 0.
j'ai suivi vos étapes, mais il crée également les mêmes fichiers que sudo umount /dev/sdb sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M crée.Il ne crée aucun ubninit,ldlinux.sys,etc les fichiers qui sont principalement importants pour un démarrage Linux. - Avinash Raj
Je voudrais installer grub sur le MBR du disque USB comme une étape finale. - Elder Geek
le plus facile façon avec les outils intégrés à l'aide du terminal est d'utiliser dd comme décrit ici. Il fonctionne avec tous les fichiers iso hybrides. Mais dd est un outil dangereux car il fait ce que vous lui dites de faire sans poser de questions. Donc, si vous lui dites d'essuyer les photos de famille ... et c'est une petite erreur de frappe. De nombreux outils sont plus sécurisés. Ils vous aident à identifier et sélectionner le lecteur cible et à fournir un point de contrôle final, où vous pouvez vérifier, que vous allez écrire sur le bon lecteur. La plupart d'entre eux sont des outils d'interface graphique, certains peuvent également fonctionner en mode texte, par ex. mkusb-dus. - sudodus
Le lien suivant montre un exemple, où le lecteur interne a été écrasé par erreur, quand une ligne de commande avec dd a été utilisé afin de créer une clé USB bootable Ubuntu, askubuntu.com/questions/982552/accidentally-did-dd-dev-sda - sudodus


Réponses:


Vous pouvez utiliser dd.

 sudo umount /dev/sd<?><?>  

<?><?> est une lettre suivie d'un chiffre, recherchez-la. Ensuite:

 sudo dd bs=4M if=input.iso of=/dev/sd<?> conv=fdatasync

input.iso est le fichier d'entrée, et /dev/sd<?> est le périphérique USB que vous écrivez (exécutez lsblk voir tous les lecteurs pour savoir ce que <?> est pour votre USB).

Cette méthode est rapide et ne m'a jamais manqué.


EDIT: pour ceux qui se retrouvent ici sur un Mac, utilisez les minuscules pour bs=4m:

sudo dd if=inputfile.img of=/dev/disk<?> bs=4m && sync

EDIT: Si le lecteur USB ne démarre pas (cela m'est arrivé), c'est parce que la cible est une partition particulière sur le lecteur au lieu du lecteur. La cible doit donc être / dev / sdc et non dev / sdc <?> Pour moi, c'était / dev / sdb.

Référence: https://superuser.com/a/407327 et https://askubuntu.com/a/579615/669976


302
2017-11-13 11:51



ça ne marche pas pour moi. - Avinash Raj
Vraiment? Êtes-vous sûr d'avoir le nom de fichier .iso correct, y compris le chemin d'accès, et le bon / dev pour votre lecteur USB? Comment ça échoue? Y a-t-il un message d'erreur ou ne réussit-il pas à démarrer? Etes-vous sûr que le .iso n'est pas corrompu? - Marc
Vous pourriez avoir un .iso corrompu. L'avez-vous vérifié? Êtes-vous certain que le .iso est en fait une copie de quelque chose qui est bootable? - Marc
La question originale et la réponse la plus controversée est la même personne qui a dit que cette méthode ne fonctionnait pas pour lui. ;-) Pour moi, la réponse approuvée ne fonctionne pas et celle-ci le fait. :-) Vote à voix haute. - Drachenfels
utilisation df -lh pour vérifier quoi dev/sdc est ton /media/user/XXXX-YYY (le nom d'interface de l'USB) - Peter Krauss


Créer un lecteur flash USB Ubuntu bootable à partir du terminal

  • Placer le ubuntu.iso fichier dans une partition de disque dur.

  • Ensuite, montez le ubuntu.iso fichier avec les commandes ci-dessous dans le terminal:

    sudo mkdir /media/iso/
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Insérez votre lecteur flash USB. Mon lecteur est /dev/sdd. Voici une capture d'écran:

GParted screenshot

  • Votre lecteur peut être monté automatiquement à l'intérieur /media/. Supposons qu'il a été monté dans /media/xxx/.

  • Copier tous les fichiers de /media/iso/ à votre lecteur flash USB monté en exécutant la commande ci-dessous (assurez-vous d'inclure le point):

    cp -a /media/iso/. /media/xxx/
    
  • Ensuite, vous avez besoin du ldlinux.sys fichier dans votre lecteur flash USB pour rendre l'USB amorçable. Ma partition USB est /dev/sdd1; entrer lsblk pour voir ce qui est à toi Exécutez les commandes ci-dessous:

    sudo apt-get install syslinux mtools
    sudo syslinux -s /dev/sdd1
    
  • Naviguez jusqu'au /media/xxx monter le dossier et renommer le isolinux répertoire à syslinux. Ensuite, allez dans le dossier renommé et renommez le fichier isolinux.cfg à syslinux.cfg.

  • Redémarrez votre PC et changez l'ordre de démarrage dans le BIOS pour permettre le démarrage à partir d'un lecteur USB. Maintenant, votre clé USB Ubuntu démarre et vous pouvez l'installer.

Cette méthode fonctionnera pour toute distribution Linux, pas seulement pour Ubuntu. Vous n'avez pas besoin d'installer de logiciel tiers pour créer une clé USB Linux.


84
2017-11-07 18:19



Je suis en train de l'essayer pour le moment, pourriez-vous s'il vous plaît spécifier ce / pourquoi vous utilisez: cp -a plutôt que cp -r - moldovean
Vous avez besoin sudo pour le syslinux commander. - Cammy_the_block
Cette méthode n'a pas fonctionné pour moi. Le cp -a donne: 'cp: ne peut pas créer de lien symbolique' /media/xxx/./ubuntu ’: opération non autorisée 'et autres du même, puisque la cible est fat32. J'ai essayé d'ignorer ça ... n'a pas fonctionné - sheß
Important de noter que l'usb doit être un système de fichiers fat32, sinon syslinux ne fonctionnera pas - Ricardo BRGWeb
La console me montre la même erreur que @ sheß. J'ai vérifié le système de fichiers (FAT32) et le drapeau BOOT. - Chofoteddy


Vous êtes presque là avec dd, mais vous manquez une étape.

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync

sdX est votre périphérique USB (cela peut être vérifié avec lsblk).

le sync bit est important comme dd peut revenir avant la fin de l'opération d'écriture.


77



+1 pour la mention sync. Sans elle, vous ne savez pas si le contenu a été copié. De plus, si vous n'êtes pas pressé, vous devriez md5sum les deux fichiers juste pour être doublement sûr. - Dave
Peut-être vaut-il la peine de mentionner que l’USB doit être (re) formaté en FAT32 avec sudo mkfs.msdos -F 32 /dev/sdX premier? - Nemo
@Nemo, est-il possible que cela fasse une différence? dd to / dev / sdX remplacera tout système de fichiers existant. - mwfearnley
sync est inutile ici. Cela n'affecte que les opérations du système de fichiers. - punund
conv=fdatasync - écrire physiquement les données du fichier de sortie avant de terminer devrait prendre soin de la synchronisation, mais bon appel à s'assurer que le périphérique est démonté en premier. - Johnathon Havens


Vous avez deux choix.

Si vous désirez une interface graphique, utilisez usb-creator (c'est dans les dépôts ubuntu)

enter image description here

Si vous voulez un outil de ligne de commande, utilisez dd

#Replace X accordingly in both commands

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M

Juste être sûr /dev/sdX est le lecteur flash que vous souhaitez utiliser (il détruira les données sur le lecteur flash).

Voir https://help.ubuntu.com/community/Installation/FromUSBStickpour plus d'informations.


36



Je veux seulement des outils de ligne de commande, pas un outil graphique (comme créateur de disque de démarrage) .Selon le dd méthode, seulement 3 dossiers et 1 fichier a été créé dans mon usb.Alors que j'essaye de démarrer, il dit operating system not found error.Files like ubninit,menu.c32,ubnpathl.txt,ubnfilel.txt,ldlinux.sys sont manquants (qui sont très importants pour démarrer en direct USB Ubuntu). - Avinash Raj
J'ai essayé la méthode dd avec ubuntu.iso et ça a marché! il faut cependant trop de temps pour être écrit sur une clé USB. Je me demande ce que bs = 1M représente. J'ai trouvé ce site manpages.ubuntu.com/manpages/karmic/en/man1/dd.1.html . Maintenant, je me demande si la modification de la valeur entraînera une copie plus rapide vers l'USB? Et quels sont les risques .. peut-être que quelqu'un sait. - moldovean
Le bs est la taille du bloc. dd lira 1 Mo de données dans la mémoire et procédera ensuite à l'écriture sur le disque dans son ensemble. En utilisant une très petite taille de bloc, vous obtiendrez beaucoup de surcharge du processeur. L'utilisation d'une très grande taille de bloc peut entraîner des effets secondaires inattendus, par ex. des pauses plus longues sans activité de disque et / ou une grande utilisation de la RAM. 1M ou 4M est généralement une bonne valeur lors de la création d'un disque à partir d'un ISO. Plus d'infos sur les tailles de blocs: stackoverflow.com/questions/6161823/… - ApolloLV
Je pense que faire un usb bootable est quelque chose que je fais rarement, mais quand je le fais, je veux que ce soit fait correctement. Une taille de bloc plus petite peut prendre plus de temps, mais est-ce un problème? Nan. - Marc
@Marc - Le seul problème est la vitesse, une taille de bloc plus petite n'est pas plus ou moins sujette à erreur qu'une taille de bloc plus grande et donc une taille de bloc plus petite! = "Done right". Done right signifie vérifier le md5sum de l'iso et confirmer le md5sum de l'image écrite. Une fois que vous confirmez les m5dsums, vous savez que cela a été fait correctement. - Panther


Tout d'abord, démontez le périphérique USB, puis utilisez lsblk pour vérifier le périphérique.

Parfois (généralement des fichiers iso plus anciens), dd n'est pas suffisant et la clé USB ne démarre pas. Dans ce cas, vous devrez peut-être installer syslinux:

sudo apt-get install syslinux

puis exécutez les commandes suivantes:

sudo mkfs -t vfat -I /dev/sdX

Vous voulez exécuter cette dernière commande pour /dev/sdX et ne pas  /dev/sdX1.

Ensuite, procédez avec les commandes suivantes:

isohybrid /path/to/file.iso --entry 4 --type 0x1c
dd if='/path/to/file.iso' of=/dev/sdX bs=8M

ou, pour voir le progrès de l'image écrire:

pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M

ou au lieu de dd, vous pouvez utiliser cat au lieu:

sudo -s
cat /path/to/file.iso > /dev/sdX

Rappelez-vous d'émettre une commande de synchronisation pour vider le cache en écriture

sync

web.archive.org/web/20140327085331/https://tails.boum.org/doc/first_steps/installation/manual/linux/index.fr.html


23



Je dois mentionner que pour moi tout le reste a échoué, mais cela a fonctionné - j'ai opté pour le cat commander. - Digital Dracula
Pour ceux qui insistent pour que dd seul suffit, j'avais aussi besoin de ça pour travailler. - GuiRitter
Si vous voulez un outil qui utilise dd quand ISO est hybride et monte, copiez le fichier ISO + installez SYSLINUX quand l'ISO n'est pas, utilisez bootiso au lieu. - Jules Randolph


$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB

Ne pas utiliser le chemin pour mordre.

  1. Utilisez le cd commande pour accéder au dossier contenant le fichier .iso
  2. utiliser la commande dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
  3. Attendez que la sortie de la console ressemble à ceci:

    1028+1 records in
    1028+1 records out
    1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s
    
  4. Démarrage à partir de l'usb.

Note: Assurez-vous d’écrire sur le bon périphérique, un usb ne sera pas toujours monté sur: dev/sdX où X peut être n'importe quelle lettre.


6



quelle est la signification de bs = 1MB dans la commande dd ??? - juggernaut1996
@ juggernaut1996 aucun. C'est la taille de bloc à utiliser lors de la copie. Comme aucun argument de comptage n'a été fourni, il copiera la totalité de l'entrée dans des blocs de 1 Mo. Il pourrait être enlevé. - sjbx
Le "ne pas utiliser le chemin de bit" est une désinformation. Le processus lui-même ne fait pas cuire les composants du chemin dans l'image copiée, ce qui est sans importance si vous naviguez dans le répertoire contenant votre image ISO ou donnez simplement le chemin complet. De plus, dd peut également accepter les entrées de stdin, vous pouvez donc simplement insérer deux dd pour vous assurer qu'aucun chemin n'est gravé dans l'image. - Gabor Garami
Cela fonctionnera uniquement pour les ISO hybrides, qui remplissent une bonne majorité des cas aujourd'hui, mais il existe des exceptions notables telles que UltimateBootCD. Utilisation bootiso au lieu. - Jules Randolph


Si par "tiers" vous voulez dire "gui", Je suggère un script léger nommé bootiso après Avinash Raj répondre, parce que dd ne fonctionne pas toujours Le gros avantage est qu'il est très sécurisé (effectue de nombreux contrôles de sécurité pour ne pas gâcher le système), facile à installer et à transporter.

Aussi, bootiso inspectera le fichier ISO pour choisir parmi deux modes: image-copy (dd) lorsque le fichier ISO est hybride, il est compatible USB. Et le mode mount-rsync lorsque le fichier ISO est non hybride, auquel cas un bootloader SYSLINUX sera automatiquement installé s'il est pris en charge [plus de détails sur le comportement automatique].

Comment l'utiliser

Première option, fournissez simplement l'ISO en premier argument et vous serez invité à sélectionner un lecteur parmi une liste extraite de lsblk:

bootiso myfile.iso

Ou fournissez explicitement le périphérique USB:

bootiso -d /dev/sde myfile.iso

Installation rapide

curl -L https://git.io/bootiso -O
chmod +x bootiso

Voir en action:


5



Je suis d'accord, c'est un très bon script qui élimine les éléments effrayants du processus. Plus de détails ici: tecmint.com/create-bootable-usb-in-linux-commandline - kr37