Windows 10 Installation USB-Stick unter Linux erstellen (UEFI/neueres BIOS)

Aktualisiert zuletzt am 23.11.2019 für Windows 10 1909. Die letzte von mir selbst verifizierte Version ist 1903, bitte sagt in den Kommentaren bescheid, ob 1909 auch funktioniert.

Um unter Linux für Windows 10 einen USB-Stick zur Installation erstellen, muss man etwas mehr tun, es gibt keine vorgefertigten Tools. Hier eine Kurzanleitung für Moderne PCs mit UEFI:

Gebt mir bitte in den Kommentaren Feedback, ob es funktioniert!

Zuerst die NEUE Methode, ab Windows 10 1809. Danke an zilla für den Hinweis auf Wimsplit.

Die NTFS-Methode von George99 funktionierte bei mir nicht, falls ihr sie erfolgreich testet, gebt bitte Feedback.

/dev/sda im Folgenden durch euren USB-Stick ersetzen.

# Partitionierung
DEVICE=/dev/sda

# Partitionierung auf dem USB Stick löschen
dd if=/dev/zero of=$DEVICE bs=1M count=1

# Installation der nötigen Tools um die wim Dateien zu splitten, denn vfat 
# kann keine Dateien > 4GB behandeln
sudo apt-get install wimtools
# Partitionen einrichten
fdisk ${DEVICE}
n
p
1
ENTER
ENTER
t
c
a
w

# Formatierung, mounten des Laufwerks
mkfs.vfat ${DEVICE}1
mkdir /mnt/usb
mount ${DEVICE}1 /mnt/usb

# Kopieren der Daten
mkdir Win10
mount -o loop Win10_1909_German_x64.iso Win10
rsync -avP --exclude='sources/install.wim' Win10/ /mnt/usb/
wimsplit Win10/sources/install.wim /mnt/usb/sources/install.swm 2500
# Aushängen der Laufwerke
umount /mnt/usb
umount Win10

Nun einfach davon booten. Ins BIOS kommt ihr meist, wenn ihr sofort nach dem Einschalten eures PCs ESC, F1, F2, F8, F11 oder F12 drückt. Viel Erfolg!

Alternativ bitte diese ALTE Methode verwenden, um Windows 10 1709 zu installieren. Danach Windows werkeln lassen, bis alle Updates drauf sind. Das ist etwas nervig, aber funktioniert definitiv – ganz ohne wimsplit.

# Partitionierung
DEVICE=/dev/sda

# Partitionierung auf dem USB Stick löschen
dd if=/dev/zero of=$DEVICE bs=1M count=1

# Partitionen einrichten
fdisk ${DEVICE}
n
p
1
ENTER
ENTER
t
c
a
w

# Formatierung, mounten des Laufwerks
mkfs.vfat ${DEVICE}1
mkdir /mnt/usb
mount ${DEVICE}1 /mnt/usb

# Kopieren der Daten
mkdir Win10
mount -o loop Win10_1709_German_x64.iso Win10
cp -a Win10/* /mnt/usb

# Aushängen der Laufwerke
umount /mnt/usb
umount Win10
This entry was posted in Linux and tagged , , , , , . Bookmark the permalink.

30 Responses to Windows 10 Installation USB-Stick unter Linux erstellen (UEFI/neueres BIOS)

  1. daniel says:

    Funktioniert in keinster Weise. Wie auch? Bootflag alleine reicht nicht. Irgendnen MBR-Eintrag benötigt der Stick doch auch.

  2. Tom says:

    Funktioniert einwandfrei.
    Hatte zuerst auch erst gedacht das es nicht funktioniert, hab dann mal einen anderen USB Port verwendet und da läuft es ganz problemlos.
    Vielen Dank

  3. pattes says:

    Hallo,
    Ich möchte mich Hier auch mal für die Aufmerksamen “code_Zeilen”bedanken!
    Als Ubuntu Nutzer kann ich mit /mnt/usb nicht viel Anfangen,aber das hier ist eine Generelle Lösung und die klappt natürlich perfekt!

    Also vielen Dank
    lg aus Belgien

  4. rosecamp says:

    Vielen Dank für die Anleitung! Ich bin allerdings Normalnutzerin (Privatrechner) und und habe folgendes Problem: die genannten Befehle müssen ja (fast) durchgehend als Root erteilt werden.
    Bei [CODE]sudo mount -o loop ‘/home/user/Win10_1709_German_x64.iso’ Win10[/CODE] erhalte ich die Rückmeldung [QUOTE]mount: /dev/loop0 is write-protected, mounting read-only[/QUOTE].
    Beim vorletzten Schritt heißt es dann durch die Bank: [QUOTE] cp: der Eigentümer für ‘/mnt/usb/xxx/xxx.xxx’ konnte nicht beibehalten werden: Vorgang nicht zulässig[/QUOTE]
    Natürlich sind meine Download-Verzeichnisse, wo die Windows.iso-Datei liegt, nicht mit Rootrechten oder -eigentum versehen. Ich habe schon etliche Male in beide Richtungen versucht, die Rechte anzugleichen. Wenn ich die ISO-Datei in den Root-Besitz überführe, kann ich den Bootstick beschreiben. Beim Booten hänge ich dann aber bei “Verifying DMI Pool Data” fest.
    Anders herum, also indem ich beim Einhängen per mount -o uid=xxx,gid=xxx Pfad Pfad meinen Benutzer und seine Gruppe als Eigentümer definiere, kommt immer wieder die gleiche Fehlermeldung.
    Kann mir da jemand helfen?

    • marandus says:

      Falls noch aktuell hier mal eine Antwort dazu 😉

      Die Meldung bzgl. Read-Only ist normal, ein ISO kann nur Read-Only gemountet werden. Kann also getrost ignoriert werden.
      Die Meldungen bzgl. Eigentümer hatte ich auch, haben aber keine Probleme verursacht. Liegt vermutlich daran, dass in der ISO (die ja eigentlich für eine DVD gedacht ist) Rechte definiert sind, die auf einem USB Stick nicht abbildbar sind oder so. Auf keinen Fall an den Rechten herumspielen, dann kann es wohl sein, dass der Rechner beim booten den Stick nicht korrekt lesen kann.

      Ich konnte trotz der ganzen Meldungen nach dem umount ganz normal vom Stick booten. Hat wunderbar funktioniert.

  5. Jo says:

    Klappt wunderbar. Erstelle auf diese Weise immer meine Windows 10 USB-Sticks, wenn ich sie brauche. Vielen Dank für diese tolle Anleitung!

  6. mop says:

    Hallo,

    habe das Script ein wenig gepimpt, getest und funktioniert!

    #!/bin/bash

    #parameter, wir brauchen 2
    #den Pfad/Dateinamen des ISOs und das USB Device
    if !(($#==2)) ; then
    echo “Benötige 2 Paramenter”
    echo ” Dateiname mit Pfad zum iso und den letzten Buchstaben des Device (für /dev/sdd d, /dev/sde e)”
    echo “Abbruch!”
    exit
    fi
    #quell-image
    q=$1
    #ziel device, nur buchstabe
    z=$2
    #ziel device, komplett
    DEVICE=/dev/sd$z
    # existiert die Quelldatei?
    if !([ -f $q ]) ; then
    echo Quelldatei $q existiert nicht, beende
    exit
    fi
    # existiert das DEVICE
    if !([ -b $DEVICE ]) ; then
    echo Device ${DEVICE} existiert nicht, beende
    exit
    fi
    #ilegale device, festplattenschutz, habe deren 3, niemand möchte / formatiert wissen.
    illegal=”/dev/sda /dev/sdb /dev/sdc”
    for d in $illegal
    do
    if [ “$d” == “$DEVICE” ] ; then
    echo “Festplatte als Ziel $DEVICE bedeutet Datenverlust,beende!”
    exit
    fi
    done;
    #info
    echo Schreibe $q auf $DEVICE
    #Sicherheitsabfrage
    read -p “Weitermachen? mit y werden alle Daten auf $DEVICE gelöscht y/n ” kommando
    if [ $kommando != ‘y’ ]; then
    echo “Abbruch!”;
    fi
    # Partitionierung auf dem USB Stick löschen
    dd if=/dev/zero of=$DEVICE bs=1M count=1
    # Partitionen einrichten
    fdisk ${DEVICE} <<EOF
    n
    p
    1
    `echo`
    `echo`
    t
    c
    a
    w
    EOF

    # Formatierung, mounten des Laufwerks
    #mountpunkte, Geschmackssache
    mpq=/mnt/win10/
    mpz=/mnt/usb
    mkfs.vfat ${DEVICE}1
    mkdir $mpz
    mount ${DEVICE}1 $mpz
    # Kopieren der Daten
    mkdir $mpq
    mount -o loop $q $mpq
    #copy hat kein Progressanzeiger
    #cp -a $mpq/* $mpz
    #rsync hat einen Progressanzeiger
    rsync -a -P $mpq/* $mpz
    # Aushängen der Laufwerke
    echo umounten und mountpoint löschen, kann ewig dauern bis Daten aus den Cache geschrieben sind, 5-10min max.
    umount $mpz
    umount $mpq
    #mountpunke löschen
    rmdir $mpq
    rmdir $mpz

    echo FERTIG!

    • mop says:

      Leider sind Zeilenumbrüche und Einrückungen flöten gegangen.
      rsync wirft auch Fehler aus, da es natürlich auf vFAT keine Linux Dateiattribute setzen kann, ziehe es trotsdem cp vor.

  7. Christian Hilgers says:

    Danke. Danke Danke 🙂

    Ich hab ja vieles fuer moeglich gehalten, aber das ich ein ISO auf einen USB Stick auspacken muss, das nicht!

    Ich liebe mein Debian, cp debian.iso /dev/USBstick
    sync
    und kurze Zeit spaeter habe ich ein aktuell gepatches laufendes System mit allem was ich brauche.

  8. flups says:

    Ich habe jetzt bestimmt 2 Stunden mit unetbootin verbracht und versucht, einen Installationsstick zu erstellen. Und mit dieser Anleitung klappt es in 10 Minuten. Danke, du hast mir den Abend gerettet.

  9. zilla says:

    Vielen Dank für die super Anleitung. 🙂
    Eine zusätzliche Hürde hatte ich noch zu nehmen – ich schreib das mal auf weil es vielleicht auch noch für andere interessant sein könnte.
    In Win10_1809Oct_German_x64.iso ist sources/install.wim knapp über 4GB groß. Das ist zu viel für das FAT32 Dateisystem. Das hatte sich so ausgewirkt, dass install.wim zwar auf dem Stick landete, aber leider kaputt – ein ls war blöderweise unauffällig. Der Windows Installer hatte jedenfalls irgendwann abgebrochen.
    Abhilfe schafft, install.wim mittels wimsplit zu zerlegen.
    Meine letzten Schritte sahen also so aus:

    # Kopieren der Daten
    mkdir /mnt/win10
    mount -o loop Win10_1809Oct_German_x64.iso /mnt/win10

    rsync -avP –exclude=’sources/install.wim’ /mnt/win10/ /mnt/usb/
    cp /mnt/win10/sources/install.wim /tmp
    wimsplit /tmp/install.wim /mnt/usb/sources/install.swm 2500
    rm /tmp/install.wim

    # Aushängen der Laufwerke
    umount /mnt/usb
    umount /mnt/win10

  10. George99 says:

    Ich hatte dasselbe Problem mit Win10_1809Oct_German_x64.iso. Die Datei install.wim sprengt die 4 GiB Grenze des FAT-Daeisystems.

    Eine einfachere Lösung als die von zilla ist es, den Stick stattdessen NTSF zu formatieren. Dazu muss der Partitionstyp von c auf 7 geändert werden und ein anderes Programm zum Formatieren benutzt werden:

    # Partitionen einrichten
    fdisk ${DEVICE}
    n
    p
    1
    ENTER
    ENTER
    t
    7 (statt c)
    a
    w

    # Formatierung, mounten des Laufwerks
    mkfs.ntsf -f ${DEVICE}1 (statt mkfs.vfat )
    mkdir /mnt/usb
    mount ${DEVICE}1 /mnt/usb

    Die Option -f bei mkfs.ntfs verhindert, dass der Stick erst komplett genullt wird, was seeeeeeeeeehr lange dauern würde. 😉

    Der Rest des Prozederes erfolgt wie oben beschrieben.

    • Matthias says:

      Bei mir bootet der NTFS-USB-Stick nicht.

    • George99 says:

      Wie schon bemerkt, hatte ich mich an einer Stelle vertippt, nämlich bei mkfs.ntsf sollte es mkfs.ntfs heißen. Eventuell kann der Admin dieser Seite den Fehler ja in meinem alten Posting korrigieren?

      Ich musste allerdings auch schon feststellen, dass nicht alle Geräte die Fähigkeit haben, einen NTFS-Stick zu booten. Während es beispielsweise bei den PCs mit ASUS-Mainboard keine Probleme zu geben scheint, hatte ich inzwischen auch ACER-Laptops, die partout nicht von so einem Stick booten wollten. Dort habe ich dann den Weg über ein älteres ISO von Windows 10 beschritten.

      Die neue Wimsplit-Methode scheint also die bessere Methode zu sein, da sie wohl auf allen Geräten läuft.

  11. admin says:

    Danke für eure Antworten!! 🙂 Wenn ich es selbst getestet habe, werde ich den Artikel auch oben updaten.

  12. Peter says:

    Achtung: in einer Zeile des Kommentars von George99 heist es:
    mkfs.ntsf -f ${DEVICE}1 (statt mkfs.vfat )

    Muss aber lauten:
    mkfs.ntfs -f ${DEVICE}1 (statt mkfs.vfat )

    Mein rechner kannte jedenfalls das Dateisystem ntsf nicht… 😉

  13. Danilitikus says:

    Weder diese Anleitung (die an und für sich wirklich gut ist) noch diverse Multiboot-Tools (Yumi UEFI, MultiBootUSB, Easy2Boot etc.), halfen mir, einen bootfähigen USB-Stick zu erstellen, der von meinem neuen Acer Nitro 5 akzeptiert worden wäre – der Acer-Support begründet das mit der Angabe, dass der USB-Stick zu UEFI Class 3 kompatibel sein müsse, also unbedingt GPT-formatiert – MBR funktioniert nicht, da UEFI Class 3 keinen Legacy Mode mehr vorsieht.
    Wirklich alle genannten Tools sind daran gescheitert, sogar Yumi in der UEFI-Version, die ja noch im Beta-Stadium ist!
    Übrigens: MultiBootUSB habe ich sowohl unter Windows als auch unter Linux probiert.
    In anderen Foren gibt es eine Menge Personen, die ebenso ratlos sind!
    Wer weiß Rat???

  14. Alex says:

    Musste die letzte Zeile
    ​rsync -avP –exclude=’sources/install.wim’ Win10 /mnt/usb/
    in
    ​rsync -avP –exclude=’sources/install.wim’ Win10/ /mnt/usb/

    ändern. Sonst super Anleitung, danke!

  15. Steffen says:

    @Danilitikus
    Die hier beschriebene Methode stellt einen USB Stick mit MBR-
    Partitionierung her.
    Es muss der USB Stick mit der GPT partitioniert werden. Hierfür ist gdisk gut geeignet.
    https://www.linux-community.de/ausgaben/easylinux/2013/02/shell-tools-fuer-gpt-partitionstabellen/2/

    • admin says:

      Bei mir funktionierte die Anleitung immer mit MBR – es wird ja schließlich via (U)EFI gebooted- du nutzt Windows 1909?

  16. buddy says:

    Die Art der Partitionierung auf dem USB Stick, also MBR oder GPT muß identisch sein mit der des Windows Laufwerkes. Manche (neueren) UEFI akzeptieren nur noch GPT Partitiontabelle.
    Alte BIOS können kein GPT booten.
    Entsprechend ist die Partitionierungsart des Stick zu wählen.

  17. drahteck says:

    Super, funktioniert bei mit sogar mit “Win10_20H2_German_x64.iso” unter Ubuntu 20.04.1 LTS 64-bit.
    Alle Code´s müssen mit sudo gestartet werden .
    Ansosnten : ERROR] Failed to open “/mnt/usb/sources/install.swm” for writing: Permission denied
    ERROR: Exiting with error code 47:
    Failed to open a file.
    Danach mit sudo noch mal eingegeben und alles super .
    Vielen Dank .

Leave a Reply

Your email address will not be published. Required fields are marked *