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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista (http://forum.oszone.net/forumdisplay.php?f=83)
-   -   [решено] Bcdedit и 2 wim проблема. (http://forum.oszone.net/showthread.php?t=173003)

Dark Engel 13-04-2010 11:11 1391396

Bcdedit и 2 wim проблема.
 
Коллеги прошу помощи. Бьюсь третий день но Bcdedit упорно считает меня индусом и не хочет делать то что я прошу.
Итак: Есть два образа Wim один x86 второй x64.
Вопрос: Как сделать меню bcd с их загрузкой.

Делаю так:
Код:

bcdedit /createstore \pxe\BCD
bcdedit /store \pxe\bcd /create {ramdiskoptions} /d "Ramdisk options"
bcdedit /store \pxe\bcd /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store \pxe\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
bcdedit /store \pxe\BCD /create /d "Windows x86" /application osloader
получаю GUID
bcdedit /store \pxe\BCD /create /d "Windows x64" /application osloader
получаю GUID2

bcdedit /store \pxe\BCD /set {GUID} systemroot \Windows
bcdedit /store \pxe\BCD /set {GUID} detecthal Yes
bcdedit /store \pxe\BCD /set {GUID} winpe Yes
bcdedit /store \pxe\BCD /set {GUID} osdevice ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}
bcdedit /store \pxe\BCD /set {GUID} device ramdisk=[boot]\Boot\WinPE.wim,{ramdiskoptions}

bcdedit /store \pxe\BCD /set {GUID2} systemroot \Windows
bcdedit /store \pxe\BCD /set {GUID2} detecthal Yes
bcdedit /store \pxe\BCD /set {GUID2} winpe Yes
bcdedit /store \pxe\BCD /set {GUID2} osdevice ramdisk=[boot]\Boot\WinPE2.wim,{ramdiskoptions}
bcdedit /store \pxe\BCD /set {GUID2} device ramdisk=[boot]\Boot\WinPE2.wim,{ramdiskoptions}

bcdedit /store \pxe\BCD /create {bootmgr} /d "Windows PE loader"
bcdedit /store \pxe\BCD /set {bootmgr} timeout 30
bcdedit /store \pxe\BCD /displayorder {GUID} {GUID2}

В итоге. Первый пункт работает, а второй вылетает с ошибкой 0xc000000f. + оба пункта называются Ramdisk options, а не указанными названиями.
Вопрос: что я делаю не так. Need Help.

P/S Все это предназначено для загрузки с pxe.
Заранее спасибо за помощь.

Решение тут http://forum.oszone.net/post-1393074-9.html

okshef 13-04-2010 12:18 1391455

В принципе, никогда таких глобальных задач не решал, но давайте попробуем разобраться вместе. Первое: что является источником для выполнения именно этих команд. Второе, оно конечно муторно, но все-таки, дайте комментарий (как вы его видите) к каждой команде. (То, что BCD находится в \pxe\bcd я понимаю :))
Выполните команду
Код:

bcdedit /store \pxe\bcd /enum active
и посмотрите, какие записи являются активными.
Затем
Код:

bcdedit /store \pxe\bcd /enum all
Сравните. Можете вывести их в файл, посмотрим.

Dark Engel 13-04-2010 13:11 1391495

Зачем все это сделано. Замена RIS с намного большей гибкостью.
Имеем
сервер dhcp в котором прописана загрузка pxelinux.0
далее загружается pxelinux (из состава syslinux) меню isolinux (утилиты, linux, windows итд)
далее при выборе пункта нужно сделать запуск bcd с выбором Windows x86 или x64. Ибо загрузчик pxeboot.n12 из висты PE что для x86 что для x64 ищет файл BCD. То есть нужно меню bcd.

Сумбурно получилось описать. Если что уточняйте.

Результат команды bcdedit /store \pxe\bcd /enum active

читать дальше »
Код:

C:\Windows\system32>bcdedit /store d:\pxe\bcd /enum active

Диспетчер загрузки Windows
--------------------
идентификатор          {bootmgr}
description            WindowsPE Loader
displayorder            {17128c03-46c4-11df-8f78-0026221bc174}
                        {771d7171-46c4-11df-8f78-0026221bc174}
timeout                10

Загрузка Windows
-------------------
идентификатор          {17128c03-46c4-11df-8f78-0026221bc174}
device                  ramdisk=[boot]\boot\WinPE.wim,{ramdiskoptions}
description            Windows x86
osdevice                ramdisk=[boot]\boot\WinPE.wim,{ramdiskoptions}
systemroot              \Windows
detecthal              Yes
winpe                  Yes

Загрузка Windows
-------------------
идентификатор          {771d7171-46c4-11df-8f78-0026221bc174}
device                  ramdisk=[boot]\boot\WinPex64.wim,{ramdiskoptions}
description            Windows x64
osdevice                ramdisk=[boot]\boot\WinPex64.wim,{ramdiskoptions}
systemroot              \Windows
detecthal              Yes
winpe                  Yes



Результат команды bcdedit /store \pxe\bcd /enum all
читать дальше »
Код:

C:\Windows\system32>bcdedit /store d:\pxe\bcd /enum all

Диспетчер загрузки Windows
--------------------
идентификатор          {bootmgr}
description            WindowsPE Loader
displayorder            {17128c03-46c4-11df-8f78-0026221bc174}
                        {771d7171-46c4-11df-8f78-0026221bc174}
timeout                10

Загрузка Windows
-------------------
идентификатор          {17128c03-46c4-11df-8f78-0026221bc174}
device                  ramdisk=[boot]\boot\WinPE.wim,{ramdiskoptions}
description            Windows x86
osdevice                ramdisk=[boot]\boot\WinPE.wim,{ramdiskoptions}
systemroot              \Windows
detecthal              Yes
winpe                  Yes

Загрузка Windows
-------------------
идентификатор          {771d7171-46c4-11df-8f78-0026221bc174}
device                  ramdisk=[boot]\boot\WinPex64.wim,{ramdiskoptions}
description            Windows x64
osdevice                ramdisk=[boot]\boot\WinPex64.wim,{ramdiskoptions}
systemroot              \Windows
detecthal              Yes
winpe                  Yes

Настройка параметров Ramdisk
---------------------
идентификатор          {ramdiskoptions}
description            Ramdisk options
ramdisksdidevice        boot
ramdisksdipath          \boot\boot.sdi



Раньше не было необходимости в x64 и был bcd сделанный по этой статье PXE

Boa Soft 13-04-2010 13:42 1391511

Цитата:

Цитата Dark Engel
В итоге. Первый пункт работает, а второй вылетает с ошибкой 0xc000000f. »

Я делал загрузочным внешний HDD под server 2008 r2. Наткнулся на ту же ошибку. Пока по советам "ведущих собаководов" не переразбил и отформатировал винчестер по x64 семеркой и под ней же скопировал все файлы. После этого загрузка пошла нормально. Может это вам поможет.

Dark Engel 13-04-2010 14:14 1391537

Цитата:

Цитата Boa Soft
Я делал загрузочным внешний HDD под server 2008 r2. Наткнулся на ту же ошибку. Пока по советам "ведущих собаководов" не переразбил и отформатировал винчестер по x64 семеркой и под ней же скопировал все файлы. После этого загрузка пошла нормально. Может это вам поможет. »

Проблема к сожалению в том что все файлы для загрузки находятся на linux сервере. То есть рабочая станция получает с dhcp адрес RIS сервера и оттуда загружает меню. Далее производится выбор установки Windows и должна загрузится WinPE на базе Vista. Ранее когда был bcd на один WinPE все было пучком. Теперь добавился пункт для загрузки Winpe2. На сей момент ситуация следующая. Первый пункт (старый winPE) грузится как и раньше. А вот новый пункт (WinPe2) шлет курить help с указанной выше ошибкой.

okshef 14-04-2010 08:16 1392087

Если руководствоваться статьей Краткое руководство: развертывание образа с помощью технологии PXE, то все должно получаться. Попробуйте добавить сведения по п.3 - настройка отладчика ядра. Правда не знаю, поможет ли. Буду думать.

Dark Engel 14-04-2010 09:47 1392122

Спс за ссылочку. Сейчас попробую.

Dark Engel 14-04-2010 10:46 1392157

Гм... странно не могу выполнить вот эту команду:
Bcdedit –store c:\BCD –create {bootmgr} /d “Windows VISTA BootManager” /inherit {dbgsettings}
если убрать /inherit {dbgsettings} то команда выполена успешно. Но результат все равно тот же. Первый пункт грузится, а второй нет.

Dark Engel 15-04-2010 10:00 1393074

Я нашел решение. Все работает вот с таким листингом

BCD.cmd
Код:

bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create {ramdiskoptions}
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice  Boot
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath  \Boot\boot.sdi
for /F "tokens=2" %%i in ('bcdedit -store %1\BCD -create /d "Windowsx86" /application osloader') do  set guid=%%i
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Yes
bcdedit -store %1\BCD -set %guid% winpe Yes
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[Boot]\Boot\WinPE.wim,{ramdiskoptions}
bcdedit -store %1\BCD -set %guid% device ramdisk=[Boot]\Boot\WinPE.wim,{ramdiskoptions}
for /F "tokens=2" %%j in ('bcdedit -store %1\BCD -create /d "Windowsx64" /application osloader') do  set guid2=%%j
bcdedit -store %1\BCD -set %guid2% systemroot \Windows
bcdedit -store %1\BCD -set %guid2% detecthal Yes
bcdedit -store %1\BCD -set %guid2% winpe Yes
bcdedit -store %1\BCD -set %guid2% osdevice ramdisk=[Boot]\Boot\WinPEx64.wim,{ramdiskoptions}
bcdedit -store %1\BCD -set %guid2% device ramdisk=[Boot]\Boot\WinPEx64.wim,{ramdiskoptions}
bcdedit -store %1\BCD -create {bootmgr} /d "Windows VISTA BootManager"
bcdedit -store %1\BCD -set {bootmgr} timeout 10
bcdedit -store %1\BCD -set {bootmgr} displayorder %guid% %guid2%

Строка запуска bcd.cmd диск:\путь на папку


Время: 18:39.

Время: 18:39.
© OSzone.net 2001-