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 dd
funktioniert 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/sdX1
einen bestimmten Ort zu schreiben X={a,b,c or d}
, und prüfen Sie immer, dass Sie Ihre Festplatte nicht überschreiben, was normalerweise /dev/sda
oder 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/sda
und mein USB-Laufwerk da, /dev/sdb
also 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.com
Unterverzeichnis 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/sdf
ist 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/sdf1
die erste Partition auf dem USB-Laufwerk aus (Sie können sie unter überprüfenlsblk
) - Laufen
dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdf bs=4M
- Mounten Sie das USB-Laufwerk und erstellen Sie das Verzeichnis
boot/syslinux
- Kopieren Sie alle
*.c32
Dateien in/usr/lib/syslinux/bios
dasboot/syslinux
Verzeichnis auf dem USB Erstellen Sie eine
syslinux.cfg
Textdatei aufboot/syslinux
mit dem TextLABEL 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.