Wie erstelle ich ein bootfähiges Windows 10-Image in Debian?

Wie erstelle ich ein bootfähiges Windows 10-Image in Debian?

Pseudocode, aber ursprünglich für Windows 7 ISO-Datei entwickelt, aber für Windows 8 im Thread angewendetWie erstelle ich ein bootfähiges Windows 8-ISO-Image unter Linux?aber es funktioniert nicht mit Windows 10 iso

# https://rwmj.wordpress.com/2010/11/04/customizing-a-windows-7-install-iso/
# https://unix.stackexchange.com/a/312477/16920
$ dd if=../en_windows_10_x64_dvd.iso \
    of=boot.img bs=2048 count=8 skip=734

$ mkisofs -o ../new-win.iso -b boot.img -no-emul-boot -c BOOT.CAT \
    -iso-level 2 -udf \
    -J -l -D -N -joliet-long -relaxed-filenames .

Erfolglose Ausgabe beim Ausführen unter Windows 10 Image

dd if=/home/masi/Downloads/en_windows_10_multiple_editions_version_1511_x64_dvd.iso of=/home/masi/Downloads/boot.img bs=2048 count=8 skip=734
8+0 records in
8+0 records out
16384 bytes (16 kB) copied, 0.000392973 s, 41.7 MB/s 

Einige der folgenden Felder haben sich für die ISO-Datei geändert, die indd

  • bs=2048
  • count=8
  • skip=734

Wie können Sie herausfinden, welche Feldwerte Sie für Windows 10 ISO verwenden können?

Betriebssystem: Debian 8.5 64 Bit
Hardware: Asus Zenbook UX303UA
Linux-Kernel: 4.6 oder Backports
Verwandte Threads:Wie erstelle ich ein bootfähiges Windows 7-ISO-Image unter Linux?,Anpassen einer Windows 7-Installations-ISO
Motivation: Ich brauche Windows 10, um den Canon P-150 Duplex-Scanner zu verwenden, aber als ich Windows startete, bekam ich den FehlerOS-Version:weil Windows Update da wieder was kaputt gemacht hat und ich Windows sonst so selten nutze; und ich kein Ersatz-Windows mehr habe um bootfähige Medien zu erstellen

Antwort1

Ich habe die von Microsoft beschriebene Win7-Lösung auf einem Windows-Rechner ausprobiert:

https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool

und erhielt die

Fehler 0x80080005

also bin ich zu Debian Stretch 9 übergegangen, um zu versuchen, den bootfähigen USB-Stick für Windows 10 mit einem College-/Schul-ISO von e5.onthehub.com zu erstellen.

Die Verwendung von ddfunktioniert absolut nicht unter Windows 10. Dies funktioniert nur unter Linux-Betriebssystemen. Verwenden Sie:

dd if=my-linux-os.iso of=/dev/sdX bs=4M

Hinweis: Versuchen Sie niemals, an /dev/sdX1einen bestimmten Ort zu schreiben X={a,b,c or d}, und prüfen Sie immer, dass Sie Ihre Festplatte nicht überschreiben, was normalerweise /dev/sdaoder der Fall ist /dev/sdb!

Für Windows 10 können Sie WoeUSB verwenden, aber nicht aus den apt/yum-Repos. Diese sind veraltet, zumindest für Debian 9. Verwenden Sie stattdessen:

git clone https://github.com/slacka/WoeUSB.git

Folgen Sie dann den Anweisungen am Ende von:

https://github.com/slacka/WoeUSB

Sie müssen zuerst alle Voraussetzungen wie gparted usw. installiert haben.

Ich habe außerdem festgestellt, dass ich woeusb am Ende des Vorgangs mit sudo ausführen muss. Dazu verwende ich einfach:

sudo woeusb --device local/of/my/windows-10-image.iso /dev/sdX

und hey presto, es funktioniert einfach wunderbar. In meinem Fall waren meine Festplatte /dev/sdaund mein USB-Laufwerk da, /dev/sdbalso habe ich die ISO darauf geschrieben /dev/sdb(seien Sie auch hier vorsichtig, Sie wollen Ihr Betriebssystem nicht versehentlich überschreiben). Ich habe es dann auf einem MSI-Motherboard der Militärklasse mit angeschlossener 2-TB-Festplatte installiert, ohne Schnellstartoptionen im BIOS, und es funktioniert einfach. Ich habe zuerst absolut jede UEFI-Option aktiviert, um es in den richtigen Zustand zu bringen.

Ich hatte auch Probleme bei der Installation. Das System blieb für immer hängen, wenn ich mich mit einem Gmail-E-Mail-Konto anmeldete und wenn das Internetkabel beim zweiten Neustart des Computers (während des Installationsvorgangs) angeschlossen wurde. Wenn Sie dieses Problem haben, trennen Sie die Internetverbindung, starten Sie den Computer neu, lassen Sie ein allgemeines Konto erstellen, melden Sie sich an und starten Sie mit dem Internetkabel neu.

Antwort2

Dies hat bei mir sogar mit einem Legacy-/CSM-Boot funktioniert (Ubuntu 16.04, Windows 10 Version 1511 32 Bit; Sie können auch genisoimage statt mkisofs verwenden, mkisofs ist nur ein symbolischer Link):

mkisofs \
  -no-emul-boot \
  -b boot/etfsboot.com \
  -boot-load-seg 0x07C0 \
  -boot-load-size 8 \
  -iso-level 2 \
  -udf \
  -joliet \
  -D \
  -N \
  -relaxed-filenames \
  -o win10-1511-32bit-mod1.iso \
  files/

(eine lange Zeile, in Bash mit Backslashes am Ende zur Zeilenfortsetzung)

wobei files/das Unterverzeichnis ist, das den extrahierten Inhalt der Windows 10-ISO enthält.

Der entscheidende Punkt scheint das etfsboot.comUnterverzeichnis boot/der Windows 10-ISO zu sein.

Ich kann die gebrannte Disc problemlos mit Legacy/CSM booten.

Ich habe es nur mit der Version 1511 von Win10 ausprobiert. Wenn Sie es mit anderen Versionen versuchen, hinterlassen Sie bitte einen Kommentar.

Antwort3

Wenn Sie einen UEFI-basierten Computer booten möchten, mounten Sie einfach das Windows ISO (achten Sie darauf, dass es ein UDF-formatiertes ISO ist) und kopieren Sie alle Dateien auf das USB-Laufwerk. Solange das Laufwerk im FAT32-Format ist, wird es von einem UEFI-Computer erkannt und bietet die Möglichkeit, davon zu booten.

Bei einem BIOS-basierten Rechner ist es dagegen am besten, Syslinux manuell so zu konfigurieren, dass der Windows-Start kettenweise ausgeführt wird. Ich habe dies unter Windows 8 versucht, unter 10 jedoch noch nicht. /dev/sdfist Ihr USB-Laufwerk.

  • Formatieren Sie den USB-Stick auf FAT32
  • Stellen Sie sicher, dass der USB-Stick nur eine Partition hat und bootfähig ist (GParted hilft dabei)
  • Kopieren Sie alle Dateien vom ISO auf das USB-Laufwerk
  • Installieren Sie syslinux auf Ihrem Linux-System
  • Führen Sie syslinux -i /dev/sdf1die erste Partition auf dem USB-Laufwerk aus (Sie können sie unter überprüfen lsblk)
  • Laufendd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdf bs=4M
  • Mounten Sie das USB-Laufwerk und erstellen Sie das Verzeichnisboot/syslinux
  • Kopieren Sie alle *.c32Dateien in /usr/lib/syslinux/biosdas boot/syslinuxVerzeichnis auf dem USB
  • Erstellen Sie eine syslinux.cfgTextdatei auf boot/syslinuxmit dem Text

    LABEL win10
    MENU LABEL Boot Windows 10 install
    COM32 /boot/syslinux/chain.c32
    APPEND label=win7fs ntldr=/bootmgr
    

Edit: Ich bin nicht sicher, wo Debian die Syslinux-Dateien ablegt; man findet sie mitfind / -name "mbr.bin" 2> /dev/null

Antwort4

Die einzige zuverlässige Lösung, die ich für diesen Fall gefunden habe. Erstellen Sie bootfähiges Windows in Windows.

verwandte Informationen