Starten Sie Windows 7 ISO von grub2

12

Ich möchte dies tun, weil ich Windows 7 installieren möchte und mein BIOS-Menü nicht angezeigt wird. Beim Start wird zum Menü grub2 gesprungen, aber das ist eine andere Geschichte ... Gibt es eine Möglichkeit, die Windows 7-Installations-ISO direkt von grub2 aus zu starten?

user208513
quelle
1
"Mein BIOS-Menü wird nicht angezeigt" Aber haben Sie versucht, in das BIOS zu gelangen?
Mitch
Was ist, wenn ich die Festplatte formatiere? Wird Windows dann booten? :)

Antworten:

7

Starten von Windows XP mit grub4dos

Das Booten der eigentlichen ISO mit grub Legacy oder grub2 funktioniert nicht, aber mit älteren Windows-Versionen (z. B. XP) ist es möglich, den i386-Ordner von der ISO auf den USB-Stick zu entpacken und dann mit grub4dos den Bootloader aufzurufen:

title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin

oder

title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin

Dies funktioniert möglicherweise nicht mit neueren Windows-Versionen oder mit neuerer Hardware, es besteht jedoch auch die Option:

Starten von Windows 7 mit grub2

Mit grub2 könnte anscheinend so etwas für Windows 7 funktionieren :

menuentry "Windows 7 (bootmgr)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    ### A: either use this line or the next one, but not both
    set root='(hd0,msdos1)' 
    ### B: 
    ### search --no-floppy --fs-uuid --set=root ____INSERT_PARTITION_UUID_HERE___
    ntldr ($root)/bootmgr
}

Option A setzt voraus, dass Ihr bootfähiger USB-Stick / Ihre bootfähige Festplatte das erste Gerät ist und über eine Partitionstabelle im MSDOS-Stil verfügt. Passen Sie es an Ihre Konfiguration an. Wenn Ihr Startgerät über eine GPT-Partitionstabelle verfügt, müssen Sie diese höchstwahrscheinlich verwenden (hd0,gpt1)(die Einrichtung von GPT ist im Allgemeinen schwieriger).

Option B verwendet die eindeutige UUID des Laufwerks, die unter Linux mit sudo blkidoder unter OSX mit z. B. diskutil info disk0s1(oder Festplatten-Dienstprogramm> Info) angezeigt wird.

Der endgültige Eintrag könnte beispielsweise so aussehen:

menuentry "Windows 7 installer" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    search --no-floppy --fs-uuid --set=root 0E239BC6-F960-3107-89CF-1C97F78BB46B
    ntldr /bootmgr
}
ccpizza
quelle
Nett. Ich habe stattdessen --set = root --fs-uuid UUIDHERE (geänderte Reihenfolge) verwendet (konnte nicht sagen, ob es erforderlich war oder nicht). Vielen Dank
Jan Kyu Peblik
@JanKyuPeblik Könnten Sie von ISO booten?
Anwar
Das ist meine Erinnerung, ja. Ich hätte mich nicht für die anderen Sachen interessiert.
Jan Kyu Peblik
5

Ja, Sie würden denken, so etwas würde funktionieren:


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  drivemap "/Winblows.iso" '(hd32)'
  drivemap '--hook' ''
  set root='(hd32)'
  chainloader +1
}

Aber Windows wird sich nur dagegen sträuben.

Wenn Sie mindestens 4 GB RAM haben, können Sie die gesamte DVD- ISO in memdisk laden und diese starten. Um das zu tun, herunterladen SysLinux und entpacken Sie die memdiskDatei in das bootVerzeichnis. Dann müssen Sie Grub2 so etwas wie Code hinzufügen


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  insmod memdisk
  linux16 /boot/memdisk iso
  initrd16 /Winblows.iso
}

Ich werde den Code jedoch nicht einmal testen, da das Einfügen von mehr als 3 GB Daten in den Arbeitsspeicher einfach falsch ist (aus idealogischer Sicht). Nein, ich wollte wirklich, was Sie wollen, aber am Ende habe ich die Windows-Installation mit dem Windows 7 USB / DVD-Download-Tool auf eine Partition auf einem USB- Stick gestellt und darauf verkettet. Entschuldigung, es scheint keinen anderen Weg zu geben, den ich sehen kann.

Warpspace
quelle
Der erste Code
bootet Windows, schlägt
Der zweite Code funktioniert möglicherweise nicht, da er nicht mit der
ISO
Das OP bezieht sich speziell auf Windows 7. Konnten Sie das testen?
Warpspace
Sie mögen Windows vielleicht nicht, aber das Posten von "Winblows" und "Windoze" hier ist eher unprofessionell. -1.
0xC0000022L
1
Da ich kein professioneller Bootstrap-Programmierer bin, kann ich mit "unprofessionell" leben. Ich denke, Sie hätten vielleicht "respektlos" gemeint. Ja, dieser Kommentar war vor 6 Jahren. Ich habe mich seitdem sehr verändert (und Windows auch)
Warpspace
5

Eine technische Installation aus der Windows- .isoDatei ist nicht möglich. Sie können vom .isousing-Grub booten , aber danach verliert Windows den Kontakt zum gemounteten Speicherort oder ist dazu nicht in der Lage. Daher sollten sowohl grub& Windows als auch Mount und Boot bekannt sein. Derzeit unterstützt Windows nicht.

Sie müssen also den Inhalt von .isoin das Stammverzeichnis einer Partition extrahieren / kopieren und dann mit dieser Kette in diese laden grub.

totti
quelle
2
Gute Idee, Wissen zu teilen, aber Sie können hinzufügen, um die Frage auf technische Weise direkt zu beantworten. nämlich den aktuellen Text als Haftungsausschluss wiederverwenden, aber dann könnten Sie das "Sie können von der .iso booten" in Menüeinträge oder so etwas erweitern. Auf diese Weise würden Sie genau festlegen, welche Methode (n) Sie sich vorgestellt haben, um das zu erreichen, was gefragt wurde, obwohl Sie wissen, dass Sie nicht für den angenommenen Zweck arbeiten sollen. Dies würde auch die Anzahl der Lösungen, die Sie in Betracht gezogen haben, eindeutig machen.
n611x007