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?
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.
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
}
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.
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
.