Irgendwann kann auch ein zufriedener Linux-Anwender in die Verlegenheit kommen, einen funktionierenden Installations-USB-Stick für Windows 10 erstellen zu müssen. Man sollte annehmen, dass das kein Problem sein sollte; aber schnell zeigt sich, dass die bewährten Methoden nicht funktionieren.

Man kann bei Microsoft ohne Weiteres eine ISO-Datei für Windows 10 Installationsmedien herunterladen. Diese ist aber mittlerweile so groß, dass sie sogar bei DVD-R-Medien Platzprobleme bekommt. Ein USB-Stick mit 8 GB wäre groß genug, aber weder mit dem aktuellen Unetbootin-Programm noch per dd-Befehl an der Befehlszeile entsteht etwas Sinnvolles.

Mountet man die ISO-Datei, findet man dort nur ein Verzeichnis namens „.“ (also quasi „Aktuelles Verzeichnis“) und eine Readme-Datei mit nicht erkennbarem Inhalt.

Das Wiki auf ubuntuusers.de hat eine Lösung, die aber darauf basiert, eine vorhandene aktuelle Version von unetbootin zu deinstallieren, da nur eine ältere Version es schafft, ein gültiges Bootmedium zu erstellen. Das kommt für mich aus Prinzip nicht in Frage.

Ein weiterer Lösungsansatz liegt in einem Programm namens WoeUSB. Es handelt sich um einen Fork eines Programms namens WinUSB. Woe, also seelischer Schmerz, bezeichnet ganz gut das, was ich bei dieser ganzen Prozedur empfinde. 😉

WoeUSB besteht aus zwei auf GitHub verfügbaren Programmteilen, dem eigentlichen Befehlszeilen-Werkzeug woeusb und einer grafischen Oberfläche woeusbgui. Das Programm soll ISOs aller relevanten Windows-Versionen verarbeiten können.

Das auf GitHub verfügbare Ubuntu-Paket ließ sich zwar installieren, aber die grafische Oberfläche woeusbgui ließ sich in keiner Weise dazu bewegen, den 8 GB Stick, den ich dafür vorgesehen hatte, zu bespielen.

Ist der USB-Stick gemountet, unterbricht woeusbgui nach Eingabe des Benutzerpassworts den Installationsvorgang mit einer entsprechenden Fehlermeldung. Der Stick darf nicht gemountet sein. Im Grunde benötigt er nicht mal eine vorhandene Partitionierung. Aber auch bei einem nicht gemounteten Stick folgt eine Fehlermeldung:

Fehlermeldung bei der Erstellung eines Windows 10-Bootsticks
(Ubuntu 18.04)

Die Ursache für das Problem ist verständlich: das Image hat deutlich über 4 GB Größe und kann daher nicht mit dem Dateisystem FAT 32 verarbeitet werden. Das grafische Programm bietet aber in der aktuellen Version keine Einstellung des Zieldateisystems an und setzt FAT 32 standardmäßig – dadurch wird es für unseren Zweck unbrauchbar.


Update-Hinweis 20.04.2019:
Mittlerweile ist eine neue Version 3.3.0 von woeusb / woeusbgui erschienen. Die grafische Oberfläche hat nun einen Wahlschalter für den Dateisystem-Parameter, der sich auf ntfs stellen lässt. Diese Version ist allerdings zurzeit noch nicht in den Repositorien der gängigen Distributionen enthalten, sondern muss ggfs. aus den Quellen kompiliert werden.

Zum Ziel kommt man jedoch, wenn man das Befehlszeilentool direkt verwendet. Letztendlich ist die grafische Oberfläche wie so oft nichts anderes als ein Dialog in einem Fenster, der die Parameter abfragt, die für die Befehlszeile notwendig sind, und dann wird der ganz normale Befehl im Hintergrund unsichtbar abgearbeitet.

sudo woeusb -d Win10_1809Oct_German_x64.iso /dev/sdb --tgt-fs ntfs

Diese Befehlszeile, ausgeführt in dem Verzeichnis, in dem die heruntergeladene ISO-Datei liegt, erstellt auf dem USB-Stick eine funktionierende Installationsumgebung für Windows 10. Im einzelnen:

  • Die grafische Oberfläche verlangt vor Aufnahme der Arbeit das Passwort des Benutzers, also benötigt der Befehl administrative Rechte. Deshalb wird dem gesamten Befehl „sudo“ vorangestellt, nach Eingabe des Befehls wird zunächst das Benutzerpasswort abgefragt.
  • woeusb ist der eigentliche Befehl, auf den dessen Parameter folgen.
  • -d ist ein Parameter, der den Namen der heruntergeladenen Windows-ISO-Datei angibt. Der hier angegebene Name muss natürlich durch die Bezeichnung der tatsächlich heruntergeladenen Datei (endet auf .iso) ersetzt werden.
  • /dev/sdb ist in meinem Fall das Ziel, der USB-Stick. Achtung: es wird keine Partitionsnummer angegeben, Ziel ist das Gerät, nicht eine Partition darauf. Des weiteren muss die Angabe an die tatsächlichen Gegebenheiten angepasst werden, der Stick kann auch durch eine andere Gerätedatei repräsentiert werden: /dev/sdc z.B. Das Befehlszeilenfenster oben zeigt aber die richtige Datei an.
  • Der Parameter –tgt-fs ntfs schließlich gibt die Information an, die der grafischen Oberfläche fehlt: das Ziel-Dateisystem (target file system) soll das von Windows 10 bevorzugte ntfs sein. Dieses ist in der Lage, mit Dateien größer als 4 GB umzugehen.

Dieser Befehl erstellt dann tatsächlich einen bootfähigen Installations-Stick mit Windows 10 darauf. Natürlich ist im Anschluss eine gültige Lizenz zu erwerben, damit aus dem installierten Windows eine aktivierte Vollversion werden kann.


45 Kommentare

    1. Es gibt auch einen anderen weg. Den Stick normal anschliessen (wird gemounted) und dann per Kommandozeilenbefehl umount wieder rausschmeissen. Aus irgendeinem Grund wird beim unmounten per Dateimanager die komplette Verbindung zum Stick getrennt statt nur die Partition zu trennen.

      Sebastian
  1. Danke für die Antwort.

    Jedoch…
    Der Stick ist mittels gparted frisch mit FAT32 partitioniert.
    wipefs direkt von der Kommandozeile funktioniert mit gemountetem Stick.

    Werde noch weiter forschen müssen.

    Gruss,
    Stefan Block

    Stefan Block
    1. Wozu mit FAT 32 partitionieren, wenn dieses Dateisystem ohnehin ungeeignet ist? Da der Stick als sdb angesprochen wird, muss da gar keine Partition vorliegen. Dann wird durch woeusb eine ntfs-Partition angelegt. Ich würde auf die grafische Oberfläche verzichten und die Befehlszeile wie oben angegeben benutzen.

  2. Hallo Robin Pfeifer,

    bei dem Versuch, unter openSUSE Tumbleweed mit WoeUSB einen Windows10-Installationsstick zu erstellen erhalte ich:

    Mounting source filesystem…
    Wiping all existing partition table and filesystem signatures in /dev/sdb…
    wipefs: Fehler: /dev/sdb: Initialisierung der Suche ist gescheitert: Kein Medium gefunden
    The command „wipefs –all „${target_device}““ failed with exit status „1“, program is prematurely aborted
    Unmounting and removing „/media/woeusb_source_1568269346_3551″…
    You may now safely detach the target device

    wipefs erwartet einen gemounteten Stick, während er für WoeUSB unmounted sein muss. Was ist denn da los?

    Mfg.
    Stefan Block

    Stefan Block
    1. Ich bin nicht der Entwickler von woeusb, daher kann ich dazu nichts sagen. Ich habe selbst erst kürzlich wieder einen Stick mit woeusb erstellt, was gut funktioniert hat. Allerdings habe ich den Stick vorher selbst per gparted von Altlasten befreit.

      Allerdings wird da ja auch keine gemountete Partition sdbx bemängelt, sondern ein fehlendes Gerät sdb.

  3. Hallo Robin Pfeifer,

    habe da mit der Kommandozeilenversion nach deiner Anleitung durchgeführt und nach Bereinigung weniger Vertipper geklappt.
    Leider erhält man da einen EFI-Stick, den ich nicht gebrauchen kann. Mein Zielgerät ist noch mit BIOS ausgestattet und erkennt trotz der entsprechenden Änderung der Bootparameter den Stick nicht.
    Gibt es da eine Möglichkeit dies zu ändern?
    Google hat da keine Antwort.
    Herzlichen Dank für die anderen und zukünftigen Tipps!

    Wolfgang Rorh
  4. Hi,

    vielen Dank für die tolle Anleitung. Hat bei mir mit einem Windows 10 Image und unter dem Linux einer Synology Diskstation super funktioniert. Ich musste lediglich alle Dependencies (außer wxWidgets) installieren und teilweise manuell kompilieren, damit ich WoeUSB headless zum Laufen bekommen habe. Aber dann war das beschrieben Prozedere auf Anhieb durchführbar.

    Beste Grüße,
    Andi

    Andreas Stahlhofen
  5. Hallo Robin Pfeifer,

    hier klappt es leider nicht:

    /dev/sdd: 2 Bytes wurden an Position 0x000001fe gelöscht (dos): 55 aa
    /dev/sdd: ioctl wird aufgerufen, um die Partitionstabelle neu einzulesen: Erfolg
    Ensure that /dev/sdd is really wiped…
    Creating new partition table on /dev/sdd…
    Creating target partition…
    Making system realize that partition table has changed…
    Wait 3 seconds for block device nodes to populate…
    Cluster size has been automatically set to 4096 bytes.
    Creating NTFS volume structures.
    mkntfs completed successfully. Have a nice day.
    Mounting target filesystem…
    Fatal: mount_target_filesystem: Unsupported target_fs_type, please report bug.
    Unmounting and removing „/media/woeusb_source_1555700050_26191″…
    Unmounting and removing „/media/woeusb_target_1555700050_26191″…
    umount: /media/woeusb_target_1555700050_26191: nicht eingehängt.
    cleanup_mountpoint: Warning: Unable to unmount „/media/woeusb_target_1555700050_26191“.
    Some mountpoints are not unmount/cleaned successfully and must be done manually
    You may now safely detach the target device

    Was passiert da? Versucht das psychische Leiden, nach dem erfolgreichen Erstellen der NTFS-Partition, anschließend trotzdem auf eine FAT32 zuzugreifen?

    Schöne Grüße
    Sed

    Sed Chedmeringa
    1. Nachtrag: Mit –tgt-fs NTFS in Großbuchstaben hat es jetzt geklappt. woeusb hat etwa 2 Stunden an einem USB 2.0 Anschluss für die Installation auf einen 32 GB Stick benötigt. Eine Stunde davon wurde durch die Installation eines Legacy Grub verschwendet, den ich gar nicht gebraucht hätte.

      Ich bin gespannt ob damit wenigstens gebootet werden kann.

      Vielen Dank übrigens für die vielen hilfreichen Artikel, die Sie schreiben!

      Sed Chedmeringa
  6. Do. 21.Feb.2019

    Hallo Robin Pfeifer

    Besten Danke für deine Mühe – ( zur seelischen Schmerzbewältigung).

    Bei mir – in einer Arch-Linux-Umgebung – hat dein Ansatz funktionier.

    Schaut man auf die Entwickleseite bei GitHub (https://github.com/slacka/WoeUSB),
    so ist leicht zu erkennen, dass das Programm WoeUsb anscheinend kaum noch gepflegt und fortentwickelt wird. Die aktuellste Aenderung am Sourcecode vor zwei Monaten wird auch als „Cosmetic fixes“ deklariert.

    Insofern macht dein Beitrag die Linux-Community auf einen Wartungsstau bei WoeUSB aufmerksam. Eventuell sucht – oder braucht – der Nachfolger von WinUSB
    selbst einen Nachfolger. Zumal dein Lösungsansatz zeigt, dass der notwendige Eingriff in den Source relativ gering sein dürfte. Statt der recht kryptischen Fehlermeldung muss eigentlich nur eine Infobox angezeigt werden, mit dem Hinweis:
    “ … benutze als target-filesystem ntfs statt FAT32 “
    Der Wechsel des Filesystems dürfte dann auch kein Aufwand sein.

    Aber anscheinend benutzt und testet der Programmierer sein eigenes Programm schon seit Jahren nicht mehr ausreichend. Insofern handelt es sich um einen Fall von mangelnder Qualitätssicherung im Linuxumfeld..

    Mfg
    Erhard

    Erhard
    1. Allzu oft will man ja vermutlich keinen Win 10 Bootstick erstellen, wenn man Linux hat. 😉 Ist schon äußerst peinlich, dass MS auch hier wieder ein idiotisches Sondersüppchen kocht, das man nicht einfach mit dd kopieren kann.

      Man sollte aber auch bedenken, dass das Problem nicht bei woeusb liegt, sondern bei woeusbgui, also nur dem „grafischen Wrapper“. Dieser nutzt einfach nur nicht alle Optionen von woeusb als solche, sondern setzt dummerweise das ungeeignete FAT32 fix. Wenn man keine Angst vor der Befehlszeile hat, bleibt woeusb ein nutzbares und aktuelles Werkzeug.

      1. Oh … doch! ich zocke unter windows, für was anderes ist das ja eh nicht mehr zu gebrauchen.
        Für alles andere stehen hier nur Linux Kisten rum, 1 X dualboot Win/Manjaro, 3x *buntus.
        w10 ist mir in den letzten Jahren 3x gestorben. win7 war so wunderbar stabil!
        So, jetzt erstell maln Bootstick wenn du’s grad unter Windows vergessen hast, stick nicht wiederfindest, die letzte DVD zu alt ist oder zerkratzt *hust
        Ich hab ja auch gedacht, dd und feddich,..ja genau! Affenzirkus!
        also schon sehr hilfreich dein artikel! 😉

        Andreas
  7. „das Image hat deutlich über 4 GB Größe und kann daher nicht mit dem Dateisystem FAT 32 verarbeitet werden. Das grafische Programm bietet aber in der aktuellen Version keine Einstellung des Zieldateisystems an und setzt FAT 32 standardmäßig – dadurch wird es für unseren Zweck unbrauchbar.“

    Sie können mit einer kostenlosen Partitionssoftware das Dateisystem von FAT32 in NTFS ohne Datenverlust konvertieren, wenn die Datei zu groß für das Zieldateisystem

    Wolfgangung....111
    1. Vermutlich ist das nur ein manueller Versuch, den (mittlerweile entfernten) Link aus SEO-Gründen in den Kommentar einzubetten, aber ich antworte trotzdem mal.

      Der Kommentar verfehlt das Thema völlig. Es geht ja darum, dass eine ISO-Datei von einem Programm auf einen Stick gespielt werden soll (nicht einfach kopiert, sondern inhaltlich übertragen, was normalerweise eine Vielzahl deutlich kleinerer Dateien bedeutet). Ein kostenloses Partitionsprogramm hat Linux von Natur aus, (g)parted, aber damit kann man hier nichts nützliches erreichen. Schlicht deshalb, weil das Programm woeusbgui davon ausgeht, dass der Zielstick in FAT32 formatiert ist (was meist auch stimmt), dann aber die Größe der ISO-Datei als Grundlage der Platzmessung annimmt.

      Das verlinkte Partitionsprogramm ist ein Windows-Programm, damit ist es ebenfalls am Thema vorbei, denn es geht ja darum, das Ziel unter Linux zu erreichen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert