Установка Windows на внешний жесткий диск USB. Установка с внешнего HDD

Итак, мой рассказ будет именно об установке полноценной системы на USB (флешку, карту памяти, внешний USB HDD), а не о банальном создании загрузочной флешки . Поскольку в сети полным-полно статей о том, как установить на USB-накопитель операционную систему, я выбрал из всех вариантов самый простой и наиболее понятный.

Справочно: есть способ с использованием штатной утилиты Windows 7 DiskPart , есть способ, в котором применяется программа UWM W7 , а есть еще и вот такой , но все они геморные (IMHO).

Поэтому я решил провести свой небольшой практический опыт с использованием программы PWBoot , которая избавляет от курения длинных портянок и делает всю работу за меня, автоматически. Она абсолютно бесплатная и весит мало – всего 1,28 Мб.

USB HDD у меня под рукой не оказалось, флешки на 8 Гб тоже, поэтому я в виде извращения привлек к участию в операции мой многострадальный смартфон Samsung Wave 8500, в котором установлена карта памяти Kingston объемом 8 Гб. Прежде всего потребовалось слить с нее все данные на жесткий диск ноутбука. Затем мне понадобился файл install.wim , который находится в каталоге sources диска с дистрибутивом Windows 7. В этом файле содержатся собственно все файлы Windows:

Файл я скопировал из оригинального образа Windows 7, с возможностью выбора любой редакции в процессе установки.

1. Запускаем утилиту PWBoot и выбираем пункт по умолчанию – Установка Windows :

2. Указываем путь к файлу install.wim и редакцию Windows 7, которую мы хотим установить на USB (в моем случае):

3. На следующем этапе нужно указать USB-диск для установки системы (G: ):

Примечание: обратите внимание, что программа предлагает два варианта установки: первый подразумевает собой прямую инсталляцию ОС на флешку, а второй ее установку в файл виртуального жесткого диска (VHD), с которого можно будет загрузиться с любого компьютера под управлением Windows 7 редакций Максимальная (Ultimate) и Корпоративная (Enterprise), ибо только эти версии Windows 7 поддерживают загрузку с VHD. Вот такой облом, уважаемые пользователи Windows 7 Home Premium и Professional. При втором варианте на диске фактически будет находиться только один файл, в котором будет происходить вся ваша работа. При этом в ОС, загруженной с VHD, физический диск тоже будет виден.

5. Программа хочет отформатировать диск. Ну что ж — надо, так надо:

6. После форматирования начинается собственно сам процесс установки ОС на флешку:

Примечание: замечу, что верхний скриншот сделан в 11 часов утра. Наивный, я полагал, что все это произойдет быстро. Оказалось, что я жестоко ошибался – скриншот, демонстрирующий шкалу прогресса установки 99% сделан почти в 22.00!

Полдня понадобилось программе, чтобы установить Windows 7 на карту памяти телефона, ужас, да и только:

Объясняется это тем, что протокол передачи данных USB 2.0 работает значительно медленнее, чем передача данных по интерфейсу SATA2, на котором работают обычные HDD, или, тем более, современные твердотельные накопители SSD (там установка Windows занимает порядка 10-15 минут). Одновременно стоить заметить, что многие современные ПК и ноутбуки имеют аппаратную поддержку USB 3.0, поэтому установки на таких машинах будут происходить в разы быстрее.

7. Тем не менее, мое терпение и настырность были вознаграждены появлением следующего окна:

Тут процесс пошел уже быстрее:

8. Конфигурация загрузочного тома:

И, наконец, долгожданный финал:

Как видно из следующего скриншота, размер установленной Windows 7 Professional на карту памяти cоставил 4,75 Гб:

Примечание: после установки Windows 7 многие пользователи советуют “облегчить” систему посредством удаления некритичных компонентов, отключения некоторых сервисов, которые не предполагается использовать, а также выключения индексирования диска. Одном словом исключить по максимуму все операции, так или иначе связанные с нагрузкой на USB-накопитель. Кроме того, акцентируется внимание на проблеме с файлом подкачки – в целях экономии дискового пространства флешки его можно перенести на встроенный HDD той машины, на которой запускается портативная Windows 7. Если же вы используете внешний USB HDD, то ввиду большого объема дискового пространства эти меры предосторожности становятся не актуальными.

Еще несколько слов о потенциальных проблемах, могущих возникнуть при работе с ОС установленной на USB касаются драйверов. Драйвера, как известно, устанавливаются в конкретную систему для конкретного оборудования. Хорошо, если вы будете использовать вашу Windows 7 на USB как дополнительную систему для личного пользования на одном и том же ПК, но как быть в том случае, если портабельную “семерку” ожидает участь использования на других машинах? При таком раскладе каждый раз, когда вы будете подключать свой USB-Drive к чужому компьютеру, будет возникать риск несовместимости (конфликт) оборудования с уже имеющимися в системе драйверами для других устройств. Вот что об этом (и не только) пишет человек , обладающий более обширными и практическими знаниями по данному вопросу:

Правила безопасности при работе с виндой на USB диске.

А) Если у вас имеется другой USB диск, то подключать (а так же, желательно, и отключать) его к компу нужно до включения компа. Иначе — 100% BSOD 0x7b.

Б) Незнакомую системе флешку в первый раз тоже нужно подключать до старта системы (иначе — BSOD 0x7b). При этом дрова флешки установятся нормально, после чего в дальнейшем флешку можно будет подключать и отключать и при работающем компе.

В) Если в результате нарушения правил А) или Б) (а так же и других причин) возникнет BSOD 0x7b, нарушающий возможность бута с USB, то восстановить эту возможность можно следующим образом: стартовать в старую винду (или в установочное DVD Вин7) и выполнить команду "USBboot.bat X", где "X" — буква, под которой виден раздел с установленной Вин7.

Под "другими причинами" имеется ввиду следующее. Иногда, хотя и редко, дрова флешки могут спонтанно "слететь". И при её подключении во время сессии, после автоматической переустановке дров возможен BSOD.

А однажды моя USB мышка была воспринята Вистой как "Unknown USB storage device", для которого Виста, ессно, не смогла найти драйвера. Если бы это случилось на юэсбэшной Вин7, то, вероятно, без BSOD дело бы не обошлось тоже.

Примите, что называется, к сведению.

А я, подводя итог в своем рассказе, хочу заметить, что в результате описанных в нем процедур, моя карта памяти определилась в БИОС как загрузочное устройство. Выставив приоритет загрузки с нее и сохранив изменения, я загрузился в ОС Windows 7 Professional 32 bit со-своего телефона. Процесс настройки обычный, как и в любой нормальной установке, но довольно медленный: на каждое действие система откликается немного “подумав” (USB 2. с пиковой скоростью 64М/сек – не забывайте). Насколько комфортно работать в ней работать, если будет запущено несколько приложений активно обращающихся к диску, на практике я не успел проверить. Но это уже отдельная история, я же лишь провел эксперимент, целью которого было выяснение действенности работы программы PWBoot .

Резюме: она умеет делать “карманную Windows 7”. Успешного применения!

Описываемая ниже процедура пригодна для установки полноценной Вин7 как на физический так и на виртуальный (внутри.vhd) раздел USB диска в качестве второй (или третьей) оси. Она без изменений может быть приложена и для установки Висты на физический раздел USB диска. Вероятно годится и для установки XP, но я это не проверял.

Если вам ясно, что это такое и зачем оно может понадобиться, можете пропустить всю бла-блю ниже, перейдя напрямую к разделу .

Что это такое?

Многие почему-то часто думают, что под этим подразумевается создание "Live Windows" на USB флэшке. Эта процедура, описана на бесчисленном множестве страниц в сети. Но "Live Windows" -- это всего лишь бледная тень настоящей винды. Она представляет собой просто модификацию WinPe (ось запускаемая инсталационным DVD) добавлением небольшого количества прог: файловых менеджеров (Explorer и/или TC), антивиря и т.д. Здесь же речь пойдёт об установке полноценной винды, со всеми её рюшечками типа аэро, на физический или виртуальный (.vhd) раздел USB диска. И, в отличие от Live Windows на флещке, эта установка не переносима, а привязана к тому компу, на котором установлена. Причина --- проста: драйверы в этой установке привязаны к конкретному железу. Активация --- тоже. Так что даже если сделать USB диск загружаемым с любого компа (что сделать легко), то особенной выгоды от этого не будет: при старте с другого компа винды, установленной на этом диске, скорее всего произойдет BSOD из-за несоответствия драйверов установочного компа с драйверами нового компа. Или, в лучшем случае (если запустить винду в Safe mode), она заменит драйверы оригинального компа драйверами нового. И эту операцию придётся производить при каждом переключении с одного компа на другой. Это --- огромный гемор сам по себе. При этом проблема со слетанием активации не решается --- нельзя же каждый раз звонить в MS для переактивации!

Зачем это надо?

Если у вас имется стационарный комп с одним--двумя огромными SATA винтами и большим количеством свободного места, то нет никакой необходимости ставить винду на внешний USB диск.

Однако если у вас есть лишь лаптоп с установленной на нём вистой или XP, и одним винтом, заполненным под завязку, но зато есть новенький пустой USB винт, то установить вин7 на него может оказаться самым лучшим решением в следующих случаях.

а) Перед тем, как заменить окончательно старую винду на новую Вин7 вы хотите потестить Вин7 несколько месяцев, чтобы определить, подходит ли она вам.

б) Старая виста на фирменном лаптопе имеет много удобного фирменного софта, который фирма не поддерживает в новой оси. В этом случае дуал бут с HDD+USB может оказаться оптимальным решением, даже если на внутреннем диске имеется достаточно места для установки Вин7. Дело в том, что скорость чтения/записи на последнем разделе внутреннего диска может оказаться существенно ниже, чем та же скорость на первом разделе внешнего USB диска. Особенно в случае, когда внутренний диск -- IDE (или даже SATA), а внешний -- SATA или SATA 2. Миф о том. что внутренний SATA диск якобы быстрее USB SATA диска основан на сравнении максимальных скоростей: 64М/сек для USB2.0, 150М/сек для SATA и 300M/сек для SATA 2. Но максимальные скорости SATA/SATA 2 -- это лишь пиковые значения, которые длятся какие-то миллисекунды. Средние же значения гораздо ниже, особенно для массовых 2.5" 5400 об/мин дисков, типичных для современных лаптопов. Например, на моём ноуте с SATA средняя скорость чтения/записи большого нефрагментированного файла редко достигает 50М/сек, что не выходит за USB2.0 предел в 64М/сек.

в) Если ваш ноут настолько стар, что допускает лишь внутренний IDE интерфейс, то (пере)установка любой винды от XP до Вин7 на внешний USB2.0/SATA диск должна значительно ускорить систему.

г) Даже если вы купили новый лаптоп с предустановленной 32-битовой Вин7, вам, возможно, захочется заменить её на 64-битовую, ибо будущее -- за ними. И даже настоящее, если имеется 4Г или более RAM. Такая замена -- законна и совершенно бесплатна. Но, очень вероятно, что фирма--производитель лаптопа не обеспечила 64-битовые версии фирменных утилит для своего лаптопа. Не знаю, как для Вин7, но для Висты такая ситуация была массовой. В этом случае дуал бут Вин7 х32--Вин7 х64 может оказаться более приемлемым вариантом для вас, чем просто замена 32-битовой винды на 64-битовую. Насчёт законности этого варианта я ничего не знаю, но 64-битовую Вин7 можно будет установить как вторую ось с тем же ключом, что и 32-битовую. При этом она будет активирована на автомате и с точки зрения любого софта MS, проверяющего ось "на вшивость", будет Genuine MS software:). В этом случае ось на первом разделе USB диска тоже может оказаться пошустрее, чем на втором разделе внутреннего.

А в чём проблемы-то?

Основная проблема: Дрова USB накопителей по дефолту загружаются виндой на позднем этапе процесса загрузки винды (параметр Start=3 в реестре). Но для самой возможности загрузки оси с USB необходимо, чтобы эти дрова загружались на самом раннем этапе (Start=0) --- иначе будет BSOD:(

Народные умельцы придумали в 05--06г. разные способы обхода этой проблемы для XP (см. 104-страничную ветку XP booting direct from USB на форуме www.911cd.net). Эти способы были очень геморными, включая в себя подмену как некоторых бинарных файлов (ntdetect.com), так и *.INF файлов для USB драйверов оригинального инсталлационного CD для XP их модификациями.

Не могу сказать точно, зачем нужно было модифицировать ntdetect.com (возможно, чтобы инсталлятор XP показывал USB диск в списке доступных для инсталлации XP устройств), но смысл модификации *.INF файлов драйверов USB дисков был таков: если некоторая прога меняла в реестре параметры этих драйверов (в частности параметр Start), то Винда восстанавливала дефолтные значения Start=3, беря их именно из *.INF файлов. И это приводоло к BSOD при последующей загрузке, который не возникал бы, если бы в.INF файлах эти параметры были установлены в 0.

Решающий прорыв, позволивший сильно упростить процедуру установки, сделал MarV с вышецитированного форума, написавший службу UsbBootWatcher, которая позволяет обойтись без модификации файлов инсталационного CD. Служба эта следит за стартовыми параметрами USB дров и восстанавливает нужные значения Start=0 в случае их "соскока" на другие значения. См. страницу Installing Vista/XP on USB disk... и ссылки внутри неё, где описывается процедура установки Винды, использующая эту службу.

Процедура эта работает не только в XP, но и в Висте или Вин7. Однако она имеет тот недостаток, что при установке Винды нужно делать 1 или 2 лишних ребута в старую ось (XP или Висту). Кроме того, в начале установки Висты или Вин7 нужно вынимать USB диск из ящика и подключать как внутренний диск. Чтоб преодолеть препятствие в виде ненажимаемой кнопки "Next", не позволяющей начать установку на физический раздел USB диска.

Вариации этого метода используют установку винды в виртуальную машину с последующим переносом этой установки на USB диск. Существенное упрощение процедуры установки на физический раздел USB диска с использованием "кнопкоотжимателя" описано в Vista / w2k8 installer USB HDD enabler.

Правда, кнопкоотжиматель использованный в этом методе --- некий "кулхацкерский" BlackTool Infector --- написан наспех ad hoc и очень примитивен: ему нужно "скормить" PID процесса установки setup.exe, чтоб он смог найти и отжать кнопку "Next" в окне установщика. Что создаёт ненужный дополнительный гемор, хоть и не очень большой.

Предлагаемый здесь метод является, насколько мне известно, самым простым из всех, опубликованных к настоящему моменту на различных сайтах. При нём не используется ни одного лишнего рестарта по сравнению с обычной установкой на раздел внутреннего диска, а непреодолимая при установке на физический раздел USB кнопка "Next" отжимается элементарно с помощью одной замечательной проги --- enbtn.exe (полезной и во многих других случаях, позволяя открыть многие двери в халявных версиях коммерсиальных прог;): нужно запустить эту прогу, провести мышой по неотжимаемой кнопке и она мгновенно становится активной! Так что этот метод позволяет установить Вин7 без всяких проблем не только на.vhd внутри USB диска, но и непосредственно на физический раздел этого диска. И может, таким образом, использоваться для установки на USB диск Висты или XP, в которых установка на виртуальный.vhd раздел невозможна.

Ладно, хватит бла-блы, перехожу к описанию самой процедуры установки.

Установка.

1) Перед установкой нужно:

а) Скачать файл UsbBootWatcher.zip с линка: UsbBootWatcher.zip и разархивировать его. Я предполагаю далее, что файл был разархивирован в папку C:\UsbBoot.

б) Создать текстовый файл USBboot.bat, (текст его приведён ; скопируйте его и вставьте в любой текстовый редактор: он должен скопироваться без "заворачивания" длинных строк). Поместите файл USBboot.bat внутрь папки C:\UsbBoot.

в) Для установки винды на физический раздел USB диска нужно также скачать какую-нить прогу, активирующую неактивные (серые) кнопки в окнах запущенных прог. Лучшая из известных мне прог такого сорта --- халявная enbtn.exe . Найдите в Гугле и скачайте файл enbtn.zip и разархивируйте его внутрь той же папки C:\UsbBoo t, что и файл USBboot.bat .

2) Запустите комп с инсталлационного DVD и пройдите все начальные этапы установки, выбрав тип установки "Custom install ". Когда появится список разделов доступных для установки, выберите нужный раздел на USB диске и форматируйте его, если он не был ещё форматирован ("Disk options(Advanced)"-->"Format" ). Смотрите, не ошибитесь, сформатировав не тот раздел!

3) Нажмите Shift+F10 чтоб запустить командный промпт;

4) Для дальнейшего нужно будет знать буквы, присвоенные установщиком как выбранному вами разделу USB диска, так и разделу C: (эти буквы могут отличаться от тех, которые видны под "старой" XP или Вистой). Самый простой способ это сделать: запустите с командной строки "Notepad.exe " (штатные файловые менеджеры Explorer, TC или Far в среде установщика Вин7 почему-то не запускаются) и выберите File-->Open в открывшемся окошке. Щёлкните по "Computer " в левой панели диалога "Open ". Тогда в правой панели этого диалога появится список всех разделов с присвоенными им буквами. Предположим для определённости, что буква для раздела C: не изменилась, а USB разделу инсталлятор присвоил букву F: .

Если Вы хотите инсталлировать винду на физическом разделе USB диска (в данном случае F: ), то можете закрыть окно Notepad и, пропустив шаги 5--7 ниже, перейти к шагу 8.

В противном случае переключитесь (Alt+Tab ) на окошко коммандного промпта, чтоб создать.vhd файл для инсталлации. Эта стандартная процедура описана на множестве сайтов, но я включу ее и здесь для полноты.

5) Запустите команду "Diskpart" в окошке командного промпта;

Если на разделе F : уже имеется фиксированный.vhd файл подходящего размера (больше 10G), созданный Virtual PC или Virtual Box, то следующий шаг можно пропустить, используя для установки уже созданный файл (ниже предполагается, что его имя --- Win7.vhd)..

6) Находясь внутри Diskpart выполните команду:

create vdisk file=F:\Win7.vhd type=FIXED maximum=20480

Она создаст VHD file "Win7.vhd " фиксированного размера 20G на выбранном вами USB разделе F: . Вы можете, конечно, выбрать другой размер, но имейте ввиду, что эта операция длительная: на моём лаптопе она отняла около 20 мин. (1G/мин). Минимальный возможный размер для установки находится где-то в районе 10G. Если вы собираетесь в дальнейшем перенести эту установку на 16G или 32G флешку (чтоб попробовать не будет ли она бегать оттуда шустрее), то можете создать.vhd чуть меньшего размера (15 или 30 гиг).

7) Выполните команды:

select vdisk file=F:\Win7.vhd
attach vdisk
exit

Теперь виртуальный.vhd раздел создан и "поднят", но он ещё не форматирован, так что никакой буквы ему пока не присвоено. Перейдите к окну инсталлятора (Alt+Tab ) и нажмите "Refresh ", чтоб новый виртуальный раздел появился в списке разделов, доступных для инсталлации. Щёлкните по нему мышкой и сформатируйте ("Drive options(Advanced)"-->"Format" ). Теперь можно определить букву, присвоенную этому разделу. Для этого переключитесь на окошко Notepad (оно ещё не закрыто) и повторите процеддуру из шага 4, после чего Notepad можно будет закрыть. Положим для определенности, что буква присвоенная виртуальному диску есть G: .

8) В окне командного промпта выполните команды:

C:
cd USBboot

(Если инсталлятор присвоил другую букву виндовому разделу C:, то, ессно, нужно заменить "C" на эту букву).

Если вы собираетесь ставить винду на физический диск, нужно будет ещё запустить "кнопкоотжиматель", выполнив команду:

enbtn.exe

9) Напишите в окне коммандного промпта:

USBboot.bat X

где X -- буква (без двоеточия!), присвоенная разделу (физическому или виртуальному), на котором предполагается установить Винду. Не нажимайте ! Эта команда должна быть выполнена не сейчас, а позже, в подходящий момент процесса установки. Впрочем, если вы случайно и нажали сейчас --- ничего страшного не произойдёт. Эту команду можно запускать в процессе установки хоть 100 раз (восстанавливая каждый раз команду на строке нажатием клавиши <Стрелка вверх> ).

10) Перейдите теперь к окну установщика и выберите диск для установки. Если диск -- физический, то кнопка "Next " будет неактивной. Чтоб её активировать, достаточно провести над ней мышкой. Нажмите на кнопку "Next" , начав процесс установки.

11) Когда на втором из пяти этапов ("Extracting windows files") показатель прогресса достигнет 85% или более, можно будет запустить команду, написанную в командном окне. Для этого переключитесь на командное окно (Alt+Tab ) и нажмите . На самом деле эту операцию можно произвести в любой момент из интервала 85%--100%. А также, если вы проспали, на последнем этапе "Completing installation". На третьем или четвёртом этапе запускать эту команду бесполезно, т.к. реестр устанавливаемой винды будет заблокирован установщиком. При успешном выполнении этой команды в командном окне возникнут 10 строк
"The operation has completed successfully" .

12) После первого рестарта (который должен обойтись без BSOD, если команда из шага 11 была выполнена хотя бы один раз в правильный момент) нужно будет выполнить ещё одну команду для предотвращения BSOD после второго рестарта. А также для автоматической установки службы UsbBootWatcher .

Для этого дождитесь, когда окно установки (с пятью этапами, 4 первых из которых будут отмечены зелёными галочками) появится снова (после "Updating registry setting" и "Installing services..."). После чего откройте командное окно (Shift+F10 , если забыли) и выполните команду

USBboot.bat

Путь к.bat файлу писать не нужно -- файл на первом этапе уже был скопирован в папку...\Windows\System32. Никакого аргумента у команды ни в коем случае писать не нужно тоже.

Это --- всё :) Никакого дальнейшего вмешательства в процесс установки не требуется.

Некоторые технические подробности.

Этот раздел --- для особо любознательных. Остальные могут спокойно его пропустить, перейдя к который прочитать и усвоить нужно обязательно.

Последняя команда срабатывает потому, что зловредный UAC после первого рестарта ещё не включен (как я обнаружил совсем недавно) --- в противном случае команда внутри файла USBboot.bat , устанавливающая службу UsbBootWatcher была бы молча заблокирована, без предложения возможности её выполнения "As administrator".

Более ранние мои попытки избежать BSOD при втором рестарте были основаны на том, что я пытался "впендюрить" до первого рестарта команду, устанавливающую службу UsbBootWatcher , в реестр Вин7 через ключи типа ...\RunOnce , ...\Run и т.д. Если бы это удалось, то при установке ручное вмешательство в этот процесс после первого рестарта (шаг 12) оказалось бы излишним. Это оказалось невозможным. По видимому, из соображений безопасности винда стирает эту инфо из реестра при старте, если она впарена не в предыдущей сессии, когда реестр активен, а из другой оси, когда Вин7 "отдыхает". Правда, мне удалось пробить эту защиту, записав в USBboot.bat команду, копирующую этот батник в публичную Startup папку (причем после выполнения батника он должен был совершить харакири, удалив из папки самого себя). Тесты на уже установленной Вин7 с отключенным UAC прошли успешно: я впаривал это дело с Висты в "спящую" Вин7 и при запуске Вин7 служба автоматически устанавливалась. Но при реальной установке этот батник так и не загрузился до второго рестарта, в результате чего после этого рестарта BSOD всё-таки произошёл. Это, по-видимому, объясняется тем, что вся процедура установки после первого рестарта записана в ключе ...\Control\Session Manager\\SetupExecute реестра. И автозапуск прог из других ключей реестра, а так же из папки Startup отложен до тех пор, пока все проги из SetupExecute не закончат свою работу. А последняя из этих прог, по-видимому, производит перезагрузку:(.

Я, конечно же, пытался добавить установку службы UsbBootWatcher и в ключ ...\\SetupExecute. Но это привело к тому, что установка зациклилась ещё до BSOD, приводя к преждевременным рестартам с сообщением, что конфигурация винды повреждена и для её исправления нужно вновь войти в установщик и попытаться восстановить систему. По-видимому, я, добавив установку службы в зтот ключ, повредил (или удалил) другие значения, записанные там установщиком. В Гугле я практически не нашёл никакой инфо об этом ключе и его структуре.

А самым соблазнительным местом в реестре является ключ ...\Control\Session Manager\\BootExecute. Из которого запускается при каждом буте autochk.exe в случае, если файловая система повреждена. Если бы удалось заставить винду запускать оттуда (модифицированный подходящим образом) USBboot.bat , то не было бы никакой нужды ни в службе UsbBootWatche r, ни в восстановлении "бутабельности" юэсбэшной винды после BSOD --- эта бутабельность восстанавливалась бы автоматически во время старта оси. К сожалению винда полностью игнорирует USBboot.bat , если его добавить к autochk.exe в этот ключ:(В чём дело --- не знаю. Инфо, которую я успел нарыть в Гугле о ключе BootExecute относится исключительно к autochk.exe.

Правила безопасности при работе с виндой на USB диске.

А) Если у вас имеется другой USB диск, то подключать (а так же, желательно, и отключать) его к компу нужно до включения компа. Иначе -- 100% BSOD 0x7b.

Б) Незнакомую системе флешку в первый раз тоже нужно подключать до старта системы (иначе --- BSOD 0x7b). При этом дрова флешки установятся нормально, после чего в дальнейшем флешку можно будет подключать и отключать и при работающем компе.

В) Если в результате нарушения правил А) или Б) (а так же и других причин) возникнет BSOD 0x7b, нарушающий возможность бута с USB, то восстановить эту возможность можно следующим образом: стартовать в старую винду (или в установочное DVD Вин7) и выполнить команду "USBboot.bat X ", где "X" -- буква, под которой виден раздел с установленной Вин7.

Под "другими причинами" имеется ввиду следующее. Иногда, хотя и редко, дрова флешки могут спонтанно "слететь". И при её подключении во время сессии, после автоматической переустановке дров возможен BSOD.

А однажды моя USB мышка была воспринята Вистой как "Unknown USB storage device", для которого Виста, ессно, не смогла найти драйвера. Если бы это случилось на юэсбэшной Вин7, то, вероятно, без BSOD дело бы не обошлось тоже.

В случае, если Вин7 посажен на виртуальный.vhd, его, конечно, нужно "поднять" перед выполнением команды "USBboot.bat X ". Поднятие в установщике описано выше в шаге 7. Для поднятия же из XP или Висты нужно на них установить для этого прогу vhdmount . Прога эта является компонентой Microsoft Virtual Server2005-R2 SP1 , которую можно установить отдельно как на XP Pro, так и на Висте Pro или Ultimate. На хомке установщик MS Virtual Server устанавливать что либо отказывается категорически, но можно установить vhdmount на какой-нить XP Pro, после чего перенести файлы из \Program files\Microsoft Virtual Server с XP на Висту и установить на ней соответствующие драйверы vhdstor.sys и vhdbus.sys (подробности --- в Гугле). После чего можно "впарить" в контекстное меню.vhd файлов возможность их поднятия двойным щелчком мыши, запустив.reg файл следующего содержания:

Windows Registry Editor Version 5.00


@="Mount"


@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u \"%1\""


@="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /m /f \"%1\""


@="Virtual.Machine.HD"

(это --- исправленная версия.reg файла, найденного где-то в сети).

Файл USBboot.bat:

@echo off
cls
echo ========================================================================== 1 / 4
echo USB Boot preparation by MarV
echo Modified by Vlad0
echo.

: Get from the user the installation partition drive letter only
set TARGET_DIRECTORY=%SystemRoot%\System32
set TARGET_DRIVE=%1
if not "%TARGET_DRIVE%"=="" set TARGET_DIRECTORY=%TARGET_DRIVE%:\Windows\System32

:: Continue patching
:cls
echo ========================================================================== 2 / 4
echo Target: %TARGET_DIRECTORY%
:: Check the path
if exist %TARGET_DIRECTORY% goto direxists
echo The directory you have entered is not valid
goto end
:direxists
if "%TARGET_DRIVE%"=="" goto ONLINE

:: Let"s load hive
echo.
echo Loading system hive...
reg load HKU\USBBOOT %TARGET_DIRECTORY%\config\system
if not errorlevel 1 goto hivesuccess
echo Failed to load system registry hive
goto end
:hivesuccess

:: Read CPU architecture from registry
echo.
:: Get control set path
FOR /F "tokens=1* delims=x" %%a in ("reg query "HKU\USBBOOT\Select" /v Current") DO SET TARGET_CONTROL_SET=ControlSet00%%b
echo Current control set is %TARGET_CONTROL_SET%

:: Get processor architecture from enviroment variabile
FOR /F "tokens=2*" %%a in ("reg query "HKU\USBBOOT\%TARGET_CONTROL_SET%\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE") DO SET TARGET_PROCESSOR_ARCHITECTURE=%%b
echo Target architecture is: %TARGET_PROCESSOR_ARCHITECTURE%

if exist .\%TARGET_PROCESSOR_ARCHITECTURE% goto validarchitecture
echo Unsupported architecture
goto end
:validarchitecture

:: Patch service path
echo.
echo Writing data to registry...

reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbstor /v Group /t REG_SZ /d "Boot Bus Extender" /f
reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbstor /v Start /t REG_DWORD /d 0 /f

reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbehci /v Group /t REG_SZ /d "Boot Bus Extender" /f
reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbehci /v Start /t REG_DWORD /d 0 /f

reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbohci /v Group /t REG_SZ /d "Boot Bus Extender" /f
reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbohci /v Start /t REG_DWORD /d 0 /f

reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbuhci /v Group /t REG_SZ /d "Boot Bus Extender" /f
reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbuhci /v Start /t REG_DWORD /d 0 /f

reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbhub /v Group /t REG_SZ /d "Boot Bus Extender" /f
reg add HKU\USBBOOT\%TARGET_CONTROL_SET%\Services\usbhub /v Start /t REG_DWORD /d 0 /f

reg unload HKU\USBBOOT

:: Add files of the UsbBootWatcher service to the system32 folder:
echo ========================================================================== 3 / 4
if exist .\%TARGET_PROCESSOR_ARCHITECTURE% goto copyfiles
goto end
:copyfiles
if exist "%TARGET_DIRECTORY%\UsbBootWatcher.exe" goto ONLINE
echo Copying service files...
copy .\%TARGET_PROCESSOR_ARCHITECTURE%\UsbBootWatcher.exe %TARGET_DIRECTORY%\UsbBootWatcher.exe
copy .\%TARGET_PROCESSOR_ARCHITECTURE%\UsbBootWatcher.conf %TARGET_DIRECTORY%\UsbBootWatcher.conf
copy .\USBboot.bat %TARGET_DIRECTORY%\USBboot.bat"
echo.

:ONLINE
if "%TARGET_DRIVE%"=="" (
echo Installing UsbBootWatcher...
UsbBootWatcher.exe /install
)

:: Bon voyage!
echo ========================================================================== 4 / 4
echo All done
echo.
pause

При копировании этого текста в.bat файл должно получиться ровно 94 строки (от @echo off до :end ), включая пустые. В нём есть две очень длинные строки, которые могут быть разбиты на две при операции copy/paste из некоторых браузеров, не понимающих тэга . Так что будьте внимательны. Если батник будет покорёжен, то нужную работу он не выполнит и BSOD после первого рестарта при установке винды будет неизбежен!

Я уже как год отказался от DVD привода, а тенденции нетбуков говорят о правильности решения. Но перед мной встал вопрос, как установить операционку без DVD. Не к месту умерла флешка, а когда я пошел в магазин за новой, на глаза случайно попались внешний диски Seagate Expansion, 250Gb версия которого стоила буквально на 500 рублей дороже, чем 8Gb флешка (2323 рубля). А размер и весь которой, не сильно смущал карман куртки.

Размеры:141 x 18 x 80 мм
Вес:0.16 кг

Но как оказалось, установка Windows 7 с USB HDD, работает не по-такому же принципу как с USB FLASH. Разобравшись и проверив работоспособность, делюсь информацией с вами.
Работает как и для Настольных ПК, ноубтуков, так и для Нетбуков.
  • Подготовка HDD
  • Нарезка и подготовка разделов HDD;
  • Копирование Windows 7

Подготовка HDD

Вы можете сделать загрузочный диск, установить Windows 7, а затем стереть ее и дальше использовать HDD для своих нужд. Или же сделать намного удобнее:
Если вам не жалко 4 гигабайт места на Внешнем HDD, то Диск можно порезать на две части, в нашем случае я сделал именно так, отдав одну часть под дистрибутив Windows 7, который будет всегда под рукой.

Нарезка и подготовка разделов HDD

1. Идем в:
Панель управления - Администрирование - Управление Компьютером (управление дисками)
Находим Диск 1 (если у вас в системе несколько жестких дисков, найдите тот который равен размеру вашего Внешнего HDD)

2. Выбираем наш наш Внешний HDD диск:
- Правый клик мышкой - Удалить том;
- Правый клик мышкой - Создать простой том;

В появившемся окне выбираем размер тома 4300 Мегабайт (Под раздел Дистрибутива), и жмем далее,

В следующем диалоге если необходимо выбираем букву диска, и жмем далее. В новом диалоге, необходимо отформатировать наш новый раздел (FAT 32), жмем далее и готово.

После этого, необходимо сделать созданный раздел активным, для этого:
- правый клик по разделу - сделать раздел активным.
Теперь наш Внешний HDD имеет следующий вид:

По такому же принципу форматируем второй раздел на диске, лучше всего в NTFS. но не делаем его активным .

Копирование Windows 7

Никогда еще не было копирование дистрибутива Windows на загрузочный диск таким легким.

Если у вас DVD:
- Просто откройте ваш установочный DVD, выделите все папки и файлы, и скопируйте на активный раздел вашего Внешнего HDD;

Если у вас ISO образ:
- Просто откройте ваш установочный ISO образ через Total Commander или Daemon Tools, выделите все папки и файлы, и скопируйте на активный раздел вашего Внешнего HDD;

Все, ваш Внешний HDD готов выступать в качестве Bootable носителя , достаточно перезагрузится, и в BIOS Установить в качестве Primary Boot Device. определенный Внешний HDD, или просто USB HDD, в зависимости от типа BIOS. Сохраните изменения, и приступайте к установке Вашей Windows 7.

UPD: Для любителей cmd (спасибо )
diskpart

List disk
select disk №
create partition primary
select partition 1
active
format fs=fat32 quick

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

В процессе работы утилита разворачивает образ ОС (по факту тупо распаковывает архив) прямо на съёмный накопитель. Так получится гораздо быстрее, но при первой загрузке придётся провести стандартную процедуру настройки системы: выбрать языковые параметры, часовой пояс, создать пользователей и так далее. А это совсем небольшая плата за скорость.

При запуске PWBoot (с правами администратора, конечно) будет предложено либо установить чистую ОС на USB-накопитель, либо пропатчить уже установленную систему, если вы тем или иным образом собираетесь переносить её на внешний диск. Также придётся “накатывать” патч после установки сервис-паков и, возможно, некоторых обновлений Windows. Работа с программой проста до безобразия, так что и рассказывать-то почти нечего. Тем не менее пара нюансов всё-таки есть.

Во-первых, PWBoot упорно не хочет работать с кириллицей. Если ваш инсталляционный образ Windows 7 поддерживает установку сразу нескольких редакций ОС, то надо выбрать нужную. Как это сделать? С помощью утилиты ImageX (см. выше), запущенной с параметром info и указанием пути до wim-файла.

imagex /info x:\путь\до\install.wim

В выводе команды ищем пункт Image Index и следующее за ним описание версии. В PWBoot версии в списке для выбора идут в том же порядке, что и в выводе команды.

Во-вторых, на выбор предлагается два варианта установки - прямо на внешний накопитель (с его обязательным форматированием) или же в виртуальный диск формата VHD . Второй вариант гораздо интереснее, но, в отличие от первого, обязательно требует наличия Windows 7 Ultimate или Enterprise. Точнее говоря, эти редакции поддерживают загрузку с VHD . Фактически на диске будет находиться только один файл, в котором будет происходить вся ваша работа. При этом в ОС, загруженной с VHD, физический диск тоже будет виден. Что интересно, скорость работы системы внутри VHD практически такая же, как при работе напрямую с накопителя.

Вообще использование VHD даёт массу преимуществ. Во-первых, с этим форматом умеет работать любая уважающая себя виртуальная машина, а его поддержка встроена прямо в Windows 7. Можно штатными средствами создавать, редактировать, монтировать VHD-диски и работать с разностными образами (фактически diff для целого диска). Отсюда проистекают такие возможности, как наличие сразу нескольких инсталляций Windows на одном логическом томе, лёгкий откат изменений в системе, удобство и скорость развёртывания ОС сразу на многих ПК и так далее.

Вернёмся к PWBoot. На следующем этапе надо указать местоположение и имя будущего VHD-контейнера. Естественно, он должен находиться на внешнем USB-диске. Обратите внимание, что на диске должна быть ФС NTFS (FAT32 не подходит в силу ограничений на размер файлов) и достаточное количество свободного места. Программа сама предложит сделать диск минимального объёма, но лучше выделить столько, сколько вам понадобится под софт, документы и всё остальное. VHD-диск можно сделать динамическим (расширяемым), поставив соответствующую галочку. То есть физически он будет занимать ровно столько, сколько в нём содержится информации. В общем, для экономии места можно включить данную опцию, но при этом чуточку потерять в производительности.

Осталось только выбрать диск, куда будет установлен загрузчик (то есть внешний USB-накопитель), поставить галочки Update bootcode и Add boot entry to BCD, поменять по желанию описание пункта загрузочного меню и нажать Install. Всё, дальнейшие действия по установке программа выполнит сама. На это обычно требуется не более десяти минут, но тут многое зависит от скорости работы самого USB-диска.

После установки желательно немного облегчить систему - удалить ненужные компоненты, отключить некритичные сервисы, выключить индексирование жёсткого диска, да и вообще стараться избегать любых операций, связанных с большой нагрузкой на накопитель. Полезно также дефрагментировать внешний диск, подключив его к другой системе. Также остаётся нерешённой проблема с файлом подкачки - можно воспользоваться драйвером DiskMod для создания оного на USB-накопителе, можно вообще от него отказаться, но лучше вручную задавать его местоположение на нормальном HDD той машины, на которой запускается наша портативная Windows 7.

Том C: - это HD-контейнер, который физически находится на томе E:

Напоследок стоит упомянуть об интересной разработке под названием VBoot . Это загрузчик, основанный на GRUB, но с поддержкой прямой загрузки с VHD-дисков. Причём необязательно Windows. На сайте, к примеру, есть готовые сборки Ubuntu. В общем, готовое и удобное решение, но, естественно, платное - от $79 за лицензию. Кстати, в Windows 8 будет встроенная возможность перенести всё ваше рабочее окружение на USB-накопитель и загружаться прямо с него. Ну а пока придётся довольствоваться приведённым выше методом. Удачной вам установки!

Я уже как год отказался от DVD привода, а тенденции нетбуков говорят о правильности решения. Но перед мной встал вопрос, как установить операционку без DVD. Не к месту умерла флешка, а когда я пошел в магазин за новой, на глаза случайно попались внешний диски Seagate Expansion, 250Gb версия которого стоила буквально на 500 рублей дороже, чем 8Gb флешка (2323 рубля). А размер и весь которой, не сильно смущал карман куртки.

Размеры:141 x 18 x 80 мм
Вес:0.16 кг

Но как оказалось, установка Windows 7 с USB HDD, работает не по-такому же принципу как с USB FLASH. Разобравшись и проверив работоспособность, делюсь информацией с вами.
Работает как и для Настольных ПК, ноубтуков, так и для Нетбуков.
  • Подготовка HDD
  • Нарезка и подготовка разделов HDD;
  • Копирование Windows 7

Подготовка HDD

Вы можете сделать загрузочный диск, установить Windows 7, а затем стереть ее и дальше использовать HDD для своих нужд. Или же сделать намного удобнее:
Если вам не жалко 4 гигабайт места на Внешнем HDD, то Диск можно порезать на две части, в нашем случае я сделал именно так, отдав одну часть под дистрибутив Windows 7, который будет всегда под рукой.

Нарезка и подготовка разделов HDD

1. Идем в:
Панель управления - Администрирование - Управление Компьютером (управление дисками)
Находим Диск 1 (если у вас в системе несколько жестких дисков, найдите тот который равен размеру вашего Внешнего HDD)

2. Выбираем наш наш Внешний HDD диск:
- Правый клик мышкой - Удалить том;
- Правый клик мышкой - Создать простой том;

В появившемся окне выбираем размер тома 4300 Мегабайт (Под раздел Дистрибутива), и жмем далее,

В следующем диалоге если необходимо выбираем букву диска, и жмем далее. В новом диалоге, необходимо отформатировать наш новый раздел (FAT 32), жмем далее и готово.

После этого, необходимо сделать созданный раздел активным, для этого:
- правый клик по разделу - сделать раздел активным.
Теперь наш Внешний HDD имеет следующий вид:

По такому же принципу форматируем второй раздел на диске, лучше всего в NTFS. но не делаем его активным .

Копирование Windows 7

Никогда еще не было копирование дистрибутива Windows на загрузочный диск таким легким.

Если у вас DVD:
- Просто откройте ваш установочный DVD, выделите все папки и файлы, и скопируйте на активный раздел вашего Внешнего HDD;

Если у вас ISO образ:
- Просто откройте ваш установочный ISO образ через Total Commander или Daemon Tools, выделите все папки и файлы, и скопируйте на активный раздел вашего Внешнего HDD;

Все, ваш Внешний HDD готов выступать в качестве Bootable носителя , достаточно перезагрузится, и в BIOS Установить в качестве Primary Boot Device. определенный Внешний HDD, или просто USB HDD, в зависимости от типа BIOS. Сохраните изменения, и приступайте к установке Вашей Windows 7.

UPD: Для любителей cmd (спасибо theproof)
diskpart

List disk
select disk №
create partition primary
select partition 1
active
format fs=fat32 quick