您的位置:首页 > 产品设计 > UI/UE

Why I can’t convert my Windows Server 2012 R2 Core to GUI

2016-03-31 19:06 477 查看
Let’s assume that you installed some time ago one Windows Server 2012 R2 Server Core and you have installed also latest Windows Updates to that server and this server does not have an internet connection.
Here are the updates that are installed



In one day you discover that you need to add graphical user interface and you execute the following command
Install-WindowsFeature Server-Gui-Shell -Source:wim:D:\Sources\install.wim:2

You will see that it reaches to 68% and fails with following error
Install-WindowsFeature : The request to add or remove features on the specified server failed.
Installation of one or more roles, role services, or features failed.
The source files could not be downloaded.
Use the "source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location,see http://go.microsoft.com/fwlink/?LinkId=243077. Error: 0x800f0906



You re-read the Technet article and maybe also re-download the Windows Server installation media but the command still fails. You also see from the internet this approach but it still fails (下面三条命令是关键,红字标识)

New-Item -Path C:\WS2012R2 -ItemType Directory

Mount-WindowsImage -Path C:\WS2012R2 -ImagePath C:\TEMP\install.wim -Index 2 -ReadOnly

Install-WindowsFeature Server-Gui-Shell –Source C:\WS2012R2

So the BIG question is what´s wrong?
In this case the server is offline and can´t download the files from Windows Update and in some cases you can´t allow the server to contact directly with Windows Update.
Actually the problem is really easy. The problem is that your Windows Server installation source files are older than your server installation with latest Windows Updates. To fix the problem you need to update also your installation source files regularly otherwise you may run into issues, if you need the source files really quickly for recovery etc.
Currently Microsoft does not provide any automated way to do that but you can create it yourself really easily.
Here are the commands to update the source files with PowerShell
# Create folders
New-Item -Path C:\WS2012R2 -ItemType Directory
New-Item -Path C:\TEMP -ItemType Directory

# Copy the install.wim to temporary folder
Copy-Item H:\sources\install.wim C:\TEMP

# Remove the read-only attribute from the copied file
Set-ItemProperty -Path C:\TEMP\install.wim -Name IsReadOnly -Value $False

# Get the Windows Image Index
Get-WindowsImage -ImagePath C:\TEMP\install.wim

# Mount the Image
Mount-WindowsImage -Path C:\WS2012R2 -ImagePath C:\TEMP\install.wim -Index 2

# Add the Updates to Windows Image
$Updates = Get-ChildItem C:\Users\kaj\Desktop\Updates
foreach($item in $Updates){
Add-WindowsPackage -PackagePath $item.FullName -Path "C:\WS2012R2"
}

# Commit the changes
Dismount-WindowsImage -Path C:\WS2012R2 -Save -Verbose


If you update the source files with these 12 updates and you run the command again it will succeed. You can use Get-WindowsImage cmdlet to get the correct Windows Image index. Default size for Windows Server 2012 R2 SERVERSTANDARD is 11 676 579 164 bytes and with 12 updates the size is 13 676 153 548 bytes.



So please remember to update you source files regularly!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: