web-dev-qa-db-fra.com

Comment créer un support d'installation flash USB pour Windows 7 à partir de Linux?

J'ai:

  • image ISO du support d'installation de Windows 7
  • Clé USB à mémoire flash de 4 Go
  • pas de lecteur DVD
  • Linux installé
106
Ian Kelling

OK, après avoir essayé sans succès toutes les méthodes mentionnées ici, je l'ai finalement fait fonctionner. Fondamentalement, l'étape manquante consistait à écrire un secteur de démarrage approprié sur la clé USB, ce qui peut être fait à partir de Linux avec ms-sys ou lilo -M. Cela fonctionne avec la version commerciale de Windows 7.

Voici à nouveau le récapitulatif complet:

Installez ms-sys - s'il n'est pas dans vos référentiels, récupérez-le ici . Ou bien, assurez-vous que lilo est installé (mais n'exécutez pas l'étape liloconfig sur votre box local si par exemple Grub y est installé!)

Vérifiez à quel périphérique votre support USB est affecté - ici, nous supposerons qu'il s'agit de /dev/sdb. Supprimez toutes les partitions, créez-en une nouvelle en occupant tout l'espace, définissez le type sur NTFS (7) et n'oubliez pas de le définir comme amorçable:

# cfdisk /dev/sdb oufdisk /dev/sdb (partition type 7 et amorçable indicateur)

Créez un système de fichiers NTFS:

# mkfs.ntfs -f /dev/sdb1

Écrivez Windows 7 MBR sur la clé USB (fonctionne également pour Windows 8), plusieurs options ici:

  1. # ms-sys -7 /dev/sdb
  2. ou (par exemple sur les installations Ubuntu plus récentes) Sudo lilo -M /dev/sdb mbr ( info )
  3. ou (si syslinux est installé), vous pouvez exécuter Sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb

Montez les supports ISO et USB:

# mount -o loop win7.iso /mnt/iso[.____.{# mount/dev/sdb1/mnt/usb

Copiez sur tous les fichiers:

# cp -r /mnt/iso/* /mnt/usb/... ou utilisez le navigateur de fichiers GUI standard de votre système

Appelez sync pour vous assurer que tous les fichiers sont écrits.

Ouvrez gparted, sélectionnez le lecteur USB, faites un clic droit sur le système de fichiers, puis cliquez sur "Gérer les drapeaux". Cochez la case de démarrage, puis fermez.

...et tu as fini.

Après tout cela, vous voudrez probablement sauvegarder votre support USB pour d'autres installations et vous débarrasser du fichier ISO ... Utilisez simplement dd: # dd if=/dev/sdb of=win7.img

Remarque, cela copie tout l'appareil! - qui est généralement (beaucoup) plus volumineux que les fichiers qui y sont copiés. Je propose donc à la place

# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img

Ainsi par exemple avec 8 M d'octets supplémentaires:

# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress

Comme toujours, vérifiez soigneusement les noms des périphériques lorsque vous travaillez avec dd.

La méthode de création d'une clé USB bootable présentée ci-dessus fonctionne également avec le programme d'installation de Win10 iso. Je l'ai essayé en exécutant Ubuntu 16.04 en copiant Win10_1703_SingleLang_English_x64.iso (taille 4 241 291 264 octets) sur une clé USB de 8 Go - en démarrage non UEFI [non sécurisé] uniquement. Rapports dd après exécution: 8300156 + 0 enregistrements en 8300156 + 0 enregistrements en sortie 4249679872 octets (4,2 Go, 4,0 Gio) copiés, 412,807 s, 10,3 Mo/s

Inversez si/la prochaine fois que vous souhaitez mettre le programme d'installation de Windows 7 sur USB.

183
jthurner

Vous pouvez accomplir cela avec dd, si votre PC prend en charge UEFI et, par extension, les disques GPT.

Ouvrez un terminal, vous devrez trouver quel appareil est votre clé USB. Si vous avez monté le lecteur, vous pouvez trouver le nom de l'appareil en tapant "mount" et en regardant son entrée. Quelque chose comme ceci:

/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)

Dans ce cas, la première partie de/dev/sdb est montée dans/media/USBDISK. Ouvrez un shell racine et démontez le lecteur.

umount /dev/sdb1

Accédez au répertoire où votre ISO est stocké dans un shell racine et tapez ce qui suit: (Remplacez windows7.iso par quel que soit le nom de l'iso et/dev/sdb avec l'ID de périphérique de votre clé USB).

dd if=windows7.iso of=/dev/sdb

Si votre carte mère prend en charge le démarrage à partir d'une clé USB, elle devrait pouvoir démarrer. Cela permettra au programme d'installation sur la clé USB et non au système d'exploitation lui-même.

13
TrueDuality

La suggestion de PCambell est bonne mais vous voudrez également effacer le MBR, l'équivalent linux est ci-dessous

J'ai essayé cela et cela a fonctionné (je ne sais pas pourquoi la méthode dd a échoué mais il semble que la partition devait être ntfs?):

  • déterminer quel/dev/périphérique est votre lecteur flash USB et le démonter
  • effacer le MBR: dd if =/dev/zero of =/dev/device bs = 446 count = 1
  • exécutez fdisk/dev/device
  • supprimer toutes les partitions et créer 1 partition principale, la rendre amorçable puis enregistrer les modifications
  • exécutez mkfs.ntfs/dev/device1 (partition 1)
  • copier l'intégralité du contenu de l'iso d'installation de Windows sur la partition que vous avez créée
5
Raymond