Завантажте Windows 7 iso з grub2


12

Я хочу це зробити, тому що я хочу встановити Windows 7, і моє меню BIOS не з’являється; воно переходить до меню grub2 на початку, але це вже інша історія ... Чи є спосіб завантажувати ізоляцію установки Windows 7 безпосередньо з grub2?


1
"моє меню BIOS не відображається". Але ви намагалися потрапити в BIOS?
Мітч

Що робити, якщо я відформатую жорсткий диск? Чи завантажуватимуться вікна тоді? :)

Відповіді:


7

Завантаження Windows XP за допомогою grub4dos

Завантаження фактичного ISO за допомогою спадщини grub або grub2 не працюватиме, але зі старими версіями 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 або з більш новим обладнанням, але є також можливість ..

Завантаження Windows 7 grub2

З 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-накопичувач / жорсткий диск є першим пристроєм і має таблицю розділів у стилі msdos. Налаштуйте відповідно до вашої конфігурації. Якщо у вашому завантажувальному пристрої є таблиця розділів GPT, то, швидше за все, вам потрібно буде використовувати (hd0,gpt1)(GPT взагалі складніше для налаштування).

Варіант B використовує унікальний UUID накопичувача, який можна побачити в Linux з ОС sudo blkidOSX, наприклад, diskutil info disk0s1(або Disk Utility> Info).

Остаточний запис може виглядати приблизно так:

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
}

Приємно. Натомість я використовував --set = root --fs-uuid UUIDHERE (змінив порядок) (не міг сказати, потрібно це чи ні). Спасибі
Ян Кю Пеблик

@JanKyuPeblik Ви можете завантажуватись із ISO?
Анвар

Це мій спогад, так. Мені б не цікавились інші речі.
Ян Кю Пеблик

5

Так, ви можете подумати, що щось подібне спрацює:


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

Але Windows буде просто лаяти це.

Якщо у вас є щонайменше 4 Гб оперативної пам’яті, ви можете вирішити завантажити весь ізо-диск DVD у пам’яті та завантажити його. Для цього завантажте SysLinux і витягніть memdiskфайл у свій bootкаталог. Тоді вам потрібно додати код до Grub2 приблизно так


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

Однак я не збираюся навіть перевіряти код, оскільки введення 3 Гб даних в оперативну пам’ять просто невірно (з ідеологічної точки зору). Ні, я дуже хотів те, що ви хочете, але врешті-решт я поставив інсталяцію Windows на розділ на USB за допомогою інструмента для завантаження Windows 7 USB / DVD і завантажив це. Вибачте, що, здається, немає іншого способу, який я бачу.


Перший код завантажуватиме вікна, але після цього не виходить, оскільки Windows не знає, де встановлений
ізотоп

Другий код може не працювати, оскільки він не працюватиме з iso Ubuntu
totti

ОП конкретно посилається на Windows 7. Чи змогли ви це перевірити?
Warpspace

Вам може не сподобатися Windows, але розміщення "Winblow" та "Windoze" тут досить непрофесійне. -1.
0xC0000022L

1
Оскільки я не професійний програміст завантаження програм, я можу жити з "непрофесіоналами". Я думаю, ви могли означати "неповагу". Так, цей коментар був 6 років тому. Я сильно змінився з тих пір (так і Windows)
Warpspace

5

Технічно встановити з .isoфайлу Windows неможливо. Ви можете завантажуватися із .isoвикористання grub, але після цього Windows втратить контакт із встановленим місцем розташування або він не здатний до цього. Тож grubі Windows, і Windows повинні знати про встановлення та завантаження. Наразі Windows не підтримує.

Тому вам потрібно витягнути / скопіювати вміст у .isoкорінець розділу, а потім завантажити його в ланцюг за допомогою grub.


2
хороша ідея поділитися знаннями, але ви можете додати безпосередньо відповіді на питання технічно. а саме повторно використовувати поточний текст як відмову, але тоді ви можете розширити "ви можете завантажуватися із .iso" в меню меню або щось подібне. таким чином ви б точно визначили, який метод (и) ви уявляли, щоб досягти того, що було запропоновано, хоча який ви знаєте, що не працює для передбачуваної мети. це також скасує кількість рішень, які ви розглядали.
n611x007
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.