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


J'ai:

  • Image ISO du support d'installation de Windows 7
  • Clé USB 4 Go
  • pas de lecteur de DVD
  • Linux installé

102
2018-05-09 22:50


origine


Si vous pouviez réussir à tout faire ces tâches depuis votre bureau linux, vous allez faire bouger les choses. Je pense que la partie la plus difficile serait de manipuler toutes les opérations effectuées par Windows Diskpart. Rendre la partition marquée comme 'active' et 'boot', 'primaire', etc. - p.campbell
Je pense que GParted (gparted.sourceforge.net) peut très bien gérer tous les drapeaux de partition. Voir par exemple gparted.sourceforge.net/screenshots.php . Et je n'ai pas testé, mais il semble que rsync puisse remplacer robocopy dans cette liste de contrôle. - Matthew Flaschen
Il existe de nombreuses réponses détaillées à la même question sur askubuntu.com/q/289559/135671 - erik


Réponses:


OK, après avoir essayé sans succès toutes les méthodes mentionnées ici, je l’ai enfin fait fonctionner. En gros, 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 - si ce n’est pas dans vos dépôts, récupérez-le ici. Ou bien, assurez-vous que lilo est installé (mais ne pas lancez l’étape liloconfig sur votre ordinateur local si, par exemple, Grub est installé là!)

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

# cfdisk /dev/sdb  ou  fdisk /dev/sdb  (cloison type 7, et amorçable drapeau)

Créez un système de fichiers NTFS:

# mkfs.ntfs -f /dev/sdb1

Écrire 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 nouvelles installations d'Ubuntu) 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

Monter les supports ISO et USB:

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

Copier tous les fichiers:

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

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

Ouvrez gparted, sélectionnez le lecteur USB, cliquez avec le bouton droit sur le système de fichiers, puis cliquez sur "Gérer les indicateurs". Cochez la case d'amorçage, puis fermez.

...et tu as fini.

Après tout cela, vous voudrez probablement sauvegarder votre support USB pour de futures 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 copiés. Alors à la place je propose

# 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 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 très attentivement les noms des appareils lorsque vous travaillez avec dd.

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

Inverse si / de la prochaine fois que vous voulez mettre le programme d’installation de Windows 7 sur USB.


179
2017-08-04 15:38



Il serait bon de mentionner le type de partition numérique à utiliser également dans cfdisk (7, 86, 87?) - Johan Dahlin
Cela a fonctionné avec le type 7 - Ropez
Juste une remarque: si votre système de fichiers ntfs génère des erreurs d’autorisations bizarres lorsque vous écrivez dessus même en tant que root, assurez-vous d’avoir installé ntfs-3g. - Jeremy Salwen
J'ai essayé ceci directement sur un disque dur, et j'ai eu l'erreur "Windows ne peut pas accéder aux sources d'installation" une fois que j'ai démarré à partir de celui-ci. - Jeremy Salwen
appel sync après la copie pour vous assurer que tous les fichiers sont écrits - Nicolas Dusart


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

Ouvrez un terminal, votre besoin de trouver quel périphérique est votre clé USB. Si vous avez le lecteur monté, vous pouvez trouver le nom du périphérique en tapant "mount" et en regardant son entrée. Quelque chose comme ce qui suit:

/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 sur / media / USBDISK. Ouvrez un shell root et démontez le lecteur.

umount /dev/sdb1

Accédez au répertoire dans lequel votre image ISO est stockée dans un shell racine et entrez les informations suivantes: (Remplacez windows7.iso par le nom de l'iso et / dev / sdb par l'identifiant 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 depuis une clé USB, il devrait pouvoir le démarrer. Cela fera que l'installateur sur la clé USB, pas le système d'exploitation lui-même.


13
2018-05-11 14:28



Ca ne marche pas pour moi
Votre carte mère prend-elle en charge le démarrage à partir de l’USB? Ce sera le facteur décisif ultime pour savoir si cette approche fonctionnera ou non. - TrueDuality
Cela ne fonctionne pas pour moi non plus et ma machine supporte très bien le démarrage par USB. Cette approche peut peut-être fonctionner sur des machines pouvant démarrer un stockage USB de style DVD, mais la plupart des BIOS supposent une présentation de type disque dur sur USB (ce qui signifie un MBR de 512 octets avec du code de démarrage). Une chose qui mérite d’être mentionnée: les images de CD / DVD de Fedora, contrairement à W7, ont effectivement un tel MBR avec code de démarrage et table de partition, ce qui les rend également compatibles avec le démarrage sur disque dur / USB. - Tronic
Cela nécessite que votre carte mère soit capable de démarrer un CD-ROM USB, pas seulement un disque dur USB. - TrueDuality
L'étape d'installation de MBR est absente de cette solution et ne fonctionnera généralement pas si elle n'y est déjà pas comme par magie. La solution de @Gunthers est complète. - stolsvik


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 suis pas sûr de savoir pourquoi la méthode dd a échoué mais il semble que la partition devait être ntfs?):

  • déterminer quel périphérique / dev / device correspond à votre lecteur flash USB et le démonter
  • effacez le MBR: dd if = / dev / zero of = / dev / device bs = 446 count = 1
  • lancer fdisk / dev / device
  • supprimez toutes les partitions et créez une partition principale, rendez-la amorçable, puis enregistrez les modifications
  • lancez mkfs.ntfs / dev / device1 (partition 1)
  • copier l'intégralité du contenu de l'installation iso de Windows sur la partition que vous avez créée

5
2018-03-27 08:24





Au lieu de

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

vous écrivez comme root,

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

(AJOUTEZ 1 à la fin ou quel que soit votre lecteur USB.)


-4
2017-12-22 18:20



Non, le of = sdb est correct selon les réponses précédentes. - James Broadhead
Ceci est tout simplement faux. - lukad
-1: dd doit écrire sur les périphériques, pas sur les partitions - ssc