Frage Wie Windows 7 USB-Flash-Medien von Linux zu installieren?


Ich habe:

  • ISO-Abbild von Windows 7 installieren Medien
  • 4 GB USB-Flash-Laufwerk
  • kein DVD-Laufwerk
  • Linux installiert

102
2018-05-09 22:50


Ursprung


Wenn Sie es schaffen würden, alles zu tun diese Aufgaben Von Ihrem Linux Desktop aus werden Sie das Haus rocken. Ich denke, der härteste Teil wäre es, mit all den Operationen, die Windows Diskpart macht, zu spielen. Die Partition als 'Aktiv' und 'Boot', 'Primär' usw. markieren - p.campbell
Ich denke GParted (gparted.sourceforge.net) kann alle Partition Flags gut behandeln. Siehe z.B. gparted.sourceforge.net/screenshots.php . Und ich habe nicht getestet, aber es sieht so aus, als ob rsync Robocopy in dieser Checkliste ersetzen könnte. - Matthew Flaschen
Es gibt viele detaillierte Antworten auf die gleiche Frage askubuntu.com/q/289559/135671 - erik


Antworten:


OK, nachdem ich alle hier genannten Methoden erfolglos ausprobiert habe, habe ich es endlich funktioniert. Im Grunde bestand der fehlende Schritt darin, einen richtigen Boot-Sektor auf den USB-Stick zu schreiben, was von Linux mit gemacht werden kann ms-sys oder lilo -M. Dies funktioniert mit der Windows 7-Verkaufsversion.

Hier ist nochmal der komplette Ablauf:

Installiere ms-sys - wenn es nicht in deinen Repositories ist, hol es dir Hier. Oder stellen Sie alternativ sicher, dass lilo installiert ist (aber unterlassen Sie Führen Sie den Schritt liloconfig auf Ihrer lokalen Box aus, wenn z. Grub ist dort installiert!)

Überprüfen Sie, welchem ​​Gerät Ihr USB-Medium zugewiesen ist - hier nehmen wir an, dass es ist /dev/sdb. Löschen Sie alle Partitionen, erstellen Sie eine neue, nehmen Sie den gesamten Speicherplatz ein, stellen Sie den Typ auf NTFS (7) ein und vergessen Sie nicht, ihn bootfähig zu setzen:

# cfdisk /dev/sdb  oder  fdisk /dev/sdb  (Trennwand Typ 7, und bootfähig Flagge)

Erstellen Sie ein NTFS-Dateisystem:

# mkfs.ntfs -f /dev/sdb1

Schreibe Windows 7 MBR auf dem USB-Stick (funktioniert auch für Windows 8), mehrere Optionen hier:

  1. # ms-sys -7 /dev/sdb
  2. oder (z. B. bei neueren Ubuntu-Installationen) sudo lilo -M /dev/sdb mbr (Info)
  3. oder (wenn syslinux installiert ist), können Sie ausführen sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb

Mount ISO- und USB-Medien:

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

Über alle Dateien kopieren:

# cp -r /mnt/iso/* /mnt/usb/   ... oder verwenden Sie den Standard-GUI-Dateibrowser Ihres Systems

Anruf sync um sicherzustellen, dass alle Dateien geschrieben sind.

Öffnen Sie gparted, wählen Sie das USB-Laufwerk, klicken Sie mit der rechten Maustaste auf das Dateisystem und klicken Sie dann auf "Flags verwalten". Aktivieren Sie das Kontrollkästchen Start und schließen Sie es.

...und du bist fertig.

Nach alldem möchten Sie wahrscheinlich Ihre USB-Medien für weitere Installationen sichern und die ISO-Datei loswerden ... Verwenden Sie einfach dd: # dd if=/dev/sdb of=win7.img

Hinweis, das kopiert das ganze Gerät! - Das ist normalerweise (viel) größer als die Dateien, die auf es kopiert werden. Also schlage ich stattdessen vor

# 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

Also zum Beispiel mit 8 M extra Bytes:

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

Wie immer, überprüfen Sie die Gerätenamen beim Arbeiten sehr sorgfältig dd.

Die oben beschriebene Methode zum Erstellen eines bootfähigen USB funktioniert auch mit dem Win10 Installer iso. Ich habe es versucht Ubuntu 16.04 unter Win10_1703_SingleLang_English_x64.iso (Größe 4,241,291,264 Bytes) auf einen 8 GB USB-Stick - in nicht-UEFI [nicht sicheren] Boot nur zu kopieren. Nach der Ausführung meldet dd:         8300156 + 0 Datensätze in         8300156 + 0 zeichnet auf         4249679872 Bytes (4,2 GB, 4,0 GiB) kopiert, 412,807 s, 10,3 MB / s

Umgekehrt, wenn Sie das Windows 7-Installationsprogramm das nächste Mal auf USB stellen möchten.


179
2017-08-04 15:38



Wäre es schön, den numerischen Partitionstyp zu nennen, der auch in cfdisk verwendet werden soll (7, 86, 87?) - Johan Dahlin
Es funktionierte mit Typ 7 - Ropez
Nur ein Hinweis: Wenn Ihr NTFS-Dateisystem seltsame Berechtigungsfehler gibt, wenn Sie selbst als root darauf schreiben, vergewissern Sie sich, dass Sie ntfs-3g installiert haben. - Jeremy Salwen
Ich habe das direkt auf eine Festplatte ausprobiert, und ich bekam den Fehler "Windows kann nicht auf die Installationsquellen zugreifen", nachdem ich von dort hochgefahren bin. - Jeremy Salwen
Anruf sync nach der Kopie, um sicherzustellen, dass alle Dateien geschrieben sind - Nicolas Dusart


Sie können dies mit dd erreichen, wenn Ihr PC UEFI und GPT-Laufwerke unterstützt.

Öffnen Sie ein Terminal, Sie müssen herausfinden, welches Gerät Ihr Pendrive ist. Wenn Sie das Laufwerk gemountet haben, können Sie den Namen des Geräts finden, indem Sie "mount" eingeben und auf seinen Eintrag schauen. Etwas wie das Folgende:

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

In diesem Fall befindet sich der erste Teil von / dev / sdb unter / media / USBDISK. Öffnen Sie eine Root-Shell und hängen Sie das Laufwerk aus.

umount /dev/sdb1

Gehen Sie zu dem Verzeichnis, in dem Ihr ISO in einer Root-Shell gespeichert ist, und geben Sie Folgendes ein: (Ersetzen Sie windows7.iso durch das, was das iso heißt, und / dev / sdb mit der Geräte-ID Ihres USB-Sticks).

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

Wenn Ihr Motherboard das Booten von einem USB-Stick unterstützt, sollte es in der Lage sein, von diesem zu booten. Dies wird das Installationsprogramm auf dem USB-Stick nicht das Betriebssystem selbst erhalten.


13
2018-05-11 14:28



Funktioniert nicht für mich.
Unterstützt Ihr Motherboard das Booten von USB? Das wird der entscheidende Faktor dafür sein, ob dieser Ansatz funktioniert oder nicht. - TrueDuality
Funktioniert auch nicht für mich und mein Gerät unterstützt USB-Boot einfach gut. Vielleicht kann dieser Ansatz auf Rechnern funktionieren, die einen USB-Speicher im DVD-Stil booten können, aber die meisten BIOS gehen von einem HDD-ähnlichen Layout auf USB aus (das bedeutet 512 Byte MBR mit Boot-Code). Eine erwähnenswerte Sache: Fedora CD / DVD-Images haben im Gegensatz zu W7 tatsächlich einen solchen MBR mit Boot-Code und Partitionstabelle, wodurch sie auch für den HDD / USB-Boot geeignet sind. - Tronic
Dies erfordert, dass Ihr Motherboard in der Lage ist, USB-CD-ROM und nicht nur USB-HDD zu booten - TrueDuality
Diese Lösung fehlt der MBR-Installationsschritt und wird normalerweise nicht funktionieren, es sei denn, es ist magisch schon da. Die Lösung von @Guthers ist abgeschlossen. - stolsvik


PCambell's Vorschlag ist gut, aber Sie wollen auch den MBR löschen, das Linux-Äquivalent ist unten

Ich habe es versucht und es hat funktioniert (ich bin mir nicht sicher, warum die DD-Methode fehlgeschlagen ist, aber scheint, die Partition musste ntfs sein?):

  • Finde heraus, welches / dev / device dein USB-Stick ist und hänge es ab
  • Lösche den MBR: dd if = / dev / zero von = / dev / device bs = 446 count = 1
  • Führen Sie fdisk / dev / device aus
  • entferne alle Partitionen und erstelle eine primäre Partition, mache sie bootfähig und speichere die Änderungen
  • Führen Sie mkfs.ntfs / dev / device1 (Partition 1) aus.
  • Kopieren Sie den gesamten Inhalt der Windows-Installations-iso auf die von Ihnen erstellte Partition

5
2018-03-27 08:24





Anstatt

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

du schreibst als root,

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

(ADD 1 am Ende oder was auch immer dein USB-Laufwerk ist platziert.)


-4
2017-12-22 18:20



Nein, das von = sdb ist korrekt wie in den vorherigen Antworten. - James Broadhead
Das ist einfach falsch. - lukad
-1: dd muss auf Geräte schreiben, nicht auf Partitionen - ssc