[personal profile] muwlgr
По работе мне часто приходится сетапить Windows7 или другие винды на разном железе, загружаясь с CD/DVD
С обычным жёстким диском, используемом в десктопном ящике или в ноутбуке, и с обычной DVD-пластинкой, вставленной в IDE/SATA/USB-DVD-драйв, это процесс занимает примерно 20..40 минут. Чрезвычайно много времени тратится на позиционирование дисковых головок при чтении данных с DVD и при синхронизации их записи на HDD (чем "Установщик Windows" занимается ну оооочень часто).
Однажды я купил себе на Aliexpress USB3-флэшку InnoStor IS917 на 128 ГБ, и с тех пор "всё изменилось" (tm)
Я установил на флэшку Linux (сейчас там Ubuntu 15.10, обновлю до 16.04 в апреле 2016-го), скопировал туда наиболее популярные образы виндовых установочных isoшек (размер одной обычно не превышает 3 ГБ, так что на 128 ГБ их влезет достаточно много), и теперь на новом железе просто загружаюсь с флэшки и затем запускаю инсталляционную среду в виртуальной машине, примерно так:
kvm -bios /usr/share/qemu/OVMF.fd -drive file=/dev/sda,format=raw,cache=unsafe -cdrom ru*win*7*sp1*x64*.iso -boot dc -m 2G
Образ оптического диска лежит на флэшке, что устраняет затраты времени на позиционирование головки опт.диска.
В качестве виртуального диска выбирается физический жёсткий диск, на который всё ставится. При этом затраты времени на синхронизацию записанных данных также устраняются опцией cache=unsafe - так что все вызовы синхронизации записи в виртуалке возвращаются мгновенно с положительным результатом, а записанные данные попадают в кэш хост-системы (Linux), откуда она их записывает на жёсткий диск в правильном порядке, но чуть попозже и бОльшими блоками.
И эффект от этого просто потрясающий. Он даже меня удивил. Весь типичный сетап Win7 проходит за 3..4 минуты! (возможно, проходил бы и быстрее, если бы я вовремя подтверждал перезагрузку системы после очередного этапа установки, нажимая Enter).

После того, как сетап в виртуальной машине завершён и в той же виртуалке загружается свежеустановленная Win7, надо проследить за состоянием драйвера msahci в ветке реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
Параметр Start должен иметь целочисленное значение 0 (автозапуск).
После этого можно остановить виртуалку, остановить сам Linux и загрузиться уже на физическом компе с его жёсткого диска. Далее следует прежде всего установить драйвера физической сетевухи с диска, прилагавшегося к мамке, или скачанного на флэшку с Инета, и остальных драйверов, если они не доступны сразу через Windows Update. Также может понадобиться несколько раз перезагрузить Windows после обнаружения новых для него устройств.

Вся эта быстрая схема может применяться только при соблюдении некоторых требований и ограничений. К примеру, физический процессор должен быть 64-битным и поддерживать виртуализацию на аппаратном уровне (иначе не заработает KVM). Кроме того, физический BIOS должен поддерживать UEFI (чтобы загрузить виртуалку с UEFI-BIOSом, используется опция -bios .../OVMF.fd). Если ваш BIOS не поддерживает UEFI, эту опцию нужно будет убрать. Также интерфейс физических SATA-дисков должен использовать режим AHCI. Если режим другой, возможно, потребуется разрешить автозапуск другого драйвера, отличающегося от msahci. Но поскольку большинство новых систем поддерживают и 64bit, и VT-x/VT-d/svm/vmx, и UEFI, и AHCI, эта схема чаще всего работает без дополнительных модификаций.

в следующем посте, возможно, стоило бы рассказать вам о создании гибридных MBR+GPT-флэшек, которые можно с успехом совать в любые USB-дыры, хоть в старые, хоть в молодые :>
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

Volodymyr Mutel

May 2025

S M T W T F S
    123
45678910
11 121314151617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 16th, 2025 08:16 pm
Powered by Dreamwidth Studios