Ошибка Sysprep после изменения расположения папки пользователя на другой раздел

602
Bas

Я использую Windows 10 Pro (версия 1607, выпущена в июле для MSDN) на виртуальной машине и получил несколько разделов на этой машине.

Для развертывания я использую этот файл ответов. Этот файл ответов проверяется диспетчером образа системы Windows.

<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="specialize"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <CopyProfile>true</CopyProfile> <DoNotCleanTaskBar>true</DoNotCleanTaskBar> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <FolderLocations> <ProfilesDirectory>U:\</ProfilesDirectory> </FolderLocations> </component> </settings> <cpi:offlineImage cpi:source="wim:e:/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> 

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

 <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <FolderLocations> <ProfilesDirectory>U:\</ProfilesDirectory> </FolderLocations> </component> </settings> 

Я на 100% U:\каталог там, и попытался изменить разделитель каталогов и попытался изменить его на U:\Profiles.

Всякий раз, когда я sysprep этой машины с помощью следующей команды:

sysprep.exe /generalize /oobe /unattend:unattend:xml

Я получаю следующие сообщения об ошибках на логотипе Windows при установке устройств.

enter image description here

enter image description here

Я также попытался обновить мою машину до последней версии. Обратите внимание, что моя Windows не активирована.

Как я могу исправить эту проблему?

1
Is the U: drive a local hard drive? You can't set the user profile directory to a network mapped drive letter with an answer file, nor can you use a removable (USB or otherwise) drive. Wes Sayeed 8 лет назад 0
@WesSayeed Это локальный логический раздел, который отформатирован как NTFS. Там в настоящее время нет папок, я попытался создать там папку «Профили» и заново установить местоположение для этой папки. Кстати, машина 64-битная. Bas 8 лет назад 0
How are you deploying this? Is it a custom USB installer you're making, or are you using WDS/MDT/SCCM to deploy it? Wes Sayeed 8 лет назад 0
@WesSayeed Я просто развернул его на той же машине. Так что просто перезагрузите машину в режим OOBE. Это только для целей тестирования, когда я создал полный файл WIM, я собираюсь использовать WinPE, чтобы применить образ на ПК Bas 8 лет назад 0
Оставленный вами комментарий исчез, вы его удалили? Bas 8 лет назад 0
Да, я сделал, потому что я перечитал ваш вопрос и увидел, что вы пробовали подпапку (а не просто корень U :), что и было предложено в моем комментарии. :) Ƭᴇcʜιᴇ007 8 лет назад 0
Хорошо. Еще одно обновление, я попытался переместить его на мой диск C: /, который работал, но не привел меня к реальной учетной записи, он продолжал перезагружаться в режим OOBE после того, как я закончил настройку. Bas 8 лет назад 0

1 ответ на вопрос

2
Wes Sayeed

Я подозреваю, что это, вероятно, происходит из-за /generalizeварианта.

Работа Sysprep в жизни состоит в том, чтобы подготовить Windows к клонированию. С этой целью он удаляет всю системную информацию из реестра, включая назначение букв дисков, и запускает программу установки Windows после перезагрузки.

Программа установки Windows не предполагает ничего о машине, на которой она «просыпается». Единственная причина, по которой он даже знает, какой диск - это C: это потому, что хранилище BCD сообщило ему об этом. Например, можно испортить это хранилище BCD и установить Windows на E: вместо C :. Не имея никакой другой информации о системе, программа установки начнет обнаружение устройства и назначит буквы дисков в порядке, в котором находятся разделы. Если ваш U: диск, скажем, 4-й раздел на 1-м жестком диске, ему может быть назначена буква F:, а не U: (Ха-ха, я только что сказал F: U :).

Если вы не используете эту /generalizeопцию, то Sysprep не будет обрабатывать ни разделы, <Generalize>ни <Specialize>разделы вашего файла ответов (где находятся ваши CopyProfileнастройки). Итак, вы видите, что вы находитесь в некотором роде здесь.


Попробуйте это:
поместите ProfilesDirectoryнастройку обратно в файл ответов и снова запустите Sysprep с /generalizeпараметром. После того, как произойдет ошибка, посмотрите на \Windows\Panther\setuperr.logфайл (или на какой-то подкаталог в нем - вы можете увидеть несколько, так что ищите тот, на котором указана сегодняшняя дата). В этом файле программа установки Windows должна указать точную причину сбоя процесса (т. Е. Какой конкретный пропуск и настройка вызвали ошибку и какие у нее проблемы).

Обратите внимание, что Microsoft настоятельно не рекомендует использовать этот параметр. Они предупреждают, что изменение его по умолчанию предотвратит обновления и заблокирует работу приложений Магазина Windows. Это в основном не поддерживается согласно их собственной документации о функции

Alright, but how can I possibly get that drive to be the U:/ letter then? And my machine is sort-off bricked after I done that sysprep, the only thing I can do is to re-install windows. can i still get to that log file? Bas 8 лет назад 0
Обновление: в файле `setuperr.log` не отображаются какие-либо конкретные ошибки после загрузки с установочного диска Windows и открытия этого файла в блокноте. Я обнаружил в блокноте, раздел пользователя действительно изменил свою букву драйвера на D: / Bas 8 лет назад 0
Другое обновление, после переустановки Windows и повторения всего этого процесса, заработало. Bas 8 лет назад 0