Наверняка почти у каждого пользователя ОС Linux и ОС Windows, а я имею в виду именно тех, у кого, в силу ряда причин, установлены обе системы, время от времени возникал вопрос: «А нельзя ли, черт возьми, придумать способ, с помощью которого можно было бы устанавливать эти системы в произвольном порядке? Без порчи настроек загрузчика?» Ведь если ставим сначала Windows а потом Linux всё хорошо — линуксовый загрузчик (например GRUB) обычно подхватывает bootmgr. Если ставить в обратном порядке то увы. Даже с использованием GPT + EFI. В случае с EFI нет опасности перезаписи MBR, зато таки есть один нюанс, который лично мне не нравится — установщик Windows в режиме EFI хоть и не перезаписывает сектора диска своим кодом, но зато переопределяет NVRAM, подсовывая туда путь к своему загрузчику. Так что функционал GBUB всё равно приходится восстанавливать. В настройках штатного установщика нет опций для кастомизации процесса установки загрузчика. А что если… не использовать стандартный установщик?! Ну, или почти не использовать…



И такой способ есть. И основан он на технологии установки 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. Для этого потребуются:

  1. Установочный диск с виндой
  2. Чистая флешка объемом >= 4 Gb
  3. Архиватор 7-zip соответствующей разрядности
  4. Утилита 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 заключается в следующих этапах

  1. Разметка диска в соответствии с архитектурой системы инициализации оборудования. Если BIOS — установщик размечает диск в MBR. При наличии активной EFI — разметка будет GPT.
  2. Распаковка образа install.wim в выбранный для установки раздел
  3. Установка загрузчика и перезагрузка
  4. Инициализация оборудования. Ребут
  5. Локализация, ввод ключа, окончание настройки системы


Это стандартный путь. У нас же диск уже размечен. И нам не нужна автоматическая установка загрузчика — мы поставим его вручную. Разметка диска должна удовлетворять следующим требованиям

  • Если система с 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)


  1. pftbest
    24.05.2016 03:17

    Если ставить на vhd, то образ должен лежать на разделе с NTFS?


    1. maisvendoo
      24.05.2016 06:47
      +1

      Обязательно NTFS. Хотя и существует принципиальная возможность работы Windows с FS типа ext2/3/4, bootmgr, отвечающие за начальные этапы загрузки, содержит в себе код, частично обеспечивающий работу исключительно с NTFS.


  1. helg1978
    24.05.2016 06:37
    +4

    Спасибо за статью, один вопрос только: восстановление GRUB разве не меньшее количество манипуляций и времени займет?


  1. Notimer
    24.05.2016 06:37
    +1

    Слишком много телодвижений… не проще ли поставить 7/8/8.1/10 а потом восстановить загрузчик через livecd?


    1. maisvendoo
      24.05.2016 06:54
      +10

      Проще. Может быть приведенный выше материал и походит на троллейбус из буханки хлеба, однако принципиальным в моментом в нем является рассмотрение алгоритма работы инсталлятора ОС данного семейства, что несомненно представляет интерес, хотя бы с теоретической точки зрения


  1. slavait
    24.05.2016 08:07

    Кроме бухов из-за привязки ко всяким sbis, клиент-банку, и т.д. особо и не нужно ведро. А версии выше win7 вообще не понятно зачем люди устанавливают.
    И надо признать winXP ведет себя под VirtualBox лучше чем в чистом железе. И когда попадаются всякие узкие устройства российского попила бюджета помогает именно virtualbox.


    1. Randl
      27.05.2016 12:27

      Кроме бухов из-за привязки ко всяким sbis, клиент-банку, и т.д. особо и не нужно ведро.

      Вы имели ввиду вин? "Ведро" это андроид вроде как.
      Photoshop, AutoCAD, Matlab, Chessbase, да тот же Office или Visual Studio. Да у всех этих программ есть опенсорсные аналоги, но не всегда они имеют нужный функционал и ими удобно пользоваться. Так что от дуалбута уже который год уйти не получается никак. А еще игры, с которыми буквально пару лет назад на всём, кроме Windows было никак.


      А версии выше win7 вообще не понятно зачем люди устанавливают.

      А зачем мне ставить старую версию, когда меня новая устраивает?


      1. maisvendoo
        27.05.2016 13:41

        Matlab есть нативный под linux и mac. То же самое касается Maple и Mathematica.

        Так что от дуалбута уже который год уйти не получается никак

        Тут согласен. Мне например, приходится иногда использовать совсем уж специфическое ПО


        1. Randl
          27.05.2016 18:19

          Да в том то и дело, что совсем специфичного и не надо. Любая профессиональная деятельность, не связанная с IT, обычно требует софт который существует только под Win, в лучшем случае — Mac, а опенсорсные аналоги по функционалу не дотягивают.


  1. mayorovp
    24.05.2016 08:47

    А какая информация о железе вообще нужна утилитам BOOTICE / bcdedit? Можно ли их запустить на виртуалке, а потом переписать нужные файлы на реальный диск? Или запустить на виртуалке, но дать доступ к реальному диску? Можно ли их запустить под Wine или под ReactOS?


    1. 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.
      Файл не является файлом реестра.
      


    1. maisvendoo
      24.05.2016 09:13

      Или запустить на виртуалке, но дать доступ к реальному диску?

      Так работает, если ставить на VHD под виртуалкой. Я именно так и делал.

      А вот в случае с использованием Sysprep может и не получится


  1. conformist
    24.05.2016 09:09

    Можно ли их запустить на виртуалке, а потом переписать нужные файлы на реальный диск?

    Вряд ли, на скриншоте виден OS GUID, который будет отличен на реальном железе.


  1. conformist
    24.05.2016 09:15

    Неоспоримый плюс статьи в том, что загрузочную флешку можно создать из Linux, что часто вызывает много вопросов и делают это обычно из под самой Windows с помощью windows usb/dvd download tool. Оказалось, там никакой магии и всё вполне выполнимо руками.


  1. maisvendoo
    24.05.2016 09:26

    загрузочную флешку можно создать из Linux

    Для EFI — да, простым копированием файлов. В случае же с MBR все несколько сложнее


    1. conformist
      24.05.2016 09:51

      Но выполнимо? Можете вкратце пояснить, как это сделать?


      1. lovecraft
        24.05.2016 10:03

        Надо поставить GRUB на флешку и написать в конфиге
        set root=hdX,Y
        ntldr /bootmgr

        GRUB умеет грузить винду не через chainloader, а напрямую, изображая из себя загрузчик
        Впрочем, в статье это есть.


        1. conformist
          24.05.2016 10:14

          Я как-то задумался о распаковке install.wim и забыл про очевидный, более простой путь. Спасибо.


          1. maisvendoo
            24.05.2016 10:55

            del не в ту ветку


        1. 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
          }


          Всё, втыкаем, в биосе выставляем приоритет загрузки и вперед


        1. maisvendoo
          24.05.2016 10:56

          Да, чтобы не появлялось меню GRUB, ставим в начале конфига

          set timeout=0


  1. lovecraft
    24.05.2016 10:06

    Меня больше всего настораживает распаковка WIM через 7-zip. Как это переживут ACL, потоки NTFS, симлинки и хардлинки?


    1. Sl1mShady
      24.05.2016 10:20
      +2

      я через gimagex распаковывал всегда. бегло погуглив, нашел такую штуку — WIMLIB: IMAGEX / DISM ALTERNATIVE TO MANIPULATE WIM FILES IN LINUX. Заинтересовало, нужно потестить.


      1. 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


        1. 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


          1. maisvendoo
            24.05.2016 14:13

            Загрузчик устанавливается после распаковки

            Вы неверно меня поняли. Мне как не нужна установка загрузчика средствами инсталлятора.

            Про DSIM я в курсе


          1. lovecraft
            24.05.2016 15:39

            Я кстати так и делал — распаковывал install.wim в C:\newwin под установочным диском через консоль по Shift+F10, а потом грузился с линуксового Live-CD, монтировал том через ntfs-3g и переносил все содержимое в c:\oldwin, а c:\newwin — в корень C:. Атрибуты сохранялись, винда грузилась.


    1. 31415
      26.05.2016 07:17

      Есть ещё wimlib.net
      Оно вроде корректно поддерживает всё вышеперечисленное.


      1. maisvendoo
        26.05.2016 07:18

        Да, выше уже упоминали о ней


      1. lovecraft
        26.05.2016 07:47

        Вроде, должен нормально распаковывать, по крайней мере, интеграция с ntfs-3g заявлена. А сам ntfs-3g поддерживает все атрибуты ntfs, даже сжатие (но нужен ключик для монтирования). Вот здесь есть архив tools.zip, а в нем файлики ntfscp.sh и ntfscp2.sh — ими можно скопировать винду с одного тома на другой со всеми атрибутами. Только осторожнее со вторым файлом — ключи rsync в нем удаляют в целевой папке все файлы, которых нет на исходном томе.


  1. Darkwing_Pon
    24.05.2016 15:14

    Как-то всё слишком сложно. Есть ведь способ проще. EasyBCD.


    1. maisvendoo
      24.05.2016 15:25
      +2

      Есть. Равно как есть Visual BCD, BootICE и прочие редакторы конфигурации bootmgr. Как это помогает против затирания MBR и перезаписи NVRAM штатным инсталлятором win?


  1. vilehan
    24.05.2016 19:10
    -2

    Поставил grub4dos настроил и забыл.


    1. maisvendoo
      24.05.2016 19:11

      grub4dos не работает с GPT, насколько мне известно


      1. vilehan
        24.05.2016 20:42

        Загрузочная флешка прикрасно работает в режиме uefi.


    1. maisvendoo
      24.05.2016 19:15
      +2

      И опять таки — как grub4dos решает проблему с перезаписью MBR?


      1. vilehan
        24.05.2016 20:48

        Поставил grub4dos настроил меню загрузки какое хочешь и все работает.
        С любого диска.
        Зачем бороться с BCD, но и там можно все настроить.
        У меня грузится Windows 10,Windows 7, Opensuse, flashcd и т.д.


        1. maisvendoo
          24.05.2016 21:52

          Поставил grub4dos настроил меню загрузки какое хочешь и все работает.


          Ещё раз — grub4dos не работает с разметкой GPT необходимой для запуска Windows на платах с EFI. Как не настраивай. Не верите, смотрите исходники

          И ещё раз повторю свой вопрос — как grub4dos позволит избежать перезаписи MBR, происходящей при штатной установке Windows?


        1. maisvendoo
          24.05.2016 21:57

          Загрузочная флешка прикрасно работает в режиме uefi.

          Не надо путать загрузочную флешку с установленной на HDD системой


  1. Darkwing_Pon
    01.06.2016 11:11
    -3

    А у меня нет UEFI, и GPT тоже нет. Зато прекрасно работает Win7 + Linux в дуалбуте через Grub2.


    1. maisvendoo
      01.06.2016 12:25
      -1

      Очень рад за Вас