Tag: Image

Microsoft Edge WebP Image Extensions

Windows 10 adds WebP support for Microsoft Edge

Today Microsoft released a new Windows 10 insider Preview build 17692. After updating to this build you will be able to automatically download the WebP Extension for Microsoft Edge. This means Microsoft Edge now supports the Google Image format called WebP. WebP is Google’s alternative smaller image format to that of JPEGs or PNGs.

This is still only present in the Windows 10 preview builds and it looks like it will be available in the next Windows 10 update later this year.

WebP – A new image format for the Web

WebP is a modern image format that provides superior lossless and lossy compression for images on the web. Using WebP, webmasters and web developers can create smaller, richer images that make the web faster.

WebP lossless images are 26% smaller in size compared to PNGs. WebP lossy images are 25-34% smaller than comparable JPEG images at equivalent SSIM quality index.

Lossless WebP supports transparency (also known as alpha channel) at a cost of just 22% additional bytes. For cases when lossy RGB compression is acceptable, lossy WebP also supports transparency, typically providing 3× smaller file sizes compared to PNG.

WebP Support

WebP is natively supported in Google Chrome and the Opera browser, and by many other tools and software libraries. Developers have also added support to a variety of image editing tools.

WebP includes the lightweight encoding and decoding library libwebp and the command line tools cwebp and dwebp for converting images to and from the WebP format, as well as tools for viewing, muxing and animating WebP images. The full source code is available on the download page.

Source Google.



New-NanoServerImage

How to create a Nano Server Image using PowerShell

Last week Microsoft released Windows Server 2016 with the first GA release of Nano Server. A couple of months back I already wrote a blog post how you can create a new Nano Server Image in Technical Preview 4. This post is an updated version of that this post using Windows Server 2016 GA. In this post I will quickly show you how you can create a new VHD, VHDX or WIM file with your Nano Server configuration.

This is the PowerShell option, you can also use the Nano Server Image Builder.

First you have to download the latest Windows Server 2016 ISO file.

NanoServer Folder

If you open the Windows Server 2016 ISO file you can see a folder called “NanoServer” on the medium. This folder includes:

  • NanoServer.wim – This is the Nano Server Image file
  • Packages – The Package folder includes the Nano Server Packages, Windows Roles and Features and some basic drivers
  • NanoServerImageGenerator – In this folder you can find the Nano Server Image Generator PowerShell Module

I usually create a folder on my C:\NanoServer to store all the things I need, which makes things a little simpler.

Create Nano Server Image Folder

  • Base – This is a temporary folder where the images get mounted while updating or creating new images
  • Drivers – This is the folder where I copy all the drivers for a physical image
  • Files – This is the unpacked Windows Server 2016 ISO image (including, the sources folder, NanoServer folder, support, boot and efi folder as well as the setup.exe file)
  • Images – In this folder I store all the new created images
  • Updates – In this folder I store the Windows Server 2016 Update cumulative updates (.cab files)
  • XMLs – In this folder I store unattend.xml files if I need to do a extended configuration.

Of course you don’t have to use this folder structure, but it makes things easier.

If you have a look at the Packages folder you can find all the available packages for Nano Server:

Nano Server Packages

A new Nano Server Image can be created using the New-NanoServerImage PowerShell cmdlet. This will create a new Nano Server Image in a VHDX including the VM Guest drivers and nothing more.

New-NanoServerImage

 
# Change Working Directory
cd C:\NanoServer
 
# Import Module
Import-Module .\NanoServerImageGenerator.psm1
 
# Create Nano Server Image VHDX
New-NanoServerImage -MediaPath .\Files -BasePath .\Base -TargetPath .\Images\NanoVMGA.vhdx -MaxSize 20GB -DeploymentType Guest -Edition Datacenter -ComputerName "Nano01"
  • MediaPath – The location with the Windows Server 2016 files
  • BasePath – Temporary folder to mount the WIM file
  • TargetPath – Where the new Image file gets stored. You can create a .wim, .vhd or .vhdx file
    • .vhd creates a Image for a Generation 1 VM (BIOS boot)
    • .vhdx create a Image for a Generation 2 VM (UEFI boot)
  • DeploymentType allows you to choose between Guest and Host
    • Guest creates a Virtual Machine
    • Host creates a Physical Image
  • Edition can be Standard or Datacenter
  • ComputerName adds the server name of the Nano Server
  • MaxSize changes the Partition size, if you are not using this parameter it will create a default partition of 4GB

Hyper-V NanoServer VHDX

You can now copy the VHDX file from the Images folder, attach this to a new Hyper-V virtual machine and boot.

This will show the Nano Server recovery console:

Hyper-V Nano Server Console

There are more parameters to add roles and features, updates, drivers and additional configuration like IP addresses and more

For example if you want to add some updates to the Nano Server Image you can use the following cmdlet:

 
# Create Nano Server Image VHD with updates
New-NanoServerImage -MediaPath .\Files -BasePath .\Base -TargetPath .\Images\NanoVM.vhd -MaxSize 20GB -DeploymentType Guest -Edition Datacenter -ComputerName "Nano01" -ServicingPackagePath ".\Updates\Windows10.0-KB3176936-x64.cab", ".\Updates\Windows10.0-KB3176936-x64.cab"

To add a fixed IP address you can for example use the following cmdlet:

 
# Create Nano Server with IP address
New-NanoServerImage -MediaPath .\Files -BasePath .\Base -TargetPath .\Images\NanoVMSetupUI.vhdx -MaxSize 20GB -DeploymentType Guest -Edition Datacenter -ComputerName "Nano01" -Ipv4Address "172.21.22.101" -Ipv4SubnetMask "255.255.255.0" -Ipv4Gateway "172.21.22.1" -Ipv4Dns "8.8.8.8"

If you have some advanced deployment you can use for example the following thing, which helps you to set different configuration options. This example here is designed for a physical Hyper-V host

 
# Nano Server Packages for Image
$NanoPackages = "Microsoft-NanoServer-Compute-Package",
"Microsoft-NanoServer-DCB-Package",
"Microsoft-NanoServer-DSC-Package",
"Microsoft-NanoServer-FailoverCluster-Package",
"Microsoft-NanoServer-OEM-Drivers-Package",
"Microsoft-NanoServer-Storage-Package"
 
$ServicingPackagePath = ".\Updates\Windows10.0-KB3176936-x64.cab", ".\Updates\Windows10.0-KB3176936-x64.cab"
 
$UnattanedXML = ".\XMLs\unattend.xml"
 
$MaxSize = 20GB
 
$Edition = "Datacenter"
 
$VHDXName = ".\Images\NanoHost01.vhdx"
 
$DeploymentType = "Host"
 
$DriverPath = ".\Drivers"
 
$MediaPath = ".\Files"
 
$BasePath = ".\Base"
 
$ComputerName = "Nano01"
$DomainName = "thomasmaurer.ch"
 
#IP Configuration if not DHCP
#$Ipv4Address = "172.21.22.101"
#$Ipv4SubnetMask = "255.255.255.0"
#$Ipv4Gateway = "172.21.22.1"
#$Ipv4Dns = "8.8.8.8"
# Nano Image
New-NanoServerImage -MediaPath $MediaPath -BasePath $BasePath -TargetPath $VHDXName -DriversPath $DriverPath -DeploymentType $DeploymentType -Edition $Edition -Packages $NanoPackages -MaxSize $MaxSize -ServicingPackagePath $ServicingPackagePath -UnattendPath $UnattanedXML -ComputerName $ComputerName -DomainName $DomainName

You can for example use this VHDX file now to create a boot from VHDX scenario:

 
# Boot from VHDX
Mount-VHD C:\VHDX\NanoHost01.vhdx -Passthru | get-disk | Get-Partition | where Size -GE 3GB | Set-Partition -NewDriveLetter V
 
# Set Boot Partition
cd v:\windows\system32
bcdboot v:\windows
 
# Unmounted
Get-VHD C:\VHDX\NanoHost01.vhdx | Dismount-VHD

I hope this helps you to get started with Nano Server in Windows Server 2016. I also prepared a blog post how you can create a Nano Server Image using the Nano Server Image Builder tool.



Cisco UCS Hyper-V Cluster – Install Blade Servers – Part 3

After you have created a new Hyper-V 2008 R2 ISO Installation image you can now start to install the Cisco Blade Servers. There are many ways (WDS, Virtual Media) how you can deploy the Hyper-V Image on your Blade Nodes. I will use the Virtual Media to install the Blade Notes in this guide.

  1. Start the KVM Console in the UCS Manager
    Cisco UCS KVM Console
  2. Attach the Hyper-V 2008 R2 Image to the Virtual Media
    Cisco UCS Virtual Media
  3. Now do the standard Hyper-V installation. With the Image we created Hyper-V will have all the drivers you need.
    Hyper-V 2008 R2 Installation
  4. After the Installation is finished and you set the local administrator password. I change the IP Address of the Server and install the latest updates.
    Hyper-V 2008 R2 Updates


Cisco UCS Hyper-V Cluster – Create Hyper-V Image for Blade Servers – Part 2

We use Microsoft Hyper-V Server 2008 R2 as Operating System for our Cisco Blade Notes. The Cisco UCS does need some special drivers which are not included in Hyper-V Server Image (Network and HBA). So I created a Hyper-V Server 2008 R2 ISO file which includes the Drivers from the Cisco UCS.

I made a blog post about adding Drivers to a Windows ISO, this is pretty much the same.

  1. First Download the Hyper-V Server 2008 R2 ISO from microsoft.com
  2. Download the Drivers from Cicso.com, you can download the Bundle File which also includes firmware.
  3. Download and install the Windows Automated Installation Kit
  4. Extract the Hyper-V ISO to C:\temp\hypervr2
  5. Extract the Windows Driver folder in the Cisco Driver ISO (In my case ucs-b2xx-drivers-1.3.1g.iso) to C:\temp\Drivers\Windows
  6. Create a folder for the WIM mount point C:\temp\WIM
    Folders
  7. Start Windows AIK Deployment Tools Command Prompt from Start menu
    Windows AIK Deployment Tools Command Prompt
  8. Now mount the install.wim file form the original Hyper-V Image (C:\temp\hypervr2\SOURCES) to C:\temp\WIM
    [powershell]imagex /mountrw C:\temp\hypervr2\SOURCES\install.wim 1 C:\temp\wim[/powershell]
  9. Add Drivers with dism
    [powershell]CD C:\temp\Drivers\Windows\Network\Emulex\M72KR\W2K8R2\x64
    dism /image:C:\temp\WIM /add-driver /driver:. /recurse
    [/powershell]
  10. After adding all drivers to the Image you can unmout the WIM Image
    [powershell]imagex /unmount /commit C:\temp\wim[/powershell]
  11. Now create the new ISO file
    [powershell]oscdimg -n -m -bc:\temp\hypervr2\boot\etfsboot.com C:\temp\hypervr2 C:\temp\hypervr2drivers.iso[/powershell]

Now you can use this new Image to deploy the Hyper-V Hosts on your Cisco UCS Blades.



Create an OS Image in Windows Deployment Services (Capture Image)

Here I will show you how you can simple create a new Image in WDS (Windows Deployment Services). You can use this to create own Images for your Servers or PCs or update existing Images.

  1. Add Capture Images to your WDS
    Windows Deployment Services
  2. Update your Computer or VM with the latest Software.
    Windows Deployment Services
  3. Use Sysprep to generalize the Machine. You can find sysprep.exe in C:\Windows\System32\sysprep
    Sysprep
  4. After the Reboot boot into PXE and boot the Windows Capture Image
    Capture Image
  5. Now you can use the Image Capture Wizard
    Capture Image Wizard
  6. Choose which volume you want to capture if you have just one partion in your installed Image the Volume would be D:\ (C: is the booted Windows PE from the Windows Deployment Service)
    Capture Volume
  7. Now you have to choose the name of the WIM file and the location, before you can upload it to the WDS Server you have to save it on a local partion. After that you can choose your WDS Server and the Image Group you want to upload the image after the Volume is captured.
    Image
  8. Now the capturing process will start
  9. After the capturing process is finished and the image is uploaded you can find the Image in the Image group on your WDS Server
    Capture ImageWDS
  10. Now you can Rollout this new Image