web-dev-qa-db-fra.com

Démarrer Windows 7 iso à partir de grub2

Je veux le faire car je veux installer Windows 7 et mon menu du BIOS n'apparaît pas; il saute au menu grub2 au début, mais c’est une autre histoire ... Existe-t-il un moyen de démarrer l’installation iso de Windows 7 directement à partir de grub2?

9
user208513

Démarrer Windows XP avec grub4dos

Démarrer l'ISO actuel avec grub legacy ou grub2 ne fonctionnera pas, mais avec les anciennes versions de Windows (XP), il est possible de décompresser le dossier i386 de l'ISO sur la clé USB, puis d'utiliser grub4dos appeler le chargeur de démarrage:

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

ou

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

Cela ne fonctionnera pas avec les nouvelles versions de Windows ou avec du matériel plus récent.

Démarrer Windows 7 avec grub2

Avec grub2, apparemment, quelque chose comme ceci pourrait fonctionner pour Windows 7 :

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 suppose que votre clé USB/disque dur amorçable est le premier périphérique et possède une table de partition de style msdos. Ajustez pour correspondre à votre configuration. Si votre périphérique de démarrage possède une table de partition GPT, vous devrez probablement utiliser (hd0,gpt1) (la configuration de GPT est généralement plus délicate à configurer).

Option B utilise l’UUID unique du lecteur, qui peut être vu sous Linux avec Sudo blkid ou sous OSX avec par exemple. diskutil info disk0s1 (ou Utilitaire de disque> Info).

La dernière entrée pourrait ressembler par exemple à ceci:

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
}
5
ccpizza

Ouais, vous penseriez que quelque chose comme ça marcherait:


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

Mais Windows ne fera que rechigner.

Si vous avez au moins 4 Go de RAM, vous pouvez choisir de charger tout le DVD iso dans memdisk et d’amorcer le processus. Pour ce faire, téléchargez SysLinux et extrayez le fichier memdisk dans votre répertoire boot. Ensuite, vous devez ajouter du code à Grub2 quelque chose comme ça


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

Cependant, je ne vais même pas tester le code, car mettre 3+ Go de données dans RAM est tout simplement faux (du point de vue de l'idéologie). Non, je voulais vraiment ce que vous voulez, mais au final, j'ai installé Windows sur une partition USB en utilisant l'outil de téléchargement USB/DVD de Windows 7 et chargé en chaîne à cela. Désolé, il ne semble pas y avoir d'autre moyen que je puisse voir.

5
Warpspace

Techniquement, l'installation à partir du fichier .iso de Windows est impossible. Vous pouvez démarrer à partir du .iso à l’aide de grub, mais après cela, Windows perdra le contact avec l’emplacement monté ou n’en sera plus capable. Donc, grub & Windows doivent être conscients du montage et du démarrage. Actuellement, Windows ne prend pas en charge.

Vous devez donc extraire/copier le contenu de .iso à la racine d’une partition, puis le charger en chaîne à l’aide de grub.

5
totti