Bunu yapmak istiyorum çünkü Windows 7'yi yüklemek istiyorum ve BIOS menüm görünmüyor; Başlangıçta grub2 menüsüne atlar, ancak bu başka bir hikaye ... Windows 7 kurulum iso'yu doğrudan grub2'den önyüklemenin bir yolu var mı?
Bunu yapmak istiyorum çünkü Windows 7'yi yüklemek istiyorum ve BIOS menüm görünmüyor; Başlangıçta grub2 menüsüne atlar, ancak bu başka bir hikaye ... Windows 7 kurulum iso'yu doğrudan grub2'den önyüklemenin bir yolu var mı?
Yanıtlar:
Gerçek ISO'yu grub eski veya grub2 ile önyükleme işe yaramaz, ancak eski Windows sürümlerinde (yani XP) i386 klasörünü ISO'dan USB çubuğuna çıkarmak ve ardından boot4dos'u kullanarak önyükleyiciyi çağırmak mümkündür:
title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin
veya
title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin
Bu, daha yeni Windows sürümleri veya daha yeni bir donanım ile çalışmayabilir ancak aynı zamanda ..
Görünüşe göre grub2 ile böyle bir şey Windows 7 için işe yarayabilir :
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
}
Seçenek A , önyüklenebilir USB çubuğunuzun / HDD'nizin ilk cihaz olduğunu ve msdos tarzı bir bölüm tablosuna sahip olduğunu varsayar. Yapılandırmanıza uyacak şekilde ayarlayın. Önyükleme aygıtınızda bir GPT bölüm tablosu varsa, büyük olasılıkla kullanmanız gerekir (hd0,gpt1)
(genel olarak GPT kurulumu daha zordur).
Seçenek B , sürücünün Linux'ta sudo blkid
veya OSX'te örneğin diskutil info disk0s1
(veya Disk Yardımcı Programı> Bilgi) ile görülebilen benzersiz UUID'sini kullanır .
Son giriş örneğin şöyle görünebilir:
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
}
Evet, böyle bir şeyin işe yarayacağını düşünürdünüz:
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
drivemap "/Winblows.iso" '(hd32)'
drivemap '--hook' ''
set root='(hd32)'
chainloader +1
}
Ancak Windows bu konuda duracaktır.
En az 4GB RAM'iniz varsa , tüm DVD iso'yu memdisk'e yüklemeyi ve önyüklemeyi seçebilirsiniz . Bunu yapmak için, karşıdan Syslinux ve ayıklamak memdisk
için dosyayı boot
dizine. Sonra Grub2'ye böyle bir şey kod eklemeniz gerekir
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
insmod memdisk
linux16 /boot/memdisk iso
initrd16 /Winblows.iso
}
Ancak, 3+ GB'lik veriyi RAM'e koymak sadece düz bir yanlış olduğundan (fikri açıdan) kodu test etmeyeceğim bile. Hayır, gerçekten ne istediğini istedim, ama sonunda Windows yüklemesini Windows 7 USB / DVD indirme aracını kullanarak bir USB'ye bir bölüme koydum ve buna zincir yükledim. Üzgünüm görebildiğim başka bir yol yok.
Windows .iso
dosyasından teknik olarak kurulum yapılamaz. .iso
Grub kullanarak önyükleme yapabilirsiniz, ancak bundan sonra Windows monte edilen konumla teması kaybeder veya bunu yapamaz. Yani hem grub
Windows hem de bağlanma ve önyükleme konusunda bilgi sahibi olmalıdır. Şu anda Windows desteklemiyor.
Bu nedenle içeriğini .iso
bir bölümün kök dizinine çıkarmanız / kopyalamanız ve ardından kullanarak zincir yüklemeniz gerekir grub
.