Multiboot mit GRUB2 - Windows-ISO per GRUB2 booten und weitere Grub menuentry

xsid

Active member
Themenstarter
Registriert
29 Mai 2007
Beiträge
4.622
Edit: Überschrift geändert weil so passend.

Erstthread:

FRAGESTELLUNG

Wie kann ich mit GRUB2 Windows 10 ISO per Chainloading booten?

- Wie muss das menuentry für UEFIS Systeme aussehen?

- Wie muss das menuentry für BIOS Systeme aussehen?

Ich möchte meinen Multiboot USB-Stick mit GRUB2 mit einem WinPE Iso erweitern.


Mal was neues:

Last Updated: January 15th, 2023


Windows 10 ISO
Yes, you can create a Windows 10 bootable USB on Ubuntu or any Linux distro. If you don’t have a USB thumb drive, you can boot Windows 10 ISO on the hard drive with GRUB2. Download the Windows 10 ISO file. Note that you might not be able to download the ISO from this link on a Windows computer. This download link is visible to users on Linux computer.
GRUB2 can not boot Windows 10 ISO directly. You need to create a separate NTFS partition on your disk with a partition editor like GParted and extract the Windows 10 ISO to that partition. The latest Windows 10 ISO file is 5.8G. The new NTFS partition should be at least 7G and it should not be used to store any other files.

Keine Chance ein Windows 10 ISO direkt mit Grub zu booten?
 
Zuletzt bearbeitet:
am nicht jeden Tag+1 möchte ich die Iso's dabei haben.
USB Sticks mag ich nicht, die verliere, vergesse ich oder sind defekt.
 
Und deswegen hijackst du jetzt den nächsten Threads und machst ihn unbrauchbar?
 
Und deswegen hijackst du jetzt den nächsten Threads und machst ihn unbrauchbar?
Schnacker, das Vorgehen ist identisch mit "Multiboot USB-Stick mit GRUB2"

Und Du spammst hier rum?
Sinnfrei dein Post.

Die meisten Informationen hier im Thread sind sowieo von mir, Du darfst gerne mitlesen.

FRAGESTELLUNG

Wie kann ich mit GRUB2 Windows 10 ISO per Chainloading booten?

- Wie muss das menuentry für UEFIS Systeme aussehen?

- Wie muss das menuentry für BIOS Systeme aussehen?

Hast Du dazu etwas zu sagen?
 
Zuletzt bearbeitet:
Wie richte ich einen Multiboot-USB Stick ein, um ein Windows 10 ISO mit Grub2 zu booten?

Bitte wieder zur Ursprungsstelle verschieben, ein Zusammenhang besteht.
 
Zuletzt bearbeitet:

Das sehe ich nicht so, auf meinem "Multiboot-USB-Stick" soll auch ein Windows-ISO oder ein WinPE Iso liegen.

Eine SSD kann im Gehäuse wie ein USB-Stick genutzt werden.
Wäre das die richtige Threadbezeichnung "Multiboot-SDD-im-USB-Gehäuse"?

Was hat Ventoy mit dem Threadtitel "USB-Stick mit GRUB2", wenn nichts, dann bitte auch abkoppeln.

Wie kann ich mein WinPE Iso in den

Multiboot USB-Stick mit GRUB2​

einbinden?

@Korfox
Du hast bestimmt die Lösung, Fox ist Fuchs.


abgekoppelt, da kein Zusammenhang zum Ursprungsthread (Multiboot-USB-Stick)

Du hast etwas überlesen "mit GRUB2" überlesen

Multiboot USB-Stick mit GRUB2

Beitrag automatisch zusammengeführt:

Was macht man mit grub4dos-for_UEFI-2023-10-16.7z

von

https://github.com/chenall/grub4dos/releases ?


@zwieblum Hast Du weitere Ideen?

Beitrag automatisch zusammengeführt:

OT
Und deswegen hijackst du jetzt den nächsten Threads und machst ihn unbrauchbar?

Was hat dein Hinweislink mit Grub2 zu tun, wie im Threadtitel gewünscht?

@cuco trennt, @Mornsgrans führt zusammen.
Hätte ich diesen Thread selbst erstellt, wäre der Thread von Morngrans zum Thread Multiboot USB-Stick mit Grub2 verschoben worden.
:)
 
Zuletzt bearbeitet:
xsid schrieb:
Wie kann ich mit GRUB2 Windows 10 ISO per Chainloading booten?
Willst du nur booten oder auch installieren?

Erinnerst du dich an Easy2boot?
Steve verwendet den a1ive grub fork (mit ipxe-wimboot integriert).
Eine Windows Installation vom Hersteller-ISO funktioniert.
Wimboot extrahiert die boot.wim in den RAM, erstellt eine Bootumgebung und fügt eine Kunden winpeshl.ini hinzu.

Das PE bootet vom RAM, Windows Setup führt winpeshl.ini standardmäßig aus, hier wird die ISO Datei gemounted, setup findet das install.* Image. Die Installation ist möglich.


Mir fehlt die Lösung für Drive Snapshot 1.50 als WinPE Iso-Boot.
Arbeitest du lokal oder über das Netzwerk?
Drive Snapshot funktioniert in einer standardmäßigen boot.wim Umgebung http://www.drivesnapshot.de/de/restwinsetupWin8.htm
Drive Snapshot läßt sich trivial zu einer boot.wim hinzufügen, offline dism.exe, middleline ipxe-wimboot.

Routinen ausserhalb boot.wim (\Programs Verzeichnis) sind nach dem boot.wim fehlen erst mal nach dem booten.
Die ISO Datei muß manuell gemountet werden, dann gibt es das Programs Verzeichnis. Hier gibt ein keine Standardlösung, spezielle Lösungen zum jeweiligen PE.

Auf Linux gibt es auch keine Standardlösung zum ISO mounten, es ergaben sich verschiedendene Lösungen.

Ich mag seit 10 Jahren das Zalman ZM-VE400 (inzwischen mit IODD 2541 Firmware) Gehäuse.
Obige Details verdrängte ich für eine Dekade.
 
Willst du nur booten oder auch installieren?
Hallo, ich suche das menuentry für Grub2 um ein WinPE Iso booten zu können.
Das ist gleich dem Windows 10 Iso. Es ist ein UEFI System.

Erinnerst du dich an Easy2boot?
Steve verwendet den a1ive grub fork (mit ipxe-wimboot integriert).
Eine Windows Installation vom Hersteller-ISO funktioniert.
Wimboot extrahiert die boot.wim in den RAM, erstellt eine Bootumgebung und fügt eine Kunden winpeshl.ini hinzu.

Easy2boot möchte ich nicht nutzen.
Ja, ich erinnere Easy2boot war mal mein Favorit, aber wie setze ich die Technologie konkret für mein Anliegen um?
Damit bin ich überfordert.
 
Zuletzt bearbeitet:
Ja, ich erinnere Easy2boot war mal mein Favorit, aber wie setze ich die Technologie konkret für mein Anliegen um?
Die Tutorials von Steve sind eine Übersicht für mich.
Ich nutze Easy2boot nicht, vgl das virtuelle USB DVD Laufwerk.

Zu Snapshot:

Installiere a1ive EFI grub zusätzlich.
z.B. nach /boot/a1ive und den EFI Teil nach /boot/a1ive/EFI.
Der Rechner bootet weiterhin von grub2 /EFI, und a1ive grub wird mit chainload bei Bedarf geladen.
Ich setze 2023 64Bit Rechner voraus.

https://github.com/a1ive/grub/releases
Das Archiv ist schreibgeschützt, füge das parallel zum vorhandenen grub hinzu.
grub-install.exe --force --removable --no-floppy --target=x86_64-efi --boot-directory=F:\boot\a1ive --efi-directory=F:\boot\a1ive

Snapshot funktioniert unter einer Standard Windows Installations DVD.
Die boot.wim reicht dazu. Ein ISO image halte ich hier nicht für passend.

Dateien
/boot/snapshot/boot.wim (von einer Windows 10 DVD)
/boot/snapshot/winpeshl.ini
/boot/snapshot/snapshot64.exe

Z.B. /boot/grub/grub.cfg - deine Haupt-grub.cfg
Code:
#UEFI Grub2 chainload a1ive EFI grub. BIOS Grub2 mit ipxe wimboot. 
if [ "$grub_platform" = "efi" ]; then
  menuentry "snapshot: chainload a1ive BOOTX64.EFI" {
    chainloader /boot/a1ive/EFI/BOOT/BOOTX64.EFI
  }
else
  menuentry "snapshot: grub2 ipxe wimboot - BIOS mode" {
  #https://lists.gnu.org/archive/html/grub-devel/2015-07/msg00063.html
  #https://github.com/ipxe/wimboot/releases/latest/download/wimboot
  linux16 /boot/wimboot/wimboot
  initrd16 \
	newc:"winpeshl.ini":/boot/snapshot/Winpeshl.ini \
	newc:"snapshot64.exe":/boot/snapshot/snapshot64.exe \
	newc:"boot.wim":/boot/snapshot/boot.wim 
  }
fi

Code:
# /boot/a1ive/grub/grub.cfg

set timeout=3
set default=0

#UEFI
menuentry 'a1ive wimboot boot.wim mit winpeshl.ini und snapshot64.exe' {
	insmod part_gpt
	insmod fat
	wimboot --pause \
	@:winpeshl.ini:/boot/snapshot/Winpeshl.ini \
	@:snapshot64.exe:/boot/snapshot/snapshot64.exe \
	@:boot.wim:/boot/snapshot/boot.wim
	boot
}
Die "--pause" ist zum Debug sinnvoll, kann gelöscht werden.

winpeshl.ini
Code:
[LaunchApps]
Wpeutil.exe, WaitForRemovableStorage
WPEutil.exe, UpdateBootInfo
cmd.exe /C "ren snapshot64.exe* snapshot64.exe"
cmd.exe /C  start "Wartung" /min
snapshot64.exe
cmd.exe /K "title Nothalt"
Das vermeindlich überflüssige umbenennen umgeht ein ipxe wimboot Bug.
 
Hallo @bodu,

dank, deine Lösung wird keine Update überstehen.

Wie sieht die für die Lösung für mein WinPE mit Drive SnapShot Iso mit der /etc/grub.d/40_custom aus?

Die Tutorials von Steve sind eine Übersicht für mich.

Auf welchen Steve, bitte per Link beziehst Du dich?

MfG

xsid
 
Zuletzt bearbeitet:
dank, deine Lösung wird keine Update überstehen.
Ja, das ist ein vereinfachtes Beispiel zu wimboot, boot.wim und winpeshl.ini aus dem Tutorial 145. Hier für ein Multiboot USB-Stick mit GRUB2, mit einer FAT32 Partition. Mit Windows 10/11 ISO werden das mindestens zwei Partitionen.

Wie sieht die für die Lösung für mein WinPE mit Drive SnapShot Iso mit der /etc/grub.d/40_custom aus?
Was ist eine /etc/grub.d/40_custom? ;)

Nimm nur den Haupt grub.cfg Eintrag hinzu.
Verteile die Daten auf eine andere Partition. Nutze grub search, mounte das Image mit isoloop.

Welches WinPE nutzt du? Wurde das PE damit erstellt?

Auf welchen Steve, bitte per Link beziehst Du dich?
Den Author vom oben genannten Tutorial 145, rmprepusb und Easy2boot.
Steve schrieb das für sich selbst, verwendet das regelmäßig selbst und teilt das allgemein.
 

Das System WinPE System möchte ich einbinden.
 
Das würde ich nicht WinPE nennen. Das führt zu Verwechslung.
Der Name WinPE íst auf microsoft.com dokumentiert. Alle Kernfunktionenn sind hier in der boot.wim.

Der Link basiert auf das PhoenixPE Projekt.

Ist bei dir in der PEBakery unter Components - Imdisk aktiv?
Mit imdisk läßt sich die ISO Datei beim booten mounten.
 
Hier ein KISS Ansatz zu PhoenixPE. 2022-05-22 bis aktuell 2023-08-03.
Die genannte Notfall-Windows 2023 und 2024 CD sollte auch nach dem Ansatz funktionieren.

Verwendet werden a1ive grub, wimboot und winpeshl.ini
Easy2boot und ventoy sind mächtigere, automatische Ansätze.

a1ive grub ist auf einer weiteren Partition installiert.
Auf dieser Partition befinden sich auch die ISO Dateien.
Verwende ASCII Namen.
Standard PE Treiber lesen die ISO Datei: FAT32, NTFS, exFAT Dateisystem

grub-install.exe --force --removable --no-floppy --target=x86_64-efi --boot-directory=G:\a1ive --efi-directory=F:\temp
copy F:\temp\efi\boot\BOOTX64.EFI g:\a1ive
Passe die Befehle entsprechend an.

Haupt-grub.cfg
Code:
if [ "$grub_platform" = "efi" ]; then
  menuentry "chainloader a1ive BOOTX64.EFI" {
	search --no-floppy --set=root --fs-uuid "C3B00E6AC00D62FA"
    chainloader /a1ive/grub/BOOTX64.EFI
  }
fi

G:\_ISO\PE\PhoenixPE_de-DE_x64.iso
G:\_ISO\PE\PhoenixPE_de-DE_x64.ini
Passe die Verzeichnis- und Dateinamen an und editiere entsprechend die grub.cfg und *.ini (set iso_file="*") Datei.

/a1ive/grub/grub.cfg
Code:
if [ "$grub_platform" = "efi" ]; then
  menuentry "a1ive wimboot: PhoenixPE_de-DE_x64.iso" {
	set isofile="/_ISO/PE/PhoenixPE_de-DE_x64.iso"
    #/_ISO/.. ist bereits root 
    loopback loop $isofile
	wimboot --pause \
	  @:winpeshl.ini:"/_ISO/PE/PhoenixPE_de-DE_x64.ini" \
	  @:boot.wim:(loop)/sources/boot.wim
	boot
  }
fi

PhoenixPE_de-DE_x64.ini
Code:
[LaunchApps]
wpeinit.exe
WPEutil.exe, WaitForRemovableStorage
cmd.exe /V:ON /C "set iso_file="\_ISO\PE\PhoenixPE_de-DE_x64.iso" &(set loop_exe=imdisk.exe &if exist aim_ll.exe set loop_exe=aim_ll.exe)  &for %a in (c d b e f g h i j k l m m o p q r s t y z) do @if exist "%a:!iso_file!" !loop_exe! -a -m Y: -f "%a:!iso_file!""
 
Packe den chainload menuentry nach /etc/grub.d/40_custom

Alle anderen Dateien sind auf einer anderen Partition.

/etc/grub.d/40_custom

Code:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "clonezilla-live-3.0.2-21-amd64.iso" {
ISO="/clonezilla-live-3.0.2-21-amd64.iso"
search --set -f $ISO
loopback loop $ISO
linux (loop)/live/vmlinuz set root=(hd0,gpt6) toram boot=live union=overlay username=user config components quiet noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=791 ip= net.ifnames=0 splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 findiso=$ISO
initrd (loop)/live/initrd.img
}
menuentry "Acronis True Image 2019 39216 - Extract ISO" {
linux /acronis2019/dat10.dat set root=(hd0,gpt6) quiet force_modules=usbhid
initrd /acronis2019/dat11.dat /acronis2019/dat12.dat
boot
}
menuentry "PhoenixPE_de-DE_x64.iso" {
???
???
boot
}


Ich weiß nicht was Du meinst.

Welche Anforderungen werden an die weitere Partition gestellt, kann das auf z. B. mit virtdisk (Name xsid ausgedacht) erfolgen?
Dann können die "Alle anderen Dateien sind auf einer anderen Partition.", wie genau Lauten die Namen dieser Dateien?

Warum schreibst Du nicht einfach den Code auf?
 
Zuletzt bearbeitet:
www.gnu.org/software/grub/ kann keine PE ISO booten.
Wimboot, z.B. in https://github.com/a1ive/grub/releases kann ein PE ISO booten.

Installiere a1ive/grub zusätzlich in eine neue Partition.
Standard PE Treiber lesen die ISO Datei: FAT32, NTFS, exFAT Dateisystem.
Verwende eine Partition, die dein PhoenixPE später lesen kann.
Hier wird eine NTFS Partiton verwendet.
Das muß/soll nicht bootfähig sein.

Boote das vorhandene www.gnu.org/software/grub/ und lade a1ive grub nach.

menuentry "chainloader a1ive BOOTX64.EFI" {
search --no-floppy --set=root --fs-uuid "C3B00E6AC00D62FA"
chainloader /a1ive/grub/BOOTX64.EFI
}
Die uuid ist ein Beispiel, passe das auf die vorhanene Partition an.
Packe das in /etc/grub.d/40_custom.

Verzeichnisse und ausgeählte Kerndateien.
\a1ive\grub\grub.cfg
\a1ive\grub\BOOTX64.EFI
\a1ive\grub\fonts
\a1ive\grub\x86_64-efi
\_ISO\PE\PhoenixPE_de-DE_x64.iso
\_ISO\PE\PhoenixPE_de-DE_x64.ini
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben