Захотел загрузить винду с флешки (обычную XP, не BartPE и всякое такое).... Имеем - мать и биос с поддержкой USB 2.0 и загрузки с него, 2 харда SATA, флешку Kingston 1Gb. На одном из хардов - моя винда, рабочая, второй - чистый. Итак, приступаю к работе. 1. Форматирую флешку как жесткий диск, пишу MBR, создаю активный логический диск. Форматирую диск как FAT16, записываю загрузочный сектор XP. (Сектора на флешку можно писать с помощью CreateFile("\\.\\PhysicalDrive3" - для MBR или "\\.\\E:" - для логического диска. Загрузочные сектора я прописал свои.). Записал в корень ntldr, boot.ini, ntdetect.com, bootfont.bin. Загрузился с флешки, проверил - работает (пишет что не найден HAL.DLL) 2. Устанавливаю на второй, чистый хард винду - Windows XP SP2. Загрузился в ней, немного настоил (убрал перезагрузку при критических ошибках, установил без файла подкачки). Далее вставил флешку в гнездо, подождал пока винда установит дрова для нее. Перезагрузился пару раз, чтоб все сохранилось. 3. Загрузился с рабочей винды. Скопировал папку WINDOWS со второго диска на флешку (не все, конечно - кроме HELP, *.txt,*.log, *bmp и т.д.) 4. Пробую загрузиться с флешки - грузится ntldr, ntoskrnl.exe... Грузятся драйвера.... Вылезает голубой экран с логотипом Windows... BSOD - stop 07Bh Мда... не надеялся что все будет легко.. Подумал, решил, что на этапе загрузки драйвер файловой системы требует от ядра драйвер диского устройства, а его нету :-( Наверное дело в порядке загрузки драйверов. Что ж, грузимся с рабочей винды. Поглядел в диспечере задач сведения о драйверах для всех устройств связанных с флешкой. Ими оказались : usbuchi.sys usbechi.sys usbhub.sys usbport.sys usbstor.sys volsnap.sys Надо рыться в реестре... Запускаю regedt32, подгружаю куст реестра с флешки E:\windows\system32\config\system. Меняю параметр Start в ключах SYSTEM\ControlSet001\Services для каждого из этих драйверов на ноль, чтобы они загружались при старте. Выгружаю куст, перезагружаюсь. Чтобы было удобнее перезагружаться, я загружаюсь всегда с флешки. В boot.ini на ней прописан timeout=5 и три системы на выбор : multi(0)disk(0)rdisk(1)partition(1)\windows="Flash WinXP" /fastdetect /SOS multi(0)disk(0)rdisk(1)partition(2)\windows="Working WinXP" /fastdetect multi(0)disk(0)rdisk(1)partition(3)\windows="Clean WinXP" /fastdetect При запуске выбираю, с какого диска загрузиться. Загружаюсь с флешки - снова BSOD 07Bh! Уже и не знаю что делать... Лезу в google, ищу что-нибудь что может мне помочь. Нашел множество статей про BartPE и поменьше - с описанием моего способа. Итак, что там советуют помимо перечисленного.. 1 Установить параметр Group для всех usb драйверов в SYSTEM\ControlSet001\Services как Boot Bus Extender 2 Заменить файлы inf для приведенных драйверов в папке \WINDOWS\inf на скачанные у них 3 Использовать usb драйвера от WinXP Service Pack 1. Хм.. у меня нету таких.. не качать же весь сервис пак.. 4 При установке новой винды не использовать никаких usb устройств. С этим тоже сложно.. Как я без моей клавиатуры (usb ) установлю винду? 5 Заменить ntdetect.com Где я его возму? Итак, винда с флешки у меня не грузится... Я не очень хорошо разбираюсь в драйверах и устройствах для XP, поэтому спрашиваю у компетентных людей : - Действительно ли так важны 5 вышеперечисленных советов? Если можно, поподробнее, в чем заключаются изменения после каждого из них. - Может быть я пропустил что-то важное в своих действиях? Скажите мне - Если у кого-то есть успешный опыт установки полноценной Windows XP на флешку (руками я имею ввиду а не с помощью хитрых установочников), то поделитесь, пожалуйста. Заранее спасибо.
когда писал boot manager тоже этим заинтересовался : взял usb флэш pqi на 256 mb, на нём уже был записан MBR лоадер правдо не совсем стандартный - сначало как обычно - 31 C0 8E D0 BC 00 7C, а в середине кокой-то хитрый код. Отформатил под NTFS (эт можно под вистой), при загрузке пишет j и зависает даже Missing operating system не выдаёт. Скопировал MBR в следующий сектор а который раньне был - в MBR, загружаю - всё OK, пишет 'BOOTMGR is missing Press Ctrl+Alt+Del to restart' это что архитектурные особенности usb flash драйвов? Если windows на флэшку инсталлить может что нибуть ближе к doswin32 от Харона но с нормальным ядром. P.S. в винде есть какой то монопольный консольный режим (vga, фон голубой, шрифт белый, lucida console) в котором работает chkdsk и нек. др. утилиты , интересно можно ли к ниму прикрутить командный интерпретатор типа cmd.exe и работать в нём.
этот "монопольный консольный режим" есть только при загрузке, подсистема Win32 еще не загружена, работать в нем могут только Native-программы через NtDisplayString и ядро, используя HalDisplayString. Запускать там командный интерпретатор будет очень непросто
Блин, сделал наконец - то!!! Нодо было просто по интернету получше поискать... Теперь у меня есть полностью установленная на флешку Windows XP SP2. Только вот одна проблема - запускаться на однопроцессорных компах она не хочет. (Была изначально установлена на двухъядерный проц.) А на более-менее похожих - стартует без проблем, только каждый раз нужно HKLM\SYSTEM\MountedDevices удалять..
В Boot.ini добавь дополнительные entry с опциями KERNEL & HAL и укажи пути к соответствующим файлам с однопроцессорной инсталляции
Да тоже интересует что же всё-таки подправить чтоб всё завелось. А то помнится скачивал готовый Extra_Small_Windows_XP_USB_Flash_Edition.rar Запускал инсталляционный bat'ник. Всё нормально форматировалось и устанавливалось. Собственно после этого процесс загрузки выглядел так (в BIOS выбрана загрузка с USB Flash): 0. лампочка на флешке горит непрерывно. 1. система начинает грузиться с флешки, лампочка на флешке моргает. 2. показывает заставку Windows XP с индикатором прогресса, лампочка продолжает моргать 3. заставка исчезает как и полагается, вот-вот должен появиться экран входа в систему, лампочка на флешке гаснет совсем. 4. пара секунд и ... BSOD (код ошибки не помню, связано вроде с usbstor.sys) В порядке бреда: Насколько я понял суть проблемы - изначально BIOS эмулирует флешку как HDD, однако в процессе загрузки XP опознаёт подвох и начинает грузить дров для флешки, эмуляция BIOS'а при этом дохнет (лампочка гаснет - девайс отрубается) и тут конечно всё склеивает ласты ибо дров читать надо с флешки которую отрубили.
http://www.flashboot.ru/index.php?name=News&op=article&sid=8 я по этой статье систему ставил на внешний ноутбучный винт подключенный через usb, работает. да и сам сайт посмотри - там много чего
Ок. Вот ссылки http://www.winusb.de/tutorial3_en.html - инструкция по созданию загрузочной флешки http://www.911cd.net/forums//index.php?showtopic=14181&st=80- форум, посвященный этому Сейчас я пишу инструкцию на русском языке + делаю прогу для форматирования флешки
Ребят. подскажите плииз. я могу кинуть на флешу Образ своего СД который у меня есть? Ну так чтобы запуск с нее был, и я потом сразу мог запустить инсталяцию. спасиб
Или как (с помошью какой проги) по крайней мере сделать БУТзагрузку с USB даже простой дискеты Win98. Мне бы главное загрузится в ДОС с флешки, а уж там....
Я хочу рассказать как я делал загрузочную флешку. Порядок действий взят с http://www.winusb.de/tutorial3_en.html Итак, мы пытаемся сделать загрузочную usb флешку с установленной на ней Windows XP SP2. Для этого нам потребуется: 1) Рабочая версия Windows, из которой мы будем все делать. 2) Чистый логический диск (D:,E: и т.д.) на жестком диске. 3) Установочник Windows XP SP2 4) Флешку размером не менее 1Гб Давайте разберем последовательность по шагам, как что следать Шаг 1: Отключаем все другие usb устройства на компьютере (так ли это необходимо, я не знаю). Из установочника Windows из архива \I386\SP1.cab извлекаем с помощью WinRar во временную папку файлы usbehci.sys, usbhub.sys, usbohci.sys, usbport.sys, usbstor.sys, usbuhci.sys. Они будут нужны нам позже. Устанавливаем на чистый диск новую версию Windows SP2. Шаг 2: Загружаемся с новоустановленной Windows. Вимание: не устанавливайте никакие драйвера для устройств! Все это можно будет сделать потом. Для начала отключите автоматическую перезагрузку при ошибках (Свойства системы -Дополнительно - Загрузка и восстановление - Параметры - Уберите галочку с "Выполнить автоматическую перезагрузку") и использование swap-файла (Свойства компьютера - Дополнительно - Параметры быстродействия - Дополнительно - Изменить - Без файла подкачки -Ок) Вставьте вашу флешку и дождитесь пока Windows установит для нее все драйвера! Шаг 3: Загружаемся с рабочей версии Windows. Форматируем флешку как жесткий диск (то есть у стройство с логическими дисками). Windows понимает только один логический диск на сменных устройствах, поэтому создаем только один раздел и делаем его активным. Форматировать логический диск можно на любую файловую систему, но некоторый BIOSы понимают только FAT16 (еще называют просто FAT), поэтому лучше форматировать именно в нее. Утилиты для форматирования флешки можно найти в интернете. Копируем файлы ntldr, ntdetect.com, boot.ini, bootfont.bin с корневого каталога диска C: в корневой каталог флеш-диска. В файле boot.ini поместите следующее: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Flash" /fastdetect multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP Work" /fastdetect Первая строчка - загрузка с флешки, вторая - с вашего жесткого диска. Давайте протестируем, правильно ли вы форматировали флешку и поддерживает ли bios загрузку с нее. Для этого перезагрузитесь вместе с флешкой, зайдите в bios setup, установите определение USB - флешек, включите usb 2.0, установите порядок загрузки жестких дисков, чтобы флешка стояла первой. Затем попытайтесь загрузиться с нее если появится меню с выбором "Windows XP Flash" и "Windows XP Work", то значит все идет нормально. Если нет - причина или в формате флешки или в биосе. Шаг 4: Загружаемся с рабочей Windows. Запускаем редактор реестра (Выполнить - regedt32). Нам нужно изменить реестр Windows на флешке. Для этого выбираем меню Файл - Импорт. Далее выбираем файл WINDOWS\system32\config\system (тип - файлы кустов реестра) и загружаем его поверх ветки HKEY_LOCAL_MACHINE. В качестве имени укажите 123 Удаляем полностью ключ HKLM\123\MountedDevices Удаляем ключ HKLM\123\Control\CriticalDeviceDatabase Мы запишем собственную CriticalDeviceDatabase. Описание CriticalDeviceDatabase находится в следующем сообщении. Сохраните его у себя на компьютере как файл 123.reg Далее в редакторе реестра выбираем Файл - Импорт - выбираем наш файл (123.reg) Теперь надо немого подправить порядок загрузки драйверов USB при старте. Для этого зайдите в HKLM\123\Services. В каждом из ключей USBEHCI, USBOHCI, USBUHCI, USBHUB, USBSTOR смените Group на "System Reserved" (без кавычек, в USBSTOR надо создать) и Start на 0 Выгрузите куст 123 и загрузите его снова, чтобы сохранить изменения. Закройте редактор реестра. За мените файлы usb*.sys в папке \WINDOWS\system32\drivers на флешке теми, что мы извлекли на Шаге 1. Теперь надо сделать соответствующие изменения для usb драйверов и в inf файлах Windows. Далее перейдите в папку WINDOWS\inf на флешке. Удаляем файлы usb.pnf, usbport.pnf, usbstor.pnf. Далее откываем соответствующие им inf файлы (USB.INF, USBPORT.INF, USBSTOR.INF) В них должны быть описаны драйвера USBHUB, USBEHCI, USBOHCI, USBEHCI, USBSTOR. Для каждого из них есть раздел [***.AddService] В этом разделе для каждого драйвера меняем параметр StartType на 0 и LoadOrderGroup на "System Reserved" (для USBSTOR опять надо создать LoadOrderGroup) Шаг 5: Перезагружаемся, заходим в BIOS. Отключаем все жесткие диски! Загружаемся с флешки. В меню выбираем "Windows XP Flash" - все должно работать... При загрузке с других компов удаляйте ключ HKLM\123\MountedDevices Пишите, у кого получилось
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase] [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0000] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0100] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0200] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0303] "ClassGUID"="{4D36E96B-E325-11CE-BFC1-08002BE10318}" "Service"="i8042prt" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0800] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0a03] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" "Service"="pci" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0b00] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c01] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c02] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c04] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0c0c] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\*pnp0f13] "Service"="i8042prt" "ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\acpi#processor] "ClassGUID"="{50127DC3-0F36-415e-A6CC-4CB3BE910B65}" "Service"="Processor" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\gencdrom] "Service"="cdrom" "ClassGUID"="{4D36E965-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\gendisk] "Service"="disk" "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\hid_device_system_mouse] "Service"="mouhid" "ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\lexarusb#gendisk] "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}" "Service"="disk" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\lptenum#microsoftrawport958a] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0101] "Service"="pciide" "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0600] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0601] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" "Service"="isapnp" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0604] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" "Service"="pci" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0300] "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}" "Service"="usbuhci" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0310] "Service"="usbohci" "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#cc_0c0320] "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}" "Service"="usbehci" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_244e] "Service"="pci" "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\primary_ide_channel] "Service"="atapi" "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\PS2_KEYBOARD] "Service"="i8042prt" "ClassGUID"="{4D36E96B-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\PS2_MOUSE] "Service"="i8042prt" "ClassGUID"="{4D36E96F-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\root#swenum] "ClassGUID"="{4D36E97D-E325-11CE-BFC1-08002BE10318}" "Service"="swenum" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\secondary_ide_channel] "Service"="atapi" "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub] "Service"="usbhub" "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\usb#root_hub20] "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}" "Service"="usbhub" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\usb#Vid_0951&Pid_1602] "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}" "Service"="usbstor" [HKEY_LOCAL_MACHINE\123\ControlSet001\Control\CriticalDeviceDatabase\USBSTOR#DiskDiskKingstonDataTravelerMiniPMAP] "ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}" "Service"="disk"
Все работает. Другие USB устройства отключать перед установкой чистой винды нужно. Я первый раз когда делал забыл отключить юсб-принтер и нифига не вышло. Медлено тока работает ((
А windows PE никто не интересовался? Она с CD грузится. Это вообще перекроенная XPюшка насколько я знаю.
Я несколько месяцев назад ковырался с этой задачей. Береш сдираеш iso образ со своего Лив-СД, а потом лихо заливаеш его на флешку модный исо редактом. Все это может делать ultra iso portable. Прога портативная, весит около 9 мб. Я на флешки заливал образы самых разных Лив-Сд, и все прекрасно работает. Лично у меня было только одна проблема, флешка реально поднималась на двух компах на моем, и на ноутбуке товарища на 1500 USD, на всех остальных машинах ее только видно под биосом а загружатся не загружались.