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

9

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

Ich habe in TechNet danach gefragt und eine Antwort mit allgemeinen Informationen dazu erhalten:

"Ich persönlich bin mit Linux nicht sehr vertraut, aber im Grunde ist alles, was Sie tun müssen ... auf welche Weise auch immer Sie es tun, Folgendes:

  1. Formatieren Sie ein USB-Flash-Laufwerk. Entweder fat32 oder ntfs erstellen eine Partition, die groß genug ist, um die Windows-Installation zu hosten (geben oder nehmen Sie 3 GB für 64 Bit, ca. 2,5 GB für 32 Bit), und markieren Sie diese Partition als aktiv / bootfähig. Da dies mit Windows möglich ist, aber genauso gut mit einem Tool wie gparted, sollten Sie in der Lage sein, dasselbe in debian zu tun.

  2. Nachdem Sie diese Partition erstellt haben, hängen Sie die heruntergeladene ISO-Datei ein und kopieren Sie alle Dateien ab dem Stammverzeichnis in das Stammverzeichnis des USB-Flash-Laufwerks.

Das ist alles was dazu gehört. "

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

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

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

  1. Installieren Sie ms-sys .
  2. Überprüfen Sie hier, welchem ​​Gerät Ihr USB-Medium zugewiesen ist ( fdisk -l). Wir gehen davon aus, dass dies der Fall ist /dev/sdb.
  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. Über alle Dateien kopieren:

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

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

    # ms-sys -7 /dev/sdb

  8. Stellen Sie sicher, dass der Schreibvorgang geleert ist (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 klicken Sie dann auf "Flags verwalten". Aktivieren Sie das Kontrollkästchen "Booten" und schließen Sie es

...und du bist fertig.

Fragen

  • Sollte der USB nicht funktionieren, ohne den letzten Schritt zu tun # ms-sys -7 /dev/sdb? Oder soll der USB bootfähig gemacht werden? Markiert es nur die Partition als bootfähig?

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

  • Müssen all diese Schritte als ausgeführt werden root? Wenn nicht, muss ich chmodalle Dateien in 664und chownalle Verzeichnisse speichern, die zum Mounten des USB-Geräts und des ISO-Images verwendet werden? Ich nehme an, dass es einfacher ist, die Daten als zu kopieren root, ohne dass dies Auswirkungen auf die Daten hat.

  • Hat jemand diese oder eine ähnliche Methode wie das Kopieren der ISO ausprobiert dd?

Abel Coto
quelle
Früher habe ich mit einer Iso dd wenn auch nicht für Windows 7. Sie können überprüfen , ob diese Werke sehen: superuser.com/questions/591234/...
xsdf

Antworten:

1

Der ms-sysBefehl ist wichtig. Mit dieser -7Option wird ein Windows 7-kompatibler Bootsektor auf Ihrem Flash-Laufwerk erstellt.

Sie können dd nicht verwenden, da ISO- Dateien ein ISO-Dateisystem wie UDF oder ISO9660 verwenden , da Ihr USB-Laufwerk nur Festplattendateisysteme wie ext3, FAT32 oder NTFS ordnungsgemäß unterstützt

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

Nicht wirklich. cp -rfunktioniert einwandfrei. Beachten Sie nur, dass NTFS Berechtigungen anders als Linux behandelt. Die Verwendung von rsync, um alles intakt zu halten, spielt also keine große Rolle. Alles, was wirklich zählt, ist, dass sich die Dateien von der ISO auf dem USB befinden und dass der Bootsektor mit korrekt formatiert istms-sys -7

Sie können alle Schritte als root ausführen, wenn Sie möchten. Die nur zwei Schritte , die wirklich Wurzel erfordern sind mkfsund die 2 mount‚s

Wenn Sie auch als Root Probleme mit Berechtigungen haben, müssen Sie Ihren USB-Stick möglicherweise mithilfe von installieren, ntfs-3g /dev/sdb1da einige Linux-Distributionen nur einen schreibgeschützten Treiber für NTFS bereitstellen.

Someguy123
quelle
1

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

Meine Schritte, damit es funktioniert:

  • Installieren Sie ms-sys
  • gparted, um eine Partition und ein NTFS-Dateisystem zu erstellen.

Wenden Sie anschließend die folgenden 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*
Nacheteee
quelle