Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   [решено] Можно ли установить Windows XP c WinPE (http://forum.oszone.net/showthread.php?t=190184)

xp9 03-11-2010 18:36 1534045

Можно ли установить Windows XP c WinPE
 
Имеется флешка -хочу сделать ее загрузочной.
И чтобы установка запускалась с Windows XP Live CD.
Как это-сделать,как будет выглядеть и возможно ли это?

Destruction 03-11-2010 19:38 1534087

ну вообще WinPE изначально и предназначена для установки Windows на чистую систему как замена дос

xp9 03-11-2010 22:34 1534238

А перезаписывается ли установщиком XP загрузчик на флешке -например Grub.

sector48 04-11-2010 14:32 1534634

xp9, Можно попробывать так

morres 12-08-2011 14:46 1730574

я создал свой WinPE 3.0 добавив в качестве шела Total Commander, на Virtual Box установил чистый Windows XP собрал его в WIM-образ и с помощью утилиток diskpart и imagex размечаю диск и устанавливаю XP из собранного WIM-образа.
По поводу правильной сборки WIM образа при использование Virtual Box читаем тут:
http://habrahabr.ru/blogs/windows/73268/
Ну, а по поводу интеграции Total Commander мой вариант вот:
1. Смонтировал winpe.wim и создал где положено файлик
Winpeshl.ini:
Код:

[LaunchApp]

[LaunchApps]
%SYSTEMROOT%\System32\wpeutil.exe, "SetKeyboardLayout 0409:00000409"
%SYSTEMROOT%\System32\wpeutil.exe, "InitializeNetwork"
%SYSTEMROOT%\System32\shell.cmd

2. Создал скрипт
shell.cmd:
Код:

:: утилитка скрывающая окно CMD
cmdow @ /hid
@echo off

:: цикл, в котором на всех дисках ищется файлик flashtag и
:: буква диска, где есть этот файлик присваивается переменной %FLASH%
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\flashtag SET FLASH=%%d:

:: добавляем нужные нам пути в переменную %PATH%
SET PATH=%PATH%;%FLASH%\soft;%FLASH%\soft\tools

:: запускаем Total Commander и в качестве параметров
:: указываем файлик с его настройками подготовленный заранее
start /wait %FLASH%\soft\totalcmd\TOTALCMD.EXE /i=%FLASH%\soft\totalcmd\wincmd.ini /L=%FLASH%\ /R=X:\
exit

Я специально не стал размещать Total Commander внутри самого winpe.wim чтобы не разбазаривать оперативку, необходимую для PE. C этой же целью не стал добавлять нужные мне утилитки непосредственно в winpe.wim, а скопировал их на флешку/диск. Для этого и добавил путь %FLASH%\soft\tools к переменной окружения %PATH%.

3. В файлик настроек Total Commander я добавил секцию
wincmd.ini:
Код:

* * *
[DirMenu]
menu1=Repartition Disk 0
cmd1=%FLASH%\exec\repartition_disk_0.cmd
menu2=Repartition Disk 1
cmd2=%FLASH%\exec\repartition_disk_1.cmd
menu3=Apply Windows XP Pro SP3 VLK Ru on Drive C
cmd3=%FLASH%\exec\apply_wim.cmd xp vlk
menu4=Apply Windows XP Pro SP3 OEM Ru on Drive C
cmd4=%FLASH%\exec\apply_wim.cmd xp oem
menu5=Apply Windows XP Pro SP3 HOME Ru on Drive C
cmd5=%FLASH%\exec\apply_wim.cmd xp home
menu6=Acronis Backup & Recovery
cmd6=%FLASH%\exec\acronis.cmd
menu7=AIDA64
cmd7=%FLASH%\soft\AIDA64\aida64.exe
menu8=Ultra ISO
cmd8=%FLASH%\soft\UltraISO\UltraISO.exe
* * *

По сочетанию клавиш Ctrl+D вызывается данное меню. Думаю, по содержанию тут всё понятно.

4. Скрипт repartition_disk_0.cmd запускает лишь одну строку diskpart /s %FLASH%\exec\repartition_disk_0.txt - т.е. утилита diskpart отрабатывает по сценарию описанному в файле
repartition_disk_0.txt:
Код:

select disk 0
clean
create partition primary
active
assign
format quick

В данном случае первый установленный в системе жесткий диск очищается от всего, а потом на нём создаётся первичный раздел, этот раздел делается активным (чтобы он был загрузочным) и форматируется. Использование заранее определённых сценариев diskpart очень ускоряет процесс подготовки HDD для установки системы, можете наделать их по своему предпочтению.

5. Ну, и последний скрипт, который при помощи утилитки imagex устанавливает windows. У меня скрипт универсальный. Как можно увидеть из команд запускаемых в меню Total Commander (см п. 3) скрипт запускается с параметрами apply_wim.cmd xp vlk. Первый параметр это имя WIM-образа (без расширения), второй параметр это издание внутри указанного WIM-образа. Ну, и сам скрипт
apply_wim.cmd:
Код:

@echo off
if /i "%1"=="" goto usage
if /i not "%1"=="xp" if /i not "%1"=="vista" if /i not "%1"=="seven" goto usage
if /i "%2"=="" goto usage
if /i not "%3"=="" goto usage


set izdanie=0
rem -------------------- XP edition select -----------------------
if /i "%1"=="xp" (
        if /i "%2"=="vlk" (
                set izdanie=1
                goto install
        )
        if /i "%2"=="oem" (
                set izdanie=2
                goto install
        )
        if /i "%2"=="home" (
                set izdanie=3
                goto install
        )
)
rem ------------------ SEVEN edition select ----------------------
if /i "%1"=="seven" (
        if /i "%2"=="homebasic" (
                set izdanie=1
                goto install
        )
        if /i "%2"=="homepremium" (
                set izdanie=2
                goto install
        )
        if /i "%2"=="professional" (
                set izdanie=3
                goto install
        )
        if /i "%2"=="enterprise" (
                set izdanie=4
                goto install
        )
        if /i "%2"=="ultimate" (
                set izdanie=5
                goto install
        )
)

:install
if %izdanie%==0 goto usage
rem echo imagex /apply %FLASH%\images\%1.wim %izdanie% c:\
if NOT EXIST %FLASH%\images\%1.wim goto wimerror
imagex /apply %FLASH%\images\%1.wim %izdanie% c:\


goto :EOF

:usage
echo Usage: apply_wim [xp^|vista^|seven] [oem^|vlk^|home] ^| [homebasic^|homepremium^|professional^|enterprise^|ultimate]
echo.
echo Example: apply_wim xp oem
pause
goto :EOF

:wimerror
echo WIM-image not found!
pause
goto :EOF


morres 16-08-2011 17:46 1733225

Доработал свою флешку:

* Сделал чтобы флешке принудительно назначалась буква Y:

Иначе получается небольшой "конфуз": когда на жестких дисках компьютера (на котором грузишься с этой WinPE) отсутствуют тома, то диском С: становится загрузочная флешка, что делает установку Windows не такой гладкой. В общем, переработал
Winpeshl.ini:
Код:

[LaunchApp]

[LaunchApps]
%SYSTEMROOT%\System32\initialize.cmd
%SYSTEMROOT%\System32\reassign_flash.cmd
%SYSTEMROOT%\System32\shell.cmd

Как мы видим - разбил загрузку WinPE на 3 этапа:
1ый - инициализация WinPE - чтобы флешке автоматом присвоилась свободная буква, хоть даже и С: - не важно (нам же надо как-то найти нашу флешку чтоб переназначить ей букву)
initialize.cmd:
Код:

cmdow @ /HID
@echo off
wpeinit
wpeutil InitializeNetwork
wpeutil SetKeyboardLayout 0409:00000409

да, кстати, startnet.cmd я не использую и удалил из него все команды.
2ой - переназначение буквы флешки - мы находим нашу флешку с помощью фйлика flashtag, а затем запускаем diskpart со сценарием assign_Y_to_flash.ini
reassign_flash.cmd:
Код:

cmdow @ /HID
@echo off
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\flashtag SET FLASH=%%d:
diskpart /s assign_Y_to_flash.ini
exit

содержимое сценария
assign_Y_to_flash.ini
Код:

select volume %FLASH%
remove letter=%FLASH%
assign letter=Y

3ий этап это запуск оболочки. Я его оставил без изменений (см. предыдущий пост пункт 2). Конечно же, теперь в скрипте shell.cmd можно не использовать цикл поиска буквы флешки и переменную %FLASH%, а явно указывать диск Y: (если будете менять не забудьте про wincmd.ini)

* Добавил в WinPE средство для монтирования ISO-образов!

Очень полезная штука! После этого можно Windows устанавливать прямо из образа!
1. Качаем filedisk 1.7.
2. Монтируем наш boot.wim средствами WAIK
3. Из скачанного архива закидываем файлик filedisk.sys в .\mount\Windows\System32\drivers\
4. Из скачанного архива закидываем файлик filedisk.exe в .\mount\Windows\System32\ (как вариант, можете закинуть этот файл к остальным утилитам путь к которорым добавлен к переменной %PATH% - см. предыдущий пост пункт 2).
5. Из скачанного архива открываем в блокноте файлик filedisk.reg и заменяем SYSTEM\CurrentControlSet на WINPE\ControlSet001. (Ctrl+H вам в помощь). Чтобы не портить оригинал делаем Сохранить как, ну и, например, pe_filedisk.reg.
6. Запускаем regedit.exe, встаём курсором на HKEY_LOCAL_MACHINE, в меню Файл выбираем Загрузить куст..., указываем .\mount\Windows\System32\config\SYSTEM, имя раздела задаём WINPE. В результате у нас должен появиться раздел HKEY_LOCAL_MACHINE\WINPE. Далее жмем Файл -> Импорт... и указываем файлик сохранённый на предыдущем этапе (pe_filedisk.reg). Встаём на нраздел WINPE, ну, и жмём Файл -> Выгрузить куст....
После этого можно демонтировать образ WinPE сохранив изменения и загрузившись с него поэкспериментировать с новой утилиткой

* Добавил в меню Total Commander строку для запуска нового скрипта.

wincmd.ini:
Код:

[DirMenu]
menu9=Install Windows from Original ISO
cmd9=%FLASH%\exec\xp_iso.cmd ru_win_xp_pro_sp3_vl.iso xp_vl.sif

Как видим - скрипт xp_iso.cmd запускается с параметрами: ru_win_xp_pro_sp3_vl.iso - имя файла образа с которого будем ставить Windows, xp_vl.sif - имя файла ответов для автоматической установки Windows. Скрипт делает следующее
xp_iso.cmd:
Код:

cmdow @ /HID
@echo off
SET ISO_PATH=%FLASH%\ISO
SET UNATTEND_PATH=%FLASH%\Unattend
bootsect /nt52 c:
filedisk /mount 0 %ISO_PATH%\%1 /cd Z:
start /wait Z:\i386\winnt32 /syspart:c: /tempdrive:c: /makelocalsource /unattend:%UNATTEND_PATH%\%2
filedisk /umount Z:
exit

p.s.
в основу для данного поста легла информация позаимствованная вот отсюда:
http://www.msfn.org/board/topic/1396...-from-usb-hdd/


Время: 13:04.

Время: 13:04.
© OSzone.net 2001-