Назад | Перейти на главную страницу

Как я могу подготовить образ VMware с помощью sysprep и сохранить дополнительный жесткий диск

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

На этой базовой машине у меня есть небольшой системный диск на 10 ГБ и больший диск с данными на 40 ГБ. Когда я sysprep виртуальной машины, она удаляет дополнительный жесткий диск. Ну, он все еще появляется, но диспетчер сервера сообщает, что он отключен.

В моем файле ответов есть следующее

<?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">
        <ComputerName></ComputerName>
        <RegisteredOrganization>XXXXXX</RegisteredOrganization>
        <RegisteredOwner>XXXXXX</RegisteredOwner>
        <ShowWindowsLive>false</ShowWindowsLive>
    </component>
    <component name="Microsoft-Windows-Security-Licensing-SLC-UX" 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">
        <SkipAutoActivation>true</SkipAutoActivation>
    </component>
    <component name="Microsoft-Windows-IE-ESC" 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">
        <IEHardenAdmin>false</IEHardenAdmin>
        <IEHardenUser>false</IEHardenUser>
    </component>
</settings>
<settings pass="oobeSystem">
    <component name="Microsoft-Windows-International-Core" 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">
        <InputLocale>0809:00000809</InputLocale>
        <SystemLocale>en-GB</SystemLocale>
        <UILanguage>en-GB</UILanguage>
        <UserLocale>en-GB</UserLocale>
    </component>
    <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">
        <RegisteredOrganization>Company Name</RegisteredOrganization>
        <RegisteredOwner>Company Name</RegisteredOwner>
        <UserAccounts>
            <AdministratorPassword>
                <Value>cwBoAEAAcgBlAHAAbwAxAG4AdABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>
                <PlainText>false</PlainText>
            </AdministratorPassword>
        </UserAccounts>
        <AutoLogon>
            <Password>
                <Value>cwBoAEAAcgBlAHAAbwAxAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
                <PlainText>false</PlainText>
            </Password>
            <Domain>WORKGROUP</Domain>
            <Enabled>true</Enabled>
            <LogonCount>2</LogonCount>
            <Username>Administrator</Username>
        </AutoLogon>
        <OOBE>
            <HideEULAPage>true</HideEULAPage>
            <NetworkLocation>Work</NetworkLocation>
            <ProtectYourPC>3</ProtectYourPC>
        </OOBE>
        <Display>
            <ColorDepth>32</ColorDepth>
            <HorizontalResolution>1440</HorizontalResolution>
            <VerticalResolution>900</VerticalResolution>
        </Display>
        <TimeZone>GMT Standard Time</TimeZone>
    </component>
</settings>
<settings pass="generalize">
    <component name="Microsoft-Windows-ServerManager-SvrMgrNc" 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">
        <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
    </component>
    <component name="Microsoft-Windows-OutOfBoxExperience" 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">
        <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
    </component>
</settings>
<settings pass="windowsPE">
    <component name="Microsoft-Windows-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">
        <DiskConfiguration>
            <WillShowUI>OnError</WillShowUI>
            <Disk wcm:action="add">
                <ModifyPartitions>
                    <ModifyPartition wcm:action="modify">
                        <Active>true</Active>
                        <Letter>D</Letter>
                        <PartitionID>1</PartitionID>
                        <Label>Data</Label>
                        <Order>1</Order>
                    </ModifyPartition>
                </ModifyPartitions>
                <DiskID>1</DiskID>
                <WillWipeDisk>false</WillWipeDisk>
            </Disk>
        </DiskConfiguration>
    </component>
</settings>
<cpi:offlineImage cpi:source="catalog:c:/users/chalee/desktop/install_windows server 2008 r2 serverenterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Я предполагал, что секция ModifyPartition переведет мой второй диск в онлайн, но не играла в кости!

Может кто-нибудь помочь с этим? Как следует настроить файл ответов, чтобы включить этот второй диск?

Я решил это, написав скрипт diskpart.

Сценарий был действительно прост:

select disk 1
online disk

Я сохранил это как c: \ windows \ setup \ scripts \ partdisk.txt

Затем я создал сценарий cmd следующим образом:

partdisk /s c:\windows\setup\scripts\partdisk.txt

Он был добавлен в файл Setupcomplete.cmd в каталоге c: \ windows \ setup \ scripts (создайте его, если он не существует). Этот сценарий выполняется после завершения установки Windows при первой загрузке компьютера с подготовленной системой sysprep.

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

На вашем месте я бы создал установку на виртуальной машине без второго диска, выключил бы ее и скопировал .vmdk (обычный, а также -flat). Отредактируйте их (только на одном, я не могу вспомнить какой) в текстовом редакторе, таком как vi, и вверху (первые 5 или около того строк) вы должны найти имя виртуальной машины. Измените это, а также имя vmdk на имя новой виртуальной машины, а затем перейдите и создайте виртуальную машину в своем клиенте vSphere.

При выборе жесткого диска для использования просто выберите существующий жесткий диск, укажите на файл, который вы только что отредактировали и переименовали, и отметьте «параметры редактирования до завершения». Затем добавьте новый пустой HD любого размера. После этого вы можете запустить его и выполнить sysprep VM, и все должно быть в порядке.