Windows 7をインストールしたいが、BIOSメニューが表示されないため、これを実行したい。起動時にgrub2メニューにスキップしますが、それは別の話です... Windows 7インストールisoをgrub2から直接起動する方法はありますか?
Grub legacyまたはgrub2で実際のISOをブートすることはできませんが、古いWindowsバージョン(XPなど)では、i386フォルダーをISOからUSBスティックに解凍してから grub4dos を使用できます。ブートローダーを呼び出すには:
title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin
または
title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin
これは、新しいWindowsバージョンまたは新しいハードウェアでは機能しません。
Grub2では、明らかにこのようなものが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
}
オプションAは、起動可能なUSBスティック/ HDDが最初のデバイスであり、msdosスタイルのパーティションテーブルがあることを前提としています。構成に合わせて調整します。ブートデバイスにGPTパーティションテーブルがある場合、ほとんどの場合、(hd0,gpt1)
を使用する必要があります(GPTは一般に設定が難しい)。
オプションBは、ドライブの一意のUUIDを使用します。これは、LinuxでSudo blkid
で、またはOSXで表示できます。 diskutil info disk0s1
(または[ディスクユーティリティ]> [情報])。
最後のエントリは、たとえば次のようになります。
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
}
ええ、あなたはこのような何かがうまくいくと思うでしょう:
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
drivemap "/Winblows.iso" '(hd32)'
drivemap '--hook' ''
set root='(hd32)'
chainloader +1
}
しかし、Windowsはそれをただalkります。
少なくとも4GBのRAMがある場合は、DVD ISO全体を memdisk にロードして、ブートすることを選択できます。これを行うには、 ダウンロード SysLinuxを実行し、memdisk
ファイルをboot
ディレクトリに抽出します。次に、Grub2に次のようなコードを追加する必要があります
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
insmod memdisk
linux16 /boot/memdisk iso
initrd16 /Winblows.iso
}
ただし、3 GBを超えるデータをRAMに入れるのはまったく間違っているので、コードをテストするつもりはありません(アイデアの観点から)。いいえ、本当に欲しいものが欲しかったのですが、最後に Windows 7 USB/DVDダウンロードツール を使用してUSB上のパーティションにWindowsインストールを配置し、それにチェーンロードしました。申し訳ありませんが、私が見ることができる他の方法はないようです。
技術的にWindowsの.iso
ファイルからインストールすることはできません。 grubを使用して.iso
から起動できますが、その後Windowsはマウントされた場所との接続を失うか、それができなくなります。したがって、grub
とWindowsの両方がマウントとブートを認識する必要があります。現在、Windowsはサポートしていません。
そのため、.iso
のコンテンツをパーティションのルートに抽出/コピーし、grub
を使用してチェーンロードする必要があります。