Was sind die Ärgernisse beim Erstellen eines bootfähigen Windows 7-USB-Laufwerks von Linux mit ms-sys oder dd?

Ich habe einige Webseiten und Beiträge (hier und in anderen Foren) darüber gelesen, wie man ein Windows 7-Installations-USB-Medium von Linux erstellt (um Windows 7 zu installieren)

Ich fragte in TechNet danach, und ich bekam eine Antwort mit allgemeinen Informationen darüber, wie es geht:

"ich persönlich bin nicht sehr vertraut mit linux, aber grundsätzlich alles, was Sie brauchen tun... in welcher Weise Sie es tun, ist folgendes:

  1. Formatieren Sie einen USB-Flash Laufwerk, entweder fat32 oder ntfs erstellen Sie eine Partition, die groß genug, um die Fenster zu hosten installation (geben oder nehmen 3GB für 64-bit, aroudn 2,5 gb für die 32-bit) und markieren Sie diese Partition als aktiv / bootfähig. Da dies sein kann fertig mit Windows, aber genauso gut mit einem tool wie gparted, sollten Sie in Debian dasselbe tun können.

  2. Sobald Sie diese Partition erstellt haben, mounten Sie die heruntergeladene ISO und kopieren Sie alle Dateien ab dem Stammverzeichnis, in die wurzel des USB-Flash-Laufwerks.

Das ist alles, was es gibt."

Ich habe an verschiedenen Stellen eine andere Methode gefunden, die fast die gleiche ist, die bei TechNet erwähnt wurde. Es scheint jedoch ein fehlender Schritt in dieser Methode zu geben und/oder ein Schritt, von dem ich nicht sicher bin, ob er erforderlich ist.

dd funktioniert nicht immer. Grundsätzlich bestand der fehlende Schritt darin, einen richtigen Bootsektor auf den USB-Stick zu schreiben, was unter Linux mit ms-sys möglich ist. Dies funktioniert mit der retail-version von Windows 7.

Hier ist der vollständige Überblick, siehe Serverfault-Frage für weitere Details:

  1. Installation ms-sys.
  2. Überprüfen Sie, welches Gerät Ihrem USB-Medium zugewiesen ist (fdisk -l) hier nehmen wir an, dass es /dev/sdb ist.
  3. Löschen Sie alle Partitionen, erstellen Sie eine neue, die den gesamten Speicherplatz belegt, setzen Sie den Typ auf NTFS und setzen Sie ihn bootfähig:

    cfdisk /dev/sdb

  4. NTFS-Dateisystem erstellen:

    mkfs.ntfs -f /dev/sdb1

  5. Mount iso-und usb-Medien:

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

  6. Alle Dateien kopieren:

    # cp -r /mnt/iso/* /mnt/usb/

  7. Schreiben Sie Windows 7 MBR auf USB-Stick:

    # ms-sys -7 /dev/sdb

  8. Stellen Sie sicher, dass der Schreibvorgang abgespült wird (seien Sie geduldig, es kann einige Minuten dauern):

    # sync

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

...und du bist fertig.

Fragen

  • Sollte der USB nicht funktionieren, ohne den letzten Schritt # ms-sys -7 /dev/sdb zu machen ? Oder ist es das USB bootfähig zu machen? Ist es nur, um die Partition als bootfähig zu markieren?

  • Wäre es nicht besser, rsync anstelle von cp -r zu verwenden ?

  • Müssen all diese Schritte als root ausgeführt werden? Wenn nicht, muss ich chmod alle Dateien in 664 und chown alle Verzeichnisse, die zum Mounten des USB verwendet werden Gerät und das ISO-image? Ich nehme an, dass es einfach einfacher ist, die Daten als root zu kopieren und die Daten nicht zu beeinflussen.

  • Hat jemand diese Methode oder ähnliches versucht, wie das Kopieren der ISO mit dd ?

Author: baobab33, 2011-03-13

2 answers

Der Befehl ms-sys ist wichtig. Mit der Option -7 erstellt es einen Windows 7-kompatiblen Bootsektor auf Ihrem Flash-Laufwerk.

Sie können dd nicht verwenden, da ISO ein ISO-Dateisystem wie UDF oder ISO9660 verwendet, wobei-da Ihr USB-Laufwerk nur Festplatten-Dateisysteme wie ext3, FAT32 oder NTFS

Wäre es besser, rsync anstelle von cp-r zu verwenden ?

Nicht wirklich. cp -r funktioniert einwandfrei. Nur erkennen, dass NTFS behandelt Berechtigungen anders als Linux, sodass die Verwendung von rsync, um alles intakt zu halten, keine große Rolle spielt. Alles, was wirklich wichtig ist, ist, dass die Dateien von der ISO auf dem USB sind und dass der Bootsektor korrekt formatiert ist mit ms-sys -7

Sie können alle Schritte als root ausführen, wenn Sie möchten. Die einzigen 2 Schritte, die wirklich root erfordern, sind mkfs und die 2 mount's

Wenn Sie Berechtigungsprobleme auch als root haben, müssen Sie Ihren USB möglicherweise mit ntfs-3g /dev/sdb1 als mounten einige Linux-Distributionen liefern nur einen schreibgeschützten Treiber für NTFS.

 1
Author: Someguy123,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-11-01 23:09:00

Ich habe es mit dd (dd if=/file/win7 versucht.iso von= / dev / sdb), und es funktioniert nicht.

Meine Schritte, damit es funktioniert:

  • ms-sys installieren
  • gparted Partition erstellen und NTFS-Dateisystem erstellen.

Wenden Sie anschließend folgende Befehle an:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
 1
Author: Nacheteee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-09-23 15:29:38