J'essaie de créer une image USB amorçable pour installer Ubuntu sur un nouvel ordinateur.
Je l'ai fait avant de suivre les instructions " créer une clé USB " pour le bureau Ubuntu, mais je n'ai pas de bureau Ubuntu disponible.
Comment puis-je faire la même chose en utilisant uniquement la ligne de commande?
Choses que j'ai essayées:
usb-creator
: Selon apt-cache search usb-creator
et Wikipedia usb-creator n’existe que sous forme d’outil graphique.casper
, filesystem.manifest
, menu.lst
) n'existe dans l'image ISO et je ne sais pas ce qui les a remplacés. .Sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-AMD64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes
donne un message d'erreur unetbootin: cannot connect to X server
.)Mettre à jour
Aussi essayé GRUB fiddling: Fusion des informations de
Je pouvais y arriver à mi-chemin - il a démarré à partir de l'USB, a affiché le menu grub et a démarré l'installation, mais l'installation ne s'est pas terminée.
Pour référence, c'est le plus proche que j'ai eu:
Sudo su
# mount USB pen
mount /dev/sd[X]1 /media/usb
# install GRUB
grub-install --force --no-floppy --root-directory=/media/usb /dev/sd[X]
# copy ISO image to USB
cp ~/ubuntu-10.10-server-AMD64.iso /media/usb
# mount ISO image, copy existing grub.cfg
mount ~/ubuntu-10.10-server-AMD64.iso /media/iso/ -o loop
cp /media/iso/boot/grub/grub.cfg /media/usb/boot/grub/
J'ai ensuite édité /media/usb/boot/grub.cfg
pour ajouter un bouclage .iso, exemple d'entrée grub:
menuentry "Install Ubuntu Server" {
set gfxpayload=keep
loopback loop /ubuntu-10.10-server-AMD64.iso
linux (loop)/install/vmlinuz file=(loop)/preseed/ubuntu-server.seed iso-scan/filename=/ubuntu-10.10-server-AMD64.iso quiet --
initrd (loop)/install/initrd.gz
}
Lors du démarrage à partir de l'USB, cela me donnerait le menu de démarrage Grub et lancerait le programme d'installation, mais celui-ci a abandonné après quelques écrans se plaignant de l'impossibilité de trouver le lecteur de CD-ROM. (Naturellement, la boîte sur laquelle j'installe ne possède pas de lecteur optique.)
J'ai résolu ce problème en abandonnant et en effectuant la procédure "créer un lecteur USB" à l'aide du CD de bureau Ubuntu Live (sur un ordinateur équipé d'un lecteur optique), puis l'installation par USB fonctionne.
Mais je pense qu’il est possible de le faire à partir de la ligne de commande d’un système Ubuntu sans serveur X et sans lecteur optique. La question est donc toujours d'actualité.
Est-ce que quelqu'un sait comment?
Lors du démarrage à partir de l'USB, cela me donnerait le menu de démarrage Grub et lancerait le programme d'installation, mais celui-ci a abandonné après quelques écrans se plaignant de l'impossibilité de trouver le lecteur de CD-ROM.
Il s’agit d’un bogue connu avec le serveur iso ubuntu (le bureau iso fonctionnant parfaitement), mais il existe un correctif pour obtenir les paquetages de l’iso sur le lecteur USB: une fois sur le programme d’installation, Ctrl + Alt + f2 pour ouvrir un tty et le terminal:
mount -t vfat /dev/sdX1 /mnt
ln -sf /mnt/ubuntu-server.iso /dev/sr0
Revenez ensuite à l'installateur et réessayez d'analyser cd pour les paquets. Ça devrait marcher.
Avez-vous essayé avec # dd if=path/to/image.iso of=/dev/sd#
?
Supposons que vous n'avez rien d'autre qu'une invite devant vous. Si vous avez une interface graphique, vous pouvez ouvrir un terminal et faire tout ce qui est décrit ici. Ou vous pouvez utiliser un tty.
ATTENTION:
Pour éviter tout dommage éventuel, suivez les instructions avec la plus grande attention.
Passez à une invite racine en tapant Sudo su
tail -f /var/log/syslog
Vous avez maintenant une vue en direct sur syslog. Branchez votre clé usb. Vous devriez voir des messages à l'écran. Quelque chose comme ça.
May 27 00:35:07 Mahesh kernel: [ 5054.646585] usb 2-1.1: new high-speed USB device number 5 using ehci_hcd
May 27 00:35:07 Mahesh kernel: [ 5054.741437] scsi8 : usb-storage 2-1.1:1.0
May 27 00:35:07 Mahesh mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
May 27 00:35:07 Mahesh mtp-probe: bus: 2, device: 5 was not an MTP device
May 27 00:35:08 Mahesh kernel: [ 5055.739177] scsi 8:0:0:0: Direct-Access JetFlash TS2GJFV30 8.07 PQ: 0 ANSI: 2
May 27 00:35:08 Mahesh kernel: [ 5055.740198] sd 8:0:0:0: Attached scsi generic sg3 type 0
May 27 00:35:08 Mahesh kernel: [ 5055.741593] sd 8:0:0:0: [sdc] 4005888 512-byte logical blocks: (2.05 GB/1.91 GiB)
May 27 00:35:08 Mahesh kernel: [ 5055.742214] sd 8:0:0:0: [sdc] Write Protect is off
May 27 00:35:08 Mahesh kernel: [ 5055.742218] sd 8:0:0:0: [sdc] Mode Sense: 03 00 00 00
May 27 00:35:08 Mahesh kernel: [ 5055.742712] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.742715] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.745326] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.745329] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.781564] sdc: sdc1
May 27 00:35:08 Mahesh kernel: [ 5055.784191] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.784196] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.784200] sd 8:0:0:0: [sdc] Attached SCSI removable disk
regardez-le et trouvez une chose entre crochets qui se répète? sdc
dans ce cas. Notez-le sur un morceau de papier. Type Ctrl+C pour arriver à l'invite.
Si le fichier ISO est à /path/to/iso/somecd.iso
; notez ce chemin sur un morceau de papier.
Attention:
Cela va effacer la totalité du disque USB. Sauvegardez avant de continuer.
dd if=/path/to/iso/somecd.iso of=/dev/sdc ibs=20M obs=20M
Remplacez /path/to/iso/somecd.iso
par le chemin d'accès réel à votre fichier ISO.
Remplacez /dev/sdc
par tout ce que vous avez noté précédemment. Si la partie répétée est sdb
; utilisez /dev/sdb
et ainsi de suite.
Attention:
Si vous saisissez une lettre de lecteur erronée, vous perdrez définitivement des données sur un lecteur différent. Portez une attention particulière lors de l’émission de la commande
dd
.
Montez le fichier ubuntu.iso
.Pour cela, exécutez les commandes ci-dessous dans le terminal,
Sudo mkdir /media/iso
Sudo mount -o loop /path/to/ubuntu.iso /media/iso
Copiez ensuite tous les fichiers de /media/iso
dans votre dossier de lecteur flash USB monté dans /media
.
Insérez votre clé USB.
Votre partition USB doit être montée dans /media
. Supposons que votre lecteur USB soit monté dans le dossier /media/xxxx
.Ensuite, exécutez la commande ci-dessous,
cp -a /media/iso/. /media/xxx
Exécutez la commande lsblk
pour connaître la partition de périphérique USB.
Ensuite, collez le fichier ldlinux.sys
dans la partition de votre clé USB (Dans mon cas / dev/sdd1) pour rendre le sb bootable .Pour cela, exécutez les commandes ci-dessous,
Sudo apt-get install syslinux mtools
syslinux -s /dev/sdd1
Accédez au dossier /media/xxx
et renommez le répertoire isolinux
en syslinux
. Ensuite, accédez au dossier renommé syslinux et renommez le fichier isolinux.cfg
en syslinux.cfg
.
mv /media/xxx/isolinux /media/xxx/syslinux
mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
Redémarrez votre ordinateur et remplacez le boot-order
dans le bios par USB.Maintenant, votre clé USB à mémoire flash ubuntu va démarrer et vous pouvez l’installer.
Cette méthode fonctionnera pour toutes les distributions Linux, pas seulement pour Ubuntu.
J'ai résolu ce problème en utilisant le CD de bureau Ubuntu Live.
En démarrant le Live CD sur un ordinateur équipé d'un lecteur optique, je pouvais utiliser les instructions du bureau Ubuntu pour créer le programme d'installation du stylet USB sans toucher à l'installation existante.
Vous pouvez pirater usb-creator pour le faire.
Vous devriez déjà avoir une seule partition vfat en tant que partition 1 sur le périphérique usb (l’étape d’effacement du disque de usb-creator-gtk le fait) et elle devrait être marquée comme étant amorçable.
Ensuite, nous aurons le code usb-creator python pour nous aider.
$ Sudo apt-get install usb-creator
ou
$ bzr branch lp:usb-creator
créez un fichier avec ce contenu et nommez-le usb-creator-cli. Si vous utilisez bzr à la dernière étape, placez ce fichier dans le répertoire usb-creator (racine de la branche bzr).
#!/usr/bin/env python
from __future__ import print_function
from usbcreator.misc import sane_path, setup_gettext, setup_logging, text_type
from usbcreator.install import install
sane_path()
setup_logging()
setup_gettext()
#/dev/sdb1 should be mounted on /mnt
#iso should be mounted to /iso
dev = '/dev/sdb1'
source = '/iso'
target = '/mnt'
ugh = install(source, target, False, device=dev)
ugh.success = print
ugh.failure = print
ugh.progress = print
ugh.progress_message = print
ugh.progress_Pulse = print
ugh.progress_Pulse_stop = print
ugh.retry = print
ugh.run()
Le rendre exécutable
$ chmod +x usb-creator-cli
Maintenant, montez votre iso sur/iso et montez votre périphérique usb sur/mnt
$ Sudo mkdir /iso ; Sudo mount ubuntu-server-12.10-AMD64.iso /iso
$ Sudo mount /dev/sdb1 /mnt
Si vous voulez des messages très détaillés sur votre console, vous pouvez utiliser ~/.cache/usb-creator.log
$ tail -f ~/.cache/usb-creator.log &
Maintenant, lancez le script usb-creator-cli
$ Sudo ./usb-creator-cli
Et regardez tous les messages défiler.
Lorsque vous revenez à l'invite, n'oubliez pas de démonter/mnt avant de retirer votre périphérique de stockage USB.