Мигает курсор при загрузке восстановленного изображения Ghost

Я создаю сценарии автоматического развертывания для универсальных образов рабочих станций, и я нашел то, через что я не могу работать. Я надеюсь, что кто-то еще сталкивался с этим раньше, и я просто не ищу должным образом, или что я пропускаю что-то явно очевидное через 16 часов.

Среда:

  • Ghost32 11,5
  • WinPE 3.0
  • Образ диска Windows XP Sp3 с одним разделом

Похоже, что в любое время целевой диск полностью пуст; после восстановления и перезагрузки я застреваю с бесконечно мигающим курсором в верхнем левом углу.

Я подробно опишу сценарии, которые я до сих пор пробовал, в надежде, что кто-то увидит то, что я пропустил.

(В каждом из них загрузочный носитель для WinPE - это USB-диск (который загружает WinPE в RAM @ X:), а целевой жесткий диск - это внутренний SATA на 74 ГБ)

Редактировать: я думал, что Diskpart может быть проблемой, и повторил их с помощью Gdisk32 для завершения операций с диском без изменения результата.

Сценарий 1

(Целевой диск имеет рабочий загрузочный основной раздел Windows XP NTFS, занимающий весь диск.)

Я запускаю Diskpart, выбираю диск (0) и CLEAN Это. (Выход из этого шага даст те же результаты)

Затем я запускаю ghost32.exe и перехожу на локальный диск из образа и выбираю свое изображение, ориентируясь на диск 0

Все работает, как запланировано, система загружается, sysprep запускается, и мы готовы к работе.

Сценарий 2

(продолжение сверху)

Загрузитесь обратно в WinPE. Запустите Diskpart, выберите диск 0 и CLEAN Это. Перезагрузите систему обратно в WinPE.

(Я проверил, что диск 0 пуст)

Я запускаю ghost32.exe, как указано выше, и восстанавливаю диск из образа.

Мигающий курсор без конца.

Если я перезагружусь в WinPE и восстановлю снова в этот момент, он будет работать, по сути, так же, как в сценарии 1, только он [не] работал до этого.

Сценарий 3

(полагая, что это может быть связано с назначением буквы диска в WinPE и изменениями, которые Ghost32 может внести в восстановленный диск)

Я загружаюсь в WinPE и CLEAN диск 0, затем перезагрузите компьютер снова.

Когда целевой диск пуст, исходный диск получает букву диска C: в WinPE. После восстановления вновь созданный раздел получит более позднюю букву (E: в этом случае диск Cd-Rom получает D: [он пуст]).

Загрузился обратно в WinPE; Я ввожу Diskpart и переназначаю букву диска исходного диска от C: до W: и выхожу из Diskpart.

Я запускаю ghost32.exe, как указано выше, и восстанавливаю диск из образа.

Мигающий курсор без конца.

Сценарий 4

(Загрузился, почистил и снова перезагрузил)

Я ввожу Diskpart и создаю основной раздел на диске 0 (пробовал оба RAW и форматировал как NTFS с двух разных попыток).

Я запускаю ghost32.exe, как указано выше, и восстанавливаю диск из образа через только что созданный раздел.

Мигающий курсор без конца.

Сценарий 5

(Загрузился, почистил и снова перезагрузил)

Я вхожу в Diskpart и создаю основной раздел на диске 0 размером 10 МБ, неформатированный RAW и не ACTIVE.

Я перезагружаю систему обратно в WinPE (источник все еще получает диск C: так как это единственный отформатированный раздел), я запускаю ghost32.exe, как указано выше, и восстанавливаю диск из образа....

Все работает, как задумано, sysprep запускается и рабочий стол подходит.

Вопрос

Почему в мире должен быть раздел на целевом диске в то время, когда ОС сборки запускает Ghost32 для создания работоспособного восстановленного диска?

Что я здесь делаю не так, я должен что-то упустить. Если я восстанавливаю весь диск, почему это имеет значение, что было [или точнее; не было] на целевом диске до восстановления. Я должен получить точную копию оригинала, который был также диском 0 и единственным диском в системе.

Любая помощь здесь будет принята с благодарностью, я готова вырвать мои волосы. Я действительно не хочу использовать сценарий для создания необработанного раздела и принудительной перезагрузки при обнаружении пустой цели (что является наиболее вероятным сценарием, когда кто-то перестраивает рабочую станцию).

Следовать за

Проблема возникает только на ноутбуках HP nc6400. Я еще не нашел другую модель рабочей станции, которая воссоздала бы проблему. Теперь я был в состоянии проверить на нескольких, и все они показывают то же самое поведение (к счастью для меня, мы просто вытащили все это с поля из-за возраста).

Проблема НЕ возникает с использованием того же изображения при загрузке с DVD; Так что, похоже, это связано с исходным медиа. Я подумал, что это может быть способ, которым система обнаруживает USB-накопитель (некоторые рассматривают их как съемные носители, другие как фиксированные диски), но в другой имеющейся в моем распоряжении системе, которая позволяла контролировать эту опцию, не было показано то же самое проблема в любом режиме.

При восстановлении системы с использованием ImageX проблема не возникает, поэтому, похоже, проблема в том, как эта конкретная система обрабатывает USB-накопитель и операции после восстановления, которые выполняет Ghost32.

3 ответа

Решение

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

Я не знаком с конкретной моделью, которую вы описали как затронутой, но это звучит довольно похоже на проблему, которая возникла в некоторых моделях ThinkPad (моя память говорит T60), которые использовали нестандартную многосекторную MBR, которая занимала несколько секторов загрузочный трек, а не обычный, с результатами, идентичными тому, что вы описываете.

Классический формат изображений Ghost до введения ключа -IB хранил только оригинальный единственный сектор MBR; это означает, что образы систем, которые на самом деле содержат нестандартный многосекторный контент дорожки загрузки, содержат только половину необходимого загрузочного кода.

Почти во всех ситуациях, когда исходный образ не был взят с помощью ключа -IB, если Ghost обнаруживает загрузочный код на целевом диске, на который вы восстанавливаете, он имеет тенденцию оставлять исходный загрузочный код нетронутым и просто манипулирует таблицей разделов в загрузочном секторе., Это сделано для того, чтобы иметь дело с системами, которые использовали специальный загрузочный код (например, системы с хуками загрузочного сектора для замены BIOS), и означает, что в большинстве случаев, если целевой системе нужен такой пользовательский загрузочный код, ее оставляют в покое и будет продолжать загрузку.

Однако, если целевой диск полностью пуст, Ghost будет использовать загрузочный код из образа для сектора MBR. Если, как и в случае ThinkPad, который мы обнаружили в наших лабораториях контроля качества, вы взяли образ без дополнительных переключателей, то сектор, который он восстанавливает, пытается загрузить оставшуюся часть себя из более поздних секторов в дорожке загрузки, которые по умолчанию Ghost оставляет в покое.

Итак, у вас есть несколько вариантов; вы можете использовать gdisk / mbr после восстановления, чтобы принудительно использовать стандартную "безопасную" MBR вместо настраиваемой MBR производителя, или вы можете использовать ключ -IB с Ghost при захвате исходного изображения, чтобы заставить Ghost отображать все сектора в загрузочный трек, а не только MBR.

Вышесказанное - это то, что мы обнаружили в наших лабораториях в Окленде, где мы разрабатывали Ghost (до 2009 года, когда Symantec закрыла сайт и отменила разработку продукта Ghost Solution Suite); Криш Jayaratne, который был нашим менеджером по контролю качества, обнаружил это и провел основное расследование в отношении обходных путей, а затем он провел небольшую проверку, чтобы подтвердить наличие дополнительного загрузочного кода.

Хотя ваша ситуация может не совпадать, это, безусловно, звучит точно так же, и я подозреваю, что решение должно быть таким же. Я несколько раз проходил через клиентов на официальных форумах Symantec, и это было довольно тщательно задокументировано, но поскольку продукт Ghost Solution Suite был отменен, Symantec утратила большую часть институциональных знаний в этой области.


Изменить, чтобы добавить: как я уже отмечал выше, Ghost при восстановлении по умолчанию для "обычных" образов оставляет загрузочный код в MBR полностью одним, если присутствует существующий MBR. Однако, если ключ -IB был использован для захвата изображения, этот факт записывается как часть метаданных файла изображения (на самом деле, это справедливо для довольно многих ключей; часть обфусцированного заголовка файла имеет большой в нем есть битовый массив, заполненный глобальными переменными - да, действительно, - в которые анализатор аргументов извлекает переключатели командной строки). Таким образом, не только изображения, снятые с -IB, имеют слегка различную структуру для размещения дополнительных загрузочных секторов, сторона процесса восстановления "знает", что -IB использовался для получения образа.

Мое воспоминание о процессе (хотя у меня больше нет исходного кода для его подтверждения) таково, что если бы -IB использовался для захвата образа, по умолчанию загрузочный код и дополнительные загрузочные секторы всегда будут восстанавливаться, делая Процесс восстановления имеет обработку по умолчанию, противоположную загрузочному коду для обычных образов. Часть логики заключается в том, что в интерфейсе восстановления нет загрузочного кода, хранящегося в образе в выбираемом контейнере - у вас нет способа выразить выбор, восстанавливать его или нет (добавив, что быть немного усложненным юзабилити; пользовательский интерфейс никогда не бывает "бесплатным", если люди не понимают, что это значит). Другое - некоторые из наиболее важных пользователей Ghost были производителями компьютеров, которые лицензировали его для своих дисков восстановления OEM; если по какой-либо причине заводской образ восстановления изготовителя компьютера содержал пользовательский загрузочный код, то обычно по умолчанию они хотели бы его вернуть, и наличие -IB также подразумевает, что небольшая разница в поведении при восстановлении выглядит как "правильное" значение по умолчанию.

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

Можете ли вы нажать F8 во время загрузки и перейти в режим восстановления командной строки? Если вы попали туда, попробуйте либо FIXBOOT, либо, если это не сработает, запустите CHKDSK /r.

Звучит как ошибка Призрака. Одна вещь, которую я не вижу или, возможно, отсутствует: вы пробовали сценарий diskpart для очистки, создания, активации и назначения всего сразу?

Другие вопросы по тегам