И такой способ есть. И основан он на технологии установки Windows, которую мы имеем в её дистрибутивах начиная с «семерки». Способ работает для случая Windows версий 7/8/8.1/10, как в случае с MBR + BIOS системы, так в случае с EFI + GPT. Установить систему можно как в раздел HDD, так и на VHD. При этом функционал установщика нужен нам в общем-то для запуска программы настройки BCD-хранилища конфигурации загрузчика. Вместо установочного диска можно использовать загрузочный носитель на основе WinPE. Если бы утилитам bcdedit.exe и BootICE была *nix альтернатива, весь процесс развертывания системы можно было бы вообще выполнить в среде Linux.
Предположим у вас имеется компьютер, с установленным на HDD загрузчиком GRUB2 и свободным разделом, отформатированном в NTFS. Устанавливать будем Windows 7 Ultimate SP1. Для этого потребуются:
- Установочный диск с виндой
- Чистая флешка объемом >= 4 Gb
- Архиватор 7-zip соответствующей разрядности
- Утилита BootICE, желательна, но совершенно не обязательна, можно обойтись и bcdedit.exe, входящим в дистрибутив винды
1. Создаем загрузочную флешку
Дело в том, что семерка не хочет устанавливаться в EFI-режиме с DVD. Вот не хочет и всё. К тому же, на установочном носителе нам понадобятся дополнительные утилиты, которые туда надо поместить, а в случае с флешкой это несколько проще, чем в случае с DVD.
Монтируем установочный образ с виндой, допустим он лежит у нас в /home/$USER/install с именем win7-setup.iso
$ mkdir ~/iso
$ sudo mount -t udf ~/install/win7-setup.iso ~/iso
Вставляем флешку в USB-порт. Допустим, она получила имя устройства /dev/sdb. Выполним её разметку в формате MBR
$ sudo fdisk /dev/sdb
Создем на флешке один единственный раздел. После чего форматируем её в FAT
$ sudo mkfs.vfat /dev/sdb1
Копируем содержимое дистрибутива винды на флешку
$ mkdir /tmp/flash
$ sudo mount /dev/sdb1 /tmp/flash -o uid=1000,gid=100,fmask=113,dmask=002
$ cp -rv ~/iso/* /tmp/flash/
Скопируем конфиги EFI-загрузчика на уровень выше
$ cp -rv ~/tmp/flash/efi/microsoft/* ~/tmp/flash/efi/
Теперь нам нужен EFI-загрузчик винды. Его придется выцарапать из дистрибутива. Это легко сделать с помощью архиватора 7-zip, который имеется в репозитории extra/p7zip. Все содержимое дистрибутива винды сжато в образ wim-формата находится на установочном DVD в файле source/install.wim. Обычно этот образ имеет следующую структуру
В каталогах с именами в виде цифр 1-4 находятся разные редакции винды. Чтобы выбрать нужную надо посмотреть внутрь файла с именем [1].xml. Распакуем его в /tmp
$ cd /tmp
$ 7z e ~/iso/sources/install.wim \[1\].xml
и посмотрим с помощью какого-нибудь браузера, ибо в текстовом редакторе он выглядит ужасно, а специального редактора xml у меня в наличии не оказалось. Каждую редакцию винды описывают структурой вида
где нода EDITIONID указывает на редакцию. Параметр INDEX — как раз номер каталога, в котором валяется нужная редакция. Итак, мне нужна Ultimate, а это индекс 4. Соответсвенно выковыриваем загрузчик оттуда
$ 7z e ~/iso/sources/install.wim 4/Windows/Boot/EFI/bootmgfw.efi
Оки, теперь перенесем полученный файл на флешку
$ mv bootmgfwm.efi /tmp/flash/efi/boot/bootx64.efi
Порядок, теперь у нас в наличии загрузочная флешка для установки винды. Теперь добавим на неё необходимые для установки утилиты — виндозную версию архиватора 7-zip и утилиту BootICE. Архиватор качаем с официального сайта и распаковываем на флешку в каталог utils
$ mkdir -p /tmp/flash/utils/7-Zip/
$ cd /tmp/flash/utils/7-Zip/
$ 7z x ~/downloads/7z1602-x64.exe
Туда же помещаем и bootice
$ cp ~/install/BOOTICEx64.exe /tmp/flash/utils
Уф, всё, отмонтируем флешку
$ cd ~
$ sudo umount /tmp/flash/
Перезагружаемся. Если у вас система с EFI и съемные диски стоят в приоритете загрузки, то компьютер загрузится в установку винды автоматом. Если же появилось таки меню GRUB, ничего страшного, жмем «С» и в консоли набиваем команду exit. Вас вывалит в меню EFI, где выбираем загрузку с флешки. Если же ваша система с BIOS, то тут чуть сложнее, ибо мы не стали заморачиваться с настройкой MBR на флешке. Тогда в консоли GRUB даем команду ls — появится список всех дисков и разделов. Находим нашу флешку, она отобразится в виде (hdX, msdosY), где X, Y — номер диска и раздела соответственно. Теперь вбиваем в консоли команды
grub> set root=hdX,Y
grub> ntldr /bootmgr
grub> boot
Начнется загрузка установщика винды. Он то загрузится, но нам он и не нужен — мы всё будем делать руками. Чтобы стало понятно, что к чему, придется рассмотреть некоторую теорию
2. О развертывании Windows из WIM-образа и капризном нраве Sysprep
Начиная с семерки установка Windows заключается в следующих этапах
- Разметка диска в соответствии с архитектурой системы инициализации оборудования. Если BIOS — установщик размечает диск в MBR. При наличии активной EFI — разметка будет GPT.
- Распаковка образа install.wim в выбранный для установки раздел
- Установка загрузчика и перезагрузка
- Инициализация оборудования. Ребут
- Локализация, ввод ключа, окончание настройки системы
Это стандартный путь. У нас же диск уже размечен. И нам не нужна автоматическая установка загрузчика — мы поставим его вручную. Разметка диска должна удовлетворять следующим требованиям
- Если система с EFI на диске должен присутствовать FAT-раздел с типом 0xEF. Если у нас уже установлен линукс с EFI-загрузчиком, то таковой раздел уже имеется
- Если система с BIOS, то раздел, в котором располагается загрузчик, а это наш NTFS-раздел должен быть активным. Это очень важно! Почему, будет объяснено ниже.
Таким образом, перед распаковкой системы мы должны убедится в том, что перечисленные требования выполнены. После того, как мы распакуем все файл системы и установим загрузчик, система перезагрузиться. После перезагрузки запустится утилита Sysprep, среди прочего настраивающая оборудования и проверяющая конфигурацию системы. Так вот, если в режиме EFI Sysprep не найдет загрузчик и его конфигурацию в EFI-разделе по пути EFI/microsof/boot, а в системе с BIOS каталог \Boot и bootmgr будут лежать в неактивном разделе, то Sysprep завершится с ошибкой sysprep generalize error, а в лог, расположенный по адресу \Windows\Panther\sysperr.log выплюнет что-то похожее на
2015-03-11 16:55:42, Error [0x0e00b3] TOOL Sysprep_Specialize_Bcd: There was an error opening the system store. Status=[0xC0000098]
2015-03-11 16:55:42, Error [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd', returned error code 1006
2015-03-11 16:55:42, Error [0x060435] IBS Callback_Specialize: An error occurred while either deciding if we need to specialize or while specializing; dwRet = 0x3ee
и никакие танцы с бубном нам уже не помогут. Винда требует, чтобы загручик лежал в загрузочном разделе и точка. В случае с BIOS просто делаем активным раздел NTFS в котором лежит винда и туда же кладем и загрузчик. Грузится будем всё равно с помощью GRUB, а ему все равно, какой раздел будет активным. В случае с EFI загрузчик придется положить рядом с GRUB в EFI-разделе.
3. Распаковка системы
Итак, определимся, куда мы хотим ставить винду. Можно поставить в NTFS-раздел, а можно и в VHD-диск. Это уж как вам хочется. Я буду показывать процесс на примере с виртуальной машиной EFI, имеющей следующую разметку
The protective MBR's 0xEE partition is oversized! Auto-repairing.
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/loop1: 104857600 sectors, 50.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 0D217C93-6699-435A-9BBB-61DFAA6F30B7
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB EF00 EFI system partition
2 206848 104855551 49.9 GiB 0700 Basic data partition
На этом диске нет линукса, установлен только GRUB в раздел с EFI. Если мы ставим систему непосредственно в NTFS-раздел, то загружаемся с флешки, дожидаемся запуска программы установки и жмем Shift + F10, чтобы вызвать консоль. Запускаем утилиту diskpart и смотрим список подключенных томов
X:\sources> diskpart
DISKPART> list vol
Видим, что флешка (объемом 8 Гб) подключена как диск C:, а раздел для установки вовсе не смонтирован. Непорядок. Делаем так
DISKPART> sel vol 3
DISKPART> remove
DISKPART> assign letter=E
DISKPART> sel vol 1
DISKPART> assign letter=C
DISKPART> list vol
DISKPART> sel vol 2
DISKPART> assign letter=F
Вот теперь порядок, диск на который будем ставить винду стал диском C:, флешка — диском E:, а EFI-раздел — диском F:
Если же мы хотим поставить систему на VHD, то делаем так
DISKPART> sel vol 3
DISKPART> remove
DISKPART> assign letter=E
DISKPART> sel vol 1
DISKPART> assign letter=G
DISKPART> exit
Для порядка создаем каталог с образами
X:\sources> md G:\vhd
X:\sources> diskpart
Создаем виртуальный диск, создаем на нем разметку GPT и раздел NTFS и монтируем его к C:
DISKPART> create vdisk file="G:\vhd\win7.vhd" maximum=25600 type=fixed
DISKPART> attach vdisk
DISKPART> clean
DISKPART> convert gpt
DISKPART> create part primary
DISKPART> format fs=ntfs quick
DISKPART> assign letter=C
EFI-раздел монтируем к F:
DISKPART> sel vol 2
DISKPART> assign letter=F
Получаем такую картину
Очень важно! Убеждаемся в том, что EFI-раздел отформатирован именно в FAT, а не в FAT32. Иначе Sysprep не простит нам этой ошибки. Если на компе уже есть линукс, то настройки будут верны.
Теперь распаковываем дистрибутив на диск C:
X:\sources> E:
E:\> utils\7-Zip\7zFM.exe
Откроется GUI архиватора 7-zip. В нем открываем каталог E:\sources, находим там файл install.wim
Правой кнопкой на этом файле вызываем контектстное меню и переходим по 7-zip -> Открыть архив. Появится содержимое образа.
Лезем в папку 4 — там лежит Ultimate
Выделяем всё Ctrl + A и жмем кнопку «Извлечь». Появится окно, где нам предложат указать путь распаковки
Указываем корень диска C: и жмем ОК.
Ну и теперь, как говорится: «Откиньтесь на спинку кресла и...»
4. Установка и настройка загрузчика
Итак, после некоторого время ожидания распаковка окончена. И вот тут, вот в этом месте винда обчно делает бяку, а именно портит MBR или перенастраивает NVRAM. Но мы не дадим ей этого сделать — мы установим загрузчик вручную.
В случае с EFI, переходим на раздел EFI, смонтированный к F: и создаем необходимые пути и копируем файлы загрузчика
E:\> F:
F:\> mkdir EFI\microsoft\boot
F:\> xcopy C:\Windows\Boot\EFI\* F:\EFI\microsoft\boot /s /e
F:\> mkdir EFI\microsoft\boot\Fonts
F:\> xcopy C:\Windows\Boot\Fonts\* F:\EFI\microsoft\boot\Fonts\ /s /e
F:\> copy C:\Windows\System32\config\BCD-Template F:\EFI\microsoft\boot\BCD
Отлично, загрузчик скопирован. Теперь настроим его
F:\> E:\utils\BOOTICEx64.exe
Открываем файл F:\EFI\Microsoft\Boot\BCD. В случае установки на раздел, его параметры задаются так
Если же мы устанавливали систему на VHD, то настройки будут такими
Важно! Имя вторичного загрузчика для EFI-системы winload.efi, для BIOS-системы — winload.exe.
В случае, если мы устанавливаем BIOS-систему установка загрузчика будет выглядеть так
F:\> mkdir C:\Boot
F:\> xcopy C:\Windows\Boot\PCAT\* C:\Boot /s /e
F:\> mkdir C:\Boot\Fonts
F:\> xcopy C:\Windows\Boot\Fonts\* C:\Boot\Fonts /s /e
F:\> copy C:\Boot\bootmgr C:\bootmgr
F:\> copy C:\Windows\System32\config\BCD-Template C:\Boot\BCD
Важно! Раздел, смонтированный к C: (там где размещен загрузчик) обязан быть активным! Убедитесь в этом перед перезагрузкой!
Настройку выполняем так же точно, используя BootICE.
Ну, вроде все. Закрываем все окна и идем в ребут. Флешку можно вытащить из компа.
5. Скрестим пальцы да вознесем молитвы тебе, о Великий и Ужасный Sysprep...!
GRUB у нас еще не настроен пункта для винды в меню нет. Как только появится меню GRUB жмем «C». В консоли набираем
grub> set root=hdX,Y
grub> chainloader /EFI/Microsoft/Boot/bootmgfw.efi
grub> boot
X, Y — соответственно диск и раздел, где лежит загрузчик. Это в случае EFI. В случае с BIOS делаем так
grub> set root=hdX,Y
grub> ntldr /bootmgr
grub> boot
X, Y — диск и раздел с NTFS. Там где распакована винда и лежит её загрузчик.
В режиме EFI вместо логотипа винды я увидел черный экран, так как не нашел в дистрибутиве билиотеки bootres.dll, которую надо поместить в папку EFI\Mictosoft\Boot\Resourses. В случае с BIOS всё в порядке — знакомая эмблема «семерки». А потом в обоих случаях увидим это
Это работает Sysprep. На 57% моргнет экран — настраивается видяха. И если мы все сделали верно, то надпись «Применение параметров системы» повисит довольно долго, потом система сообщит, что установка будет продолжена после перезагрузки. Если мы где-то напортачили с установкой загрузчика — неправильный EFI раздел или неактивный NTFS, то тогда будет ошибка :( Но мы молодцы и у нас все получится, и после очередной перезагрузки мы увидим это
а потом, наконец вот это
Дальше все как при обычной, штатной установке.
6. Настраиваем GRUB
Обратили внимание на то, что каждый раз мы грузим систему из консоли GRUB руками. Это очень хорошо — значит ни MBR ни NVRAM не перезаписаны коварным майкрософтом. Настало время грузится в арч и добавить в меню GRUB новый пункт
menuentry 'Windows 7 Ultimate SP1 (EFI)' {
set root=hdX,Y
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
в случае EFI. Или
menuentry 'Windows 7 Ultimate SP1' {
set root=hdX,Y
ntldr /bootmgr
}
в случае BIOS. Применяем настройки GRUB и перезагружаемся и видем систему в пункте меню загрузки
после выбора которого получаем загруженную Windows
Заключение
Упреждая гнев профессиональных win-админов, скажу сразу — я знаю о DISM. Именно информация об этой системе и привела меня к описанному решению. Цель была одна — выяснить сколько нужно возможностей собственно Windows для установки Windows.
Оказалось вот что — для установки Windows её среда необходима только для одного — настройки BCD-хранилища. Всё. Остальное можно сделать из среды любой другой операционной системы.
Если написать аналог bcdedit.exe под Linux, то установить Windows можно будет с линуксового Live-носителя.
Комментарии (41)
helg1978
24.05.2016 06:37+4Спасибо за статью, один вопрос только: восстановление GRUB разве не меньшее количество манипуляций и времени займет?
Notimer
24.05.2016 06:37+1Слишком много телодвижений… не проще ли поставить 7/8/8.1/10 а потом восстановить загрузчик через livecd?
maisvendoo
24.05.2016 06:54+10Проще. Может быть приведенный выше материал и походит на троллейбус из буханки хлеба, однако принципиальным в моментом в нем является рассмотрение алгоритма работы инсталлятора ОС данного семейства, что несомненно представляет интерес, хотя бы с теоретической точки зрения
slavait
24.05.2016 08:07Кроме бухов из-за привязки ко всяким sbis, клиент-банку, и т.д. особо и не нужно ведро. А версии выше win7 вообще не понятно зачем люди устанавливают.
И надо признать winXP ведет себя под VirtualBox лучше чем в чистом железе. И когда попадаются всякие узкие устройства российского попила бюджета помогает именно virtualbox.Randl
27.05.2016 12:27Кроме бухов из-за привязки ко всяким sbis, клиент-банку, и т.д. особо и не нужно ведро.
Вы имели ввиду вин? "Ведро" это андроид вроде как.
Photoshop, AutoCAD, Matlab, Chessbase, да тот же Office или Visual Studio. Да у всех этих программ есть опенсорсные аналоги, но не всегда они имеют нужный функционал и ими удобно пользоваться. Так что от дуалбута уже который год уйти не получается никак. А еще игры, с которыми буквально пару лет назад на всём, кроме Windows было никак.
А версии выше win7 вообще не понятно зачем люди устанавливают.
А зачем мне ставить старую версию, когда меня новая устраивает?
maisvendoo
27.05.2016 13:41Matlab есть нативный под linux и mac. То же самое касается Maple и Mathematica.
Так что от дуалбута уже который год уйти не получается никак
Тут согласен. Мне например, приходится иногда использовать совсем уж специфическое ПОRandl
27.05.2016 18:19Да в том то и дело, что совсем специфичного и не надо. Любая профессиональная деятельность, не связанная с IT, обычно требует софт который существует только под Win, в лучшем случае — Mac, а опенсорсные аналоги по функционалу не дотягивают.
mayorovp
24.05.2016 08:47А какая информация о железе вообще нужна утилитам BOOTICE / bcdedit? Можно ли их запустить на виртуалке, а потом переписать нужные файлы на реальный диск? Или запустить на виртуалке, но дать доступ к реальному диску? Можно ли их запустить под Wine или под ReactOS?
maisvendoo
24.05.2016 09:07Навскидку BootICE запускается под wine, но при попытке открытия BCD пишет
Ответ на вопрос почему может дать отладка
bcdedit дает ответ аналогичный
[maisvendoo@arch-host bcdedit]$ wine bcdedit /enum all /store 'Z:\home\maisvendoo\ntfs_part\Boot\BCD' fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub The boot configuration data store could not be opened. Файл не является файлом реестра.
maisvendoo
24.05.2016 09:13Или запустить на виртуалке, но дать доступ к реальному диску?
Так работает, если ставить на VHD под виртуалкой. Я именно так и делал.
А вот в случае с использованием Sysprep может и не получится
conformist
24.05.2016 09:09Можно ли их запустить на виртуалке, а потом переписать нужные файлы на реальный диск?
Вряд ли, на скриншоте виден OS GUID, который будет отличен на реальном железе.
conformist
24.05.2016 09:15Неоспоримый плюс статьи в том, что загрузочную флешку можно создать из Linux, что часто вызывает много вопросов и делают это обычно из под самой Windows с помощью windows usb/dvd download tool. Оказалось, там никакой магии и всё вполне выполнимо руками.
maisvendoo
24.05.2016 09:26загрузочную флешку можно создать из Linux
Для EFI — да, простым копированием файлов. В случае же с MBR все несколько сложнееconformist
24.05.2016 09:51Но выполнимо? Можете вкратце пояснить, как это сделать?
lovecraft
24.05.2016 10:03Надо поставить GRUB на флешку и написать в конфиге
set root=hdX,Y
ntldr /bootmgr
GRUB умеет грузить винду не через chainloader, а напрямую, изображая из себя загрузчик
Впрочем, в статье это есть.conformist
24.05.2016 10:14Я как-то задумался о распаковке install.wim и забыл про очевидный, более простой путь. Спасибо.
maisvendoo
24.05.2016 10:48Надо поставить GRUB на флешку и написать в конфиге
Да c GRUB проще всего. Вот инструкция
1. Присваиваем разделу на флешке метку
$ sudo fatlabel /dev/sdb1 SETUP
2. Монтируем её и устанавливаем GRUB
$ sudo mount /dev/sdb1 /tmp/flash -o uid=1000,gid=100 $ mkdir /tmp/flash/grub $ sudo grub-install --target=i386-pc --boot-directory=/tmp/flash /dev/sdb
3. Конфигурируем GRUB, причем корень лучше установить по метке тома
/tmp/flash/grub/grub/grub.cfg
menuentry 'Windows 7 Setup' {
search --label SETUP --set root
ntldr /bootmgr
}
Всё, втыкаем, в биосе выставляем приоритет загрузки и вперед
lovecraft
24.05.2016 10:06Меня больше всего настораживает распаковка WIM через 7-zip. Как это переживут ACL, потоки NTFS, симлинки и хардлинки?
Sl1mShady
24.05.2016 10:20+2я через gimagex распаковывал всегда. бегло погуглив, нашел такую штуку — WIMLIB: IMAGEX / DISM ALTERNATIVE TO MANIPULATE WIM FILES IN LINUX. Заинтересовало, нужно потестить.
maisvendoo
24.05.2016 11:11Весьма ценно. В AUR есть пакет
Опробовал, работает. Информация о wim
[maisvendoo@arch-host win7-efi]$ wimlib-imagex info ~/iso/sources/install.wim
Вывод командыWIM Information:
— Path: /home/maisvendoo/iso/sources/install.wim
GUID: 0xd2cd8e1cb9c7144483bad0dac385534d
Version: 68864
Image Count: 4
Compression: LZX
Chunk Size: 32768 bytes
Part Number: 1/1
Boot Index: 0
Size: 2850077531 bytes
Attributes: Integrity info, Relative path junction
Available Images:
— Index: 1
Name: Windows 7 HOMEBASIC
Description: Windows 7 HOMEBASIC
Display Name: Windows 7 Домашняя базовая
Display Description: Windows 7 Домашняя базовая
Directory Count: 13976
File Count: 66508
Total Bytes: 11529408728
Hard Link Bytes: 4376878446
Creation Time: Вс ноя 21 04:39:25 2010 UTC
Last Modification Time: Вс ноя 21 13:14:41 2010 UTC
Architecture: x86_64
Product Name: Microsoft® Windows® Operating System
Edition ID: HomeBasic
Installation Type: Client
HAL: acpiapic
Product Type: WinNT
Product Suite: Terminal Server
Languages: ru-RU
Default Language: ru-RU
System Root: WINDOWS
Major Version: 6
Minor Version: 1
Build: 7601
Service Pack Build: 17514
Service Pack Level: 1
Flags: HomeBasic
WIMBoot compatible: no
Index: 2
Name: Windows 7 HOMEPREMIUM
Description: Windows 7 HOMEPREMIUM
Display Name: Windows 7 Домашняя расширенная
Display Description: Windows 7 Домашняя расширенная
Directory Count: 14226
File Count: 67569
Total Bytes: 12042784908
Hard Link Bytes: 4792628161
Creation Time: Вс ноя 21 04:39:25 2010 UTC
Last Modification Time: Вс ноя 21 13:15:42 2010 UTC
Architecture: x86_64
Product Name: Microsoft® Windows® Operating System
Edition ID: HomePremium
Installation Type: Client
HAL: acpiapic
Product Type: WinNT
Product Suite: Terminal Server
Languages: ru-RU
Default Language: ru-RU
System Root: WINDOWS
Major Version: 6
Minor Version: 1
Build: 7601
Service Pack Build: 17514
Service Pack Level: 1
Flags: HomePremium
WIMBoot compatible: no
Index: 3
Name: Windows 7 PROFESSIONAL
Description: Windows 7 PROFESSIONAL
Display Name: Windows 7 Профессиональная
Display Description: Windows 7 Профессиональная
Directory Count: 14314
File Count: 68104
Total Bytes: 11945156754
Hard Link Bytes: 4667733545
Creation Time: Вс ноя 21 04:39:25 2010 UTC
Last Modification Time: Вс ноя 21 13:16:43 2010 UTC
Architecture: x86_64
Product Name: Microsoft® Windows® Operating System
Edition ID: Professional
Installation Type: Client
HAL: acpiapic
Product Type: WinNT
Product Suite: Terminal Server
Languages: ru-RU
Default Language: ru-RU
System Root: WINDOWS
Major Version: 6
Minor Version: 1
Build: 7601
Service Pack Build: 17514
Service Pack Level: 1
Flags: Professional
WIMBoot compatible: no
Index: 4
Name: Windows 7 ULTIMATE
Description: Windows 7 ULTIMATE
Display Name: Windows 7 Максимальная
Display Description: Windows 7 Максимальная
Directory Count: 14350
File Count: 68286
Total Bytes: 12107983977
Hard Link Bytes: 4828481537
Creation Time: Вс ноя 21 04:39:25 2010 UTC
Last Modification Time: Вс ноя 21 13:17:22 2010 UTC
Architecture: x86_64
Product Name: Microsoft® Windows® Operating System
Edition ID: Ultimate
Installation Type: Client
HAL: acpiapic
Product Type: WinNT
Product Suite: Terminal Server
Languages: ru-RU
Default Language: ru-RU
System Root: WINDOWS
Major Version: 6
Minor Version: 1
Build: 7601
Service Pack Build: 17514
Service Pack Level: 1
Flags: Ultimate
WIMBoot compatible: no
alexrus
24.05.2016 14:04+1Если вы уже используете командную строку инсталлятора, то wim-образ обычно распаковывается
Dism /apply-image /imagefile:install.wim /index:1 /ApplyDir:C:\
Загрузчик устанавливается после распаковкиc:\Windows\System32\bcdboot C:\Windows /l ru-RU /s F: /F UEFI
maisvendoo
24.05.2016 14:13Загрузчик устанавливается после распаковки
Вы неверно меня поняли. Мне как не нужна установка загрузчика средствами инсталлятора.
Про DSIM я в курсе
lovecraft
24.05.2016 15:39Я кстати так и делал — распаковывал install.wim в C:\newwin под установочным диском через консоль по Shift+F10, а потом грузился с линуксового Live-CD, монтировал том через ntfs-3g и переносил все содержимое в c:\oldwin, а c:\newwin — в корень C:. Атрибуты сохранялись, винда грузилась.
31415
26.05.2016 07:17Есть ещё wimlib.net
Оно вроде корректно поддерживает всё вышеперечисленное.lovecraft
26.05.2016 07:47Вроде, должен нормально распаковывать, по крайней мере, интеграция с ntfs-3g заявлена. А сам ntfs-3g поддерживает все атрибуты ntfs, даже сжатие (но нужен ключик для монтирования). Вот здесь есть архив tools.zip, а в нем файлики ntfscp.sh и ntfscp2.sh — ими можно скопировать винду с одного тома на другой со всеми атрибутами. Только осторожнее со вторым файлом — ключи rsync в нем удаляют в целевой папке все файлы, которых нет на исходном томе.
Darkwing_Pon
24.05.2016 15:14Как-то всё слишком сложно. Есть ведь способ проще. EasyBCD.
maisvendoo
24.05.2016 15:25+2Есть. Равно как есть Visual BCD, BootICE и прочие редакторы конфигурации bootmgr. Как это помогает против затирания MBR и перезаписи NVRAM штатным инсталлятором win?
vilehan
24.05.2016 19:10-2Поставил grub4dos настроил и забыл.
maisvendoo
24.05.2016 19:15+2И опять таки — как grub4dos решает проблему с перезаписью MBR?
vilehan
24.05.2016 20:48Поставил grub4dos настроил меню загрузки какое хочешь и все работает.
С любого диска.
Зачем бороться с BCD, но и там можно все настроить.
У меня грузится Windows 10,Windows 7, Opensuse, flashcd и т.д.maisvendoo
24.05.2016 21:52Поставил grub4dos настроил меню загрузки какое хочешь и все работает.
Ещё раз — grub4dos не работает с разметкой GPT необходимой для запуска Windows на платах с EFI. Как не настраивай. Не верите, смотрите исходники
И ещё раз повторю свой вопрос — как grub4dos позволит избежать перезаписи MBR, происходящей при штатной установке Windows?
maisvendoo
24.05.2016 21:57Загрузочная флешка прикрасно работает в режиме uefi.
Не надо путать загрузочную флешку с установленной на HDD системой
Darkwing_Pon
01.06.2016 11:11-3А у меня нет UEFI, и GPT тоже нет. Зато прекрасно работает Win7 + Linux в дуалбуте через Grub2.
pftbest
Если ставить на vhd, то образ должен лежать на разделе с NTFS?
maisvendoo
Обязательно NTFS. Хотя и существует принципиальная возможность работы Windows с FS типа ext2/3/4, bootmgr, отвечающие за начальные этапы загрузки, содержит в себе код, частично обеспечивающий работу исключительно с NTFS.