Как в Grub загрузить образ windows.iso
Создал мультизагрузочную флешку в линукс, но пока только с другими линукс дистрибутивами. Никак не могу заставить Grub запускать образы windows. Пробовал следующим образом:
menuentry "Windows 10" --class windows --class os {
insmod ntfs
insmod ntldr
loopback loop /iso/Win_Pro_10_1607_64bit_Rus_2017.ISO
root=(loop)
ntldr (loop)/bootmgr
}
menuentry "Windows 7" {
insmod ntfs
insmod ntldr
loopback loop /iso/Windows_7_64bit_Ultimate_ru.iso
root=(loop)
ntldr (loop)/bootmgr
}
Весь день разбираюсь с этой темой, нашёл вариант скопировать содержимое образа в корень флешки, но мне это не подходит, так как образ не один.
Ответы (2 шт):
Если grub не принципиален и хочется простоты работы с установочными образами, рекомендую обратить внимание на Ventoy для того чтобы создать загрузочную флешку, необходимо всего лишь установить программу на флешку и скопировать обычным способом ISO образы на эту флешку, работает с разными системами.
Компромиссное решение
Для наиболее полного ответа проделал эксперимент. К сожалению 32gb флешки не было под рукой, но хватило и 8gb
C помощью GParted разбил ее на 3 раздела:
На второй раздел обычным способом скопировал файлы из iso (win10) Третий оставил пустым так как предположил если сработает со вторым то и с третьим заработает (по принципу индукции).
На первый раздел установил grub, у меня в системе он второй версии поэтому соответственно устанавливал ее:
- смонтровал первый раздел
mkdir /mnt/USB && mount /dev/sdb1 /mnt/USB
- поставил:
grub-install --force --removable --no-floppy --target=i386-pc --boot-directory=/mnt/USB/boot /dev/sdb
- скачал конфиг:
cd /mnt/USB/boot/grub
wget pendrivelinux.com/downloads/multibootlinux/grub.cfg
- внес изменения
# This Menu entry brought to you courtesy of https://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/
set timeout=60
set default=0
menuentry "Windows 10" {
insmod part_msdos
insmod ntfs
insmod ntldr
set root='hd0,msdos2'
ntldr ($root)/bootmgr
}
menuentry "Reboot" {
reboot
}
menuentry "Shut Down" {
halt
}
Значение для рута получил командой search -u UUID из под grub, для этого после загрузки с флешки можно нажать c после чего появится ожидание ввода команд grub> где и следует ввести комманду поиска.
Сам UUID глянул в GParted:
Таким образом распаковывая iso в разные разделы и находя их по UUID можно создать флешку с разными версиями Windows.
На заключительном этапе очень помог kvm, устанавливал так для KDE:
sudo apt-get install qemu-kvm
Для теста под linux достаточно ввести команду:
sudo kvm -boot c -drive file=/dev/sdb,cache=none -m 1024
Опция -m 1024 отвечает за оперативку, меньше делать не стоит, лучше больше.
В финале я добрался до приветствия, пришлось подождать минут 10.
Из - под любой винды
Откусил кусочек в 5 Гб диска, распаковал образ туда, установил Grub4Dos.
В Menu.lst дописал
timeout=5
default 0
title Setup 10
root (hd0,1)
chainloader (hd0,1)/bootmgr
(это второй раздел первого диска в представлении груба) Перезагрузился - началась и успешно прошла установка



