Saturday, January 22, 2022

In-place upgrade from Win10 to Win11

I guess it’s good timing that I’m trying to get the blog up and running again. The recently released Windows 11 upgrade from Microsoft is a good place to get back into things.

Since I work mainly with virtual machines (VMs) on my laptop, I posted an article last week about installing and working with Hyper-V. The computer I’m using this week is one of my Hyper-V VMs and was purpose-built running Win10 Pro (x64) with this in-place upgrade in mind.

One of the first things you want to do before you start any in-place OS upgrade is to make sure the computer is fully patched. If you don’t normally run updates manually, you can access the interface by clicking on the Windows Start Button in the lower left of your screen. Then click on “Update & Security”. That will bring you to the Windows Update page. Win10 is fairly autonomous at installing patches and updates, so you might not have anything pending.

Next, you may want to run Disk Cleanup, as addressed in a previous post, to get rid of any digital garbage on your drive. See the link below for more information.

Once updates and cleanup are done, it’s recommended that you reboot the computer before moving on. Rebooting will usually resolve any minor issues related to the disk cleanup and clear the RAM.

Microsoft changed their hardware game with Win11. Win11 is not compatible with older hardware that boots from a BIOS (Basic Input Output System). The BIOS is the minimal basic configuration that your PC needs to be able to find and access the bootable drive, such as your primary hard drive, and boot the operating system. Win11 requires Unified Extensible Firmware Interface (UEFI) with secure boot and Trusted Platform Module (TPM) technology (see the links below for more information).

The easiest way to see if your hardware is up to MS’s standards is to install and run the PC Health Check app. Type “PC Health” into the search box on your Win10 PC to see if it’s already installed. If not, you can find it here along with information about what it is and what it does: How to get Windows 11.

If you need to download it, click on the “CHECK FOR COMPATABILITY”. You should land towards the bottom of the page with a hyperlink titled “DOWNLOAD PC HEALTH CHECK APP”. Click on that link and the app installer will download to your default location.

My Win10 VM, “FREYR”, initially failed the system check for compatibility for upgrading to Win11. My Gen 1 Hyper-V VM did not have UEFI Secure Boot or TPM. Interestingly, when writing the post about Hyper-V, I specifically said that I was building the VM as a Gen 2 with this upgrade in mind. Over the course of writing the two articles and spinning up the new VM, I inadvertently re-created it as a Gen 1 VM, which obviously was not going to work. I had to nuke the VM and start from scratch.


I rebuilt the VM as Gen 2 so that it had UEFI secure boot and TPM support enabled, patched it, etc. I installed and ran “PC Health Check” and passed the compatibility test.



If your PC passes the tests, you can click the “Device Specification” button to launch your web browser to the Introducing Windows 11 upgrade page. You should see a “CHECK NOW FOR FREE UPGRADE” hyperlink. Click on the link. You may be prompted to allow Microsoft.com to open your computer’s Settings page.


If the update is available for your PC, you'll see “Feature update to Windows 11”. Click “Download and install”.

If the upgrade isn't available to you yet, but you still want to upgrade now, you can download the Windows 11 Installation Assistant. Click the “DOWNLOAD NOW” button and then click “Run” or “Open File” after the download completes.


Click “Yes” is UAC prompts you for permission for the file to run.

Click “Accept and install” for the EULA to proceed.


The interface will change several times while the software is downloaded and installed. There are three steps and the process will proceed automatically from one to the next.

  • Step 1 of 3: Downloading
  • Step 2 of 3: Verifying download
  • Step 3 of 3: Installing

You can continue working on your PC during this time, but it’s prudent to save your work often. Just in case. There’s no interaction required until the installation completes and the PC is ready to be rebooted. During the installation process, you’re informed that the computer will be rebooted 30 minutes after the installation completes. You can restart it manually if you prefer, by clicking “Restart now”.


After about 30 minutes and at least one reboot, the job is done. You can see an immediate difference when you log in, specifically that that Taskbar icons are centered instead of left-aligned on the Taskbar. You can right click on the Taskbar, click on “Taskbar settings”, and then expand “Taskbar behaviors” to change it to left-aligned. I don’t see an option any longer to use small icons in the Taskbar.



The Start menu looks a lot different. The apps that are presented appear to be some of the more commonly used apps.


You can click on “All Apps” to see a list more like Win10 had. Clicking “Back” will take you back to the previous grid-layout menu.


Clicking Start > Settings will take you to the new style interface for configuring your system.


File Explorer also has a slightly different look, but functionality remains the same.

Search still functions the same. Even though Control Panel isn’t readily visible, you can search for it and launch it for certain admin and maintenance functions. It looks almost identical to Win10. You can still use it to get to the “Network and Sharing Center”, “Programs and Features”, and apps like that.

I uninstalled some bloatware like the app to download and install Office 365 and the TikTok app. I also ran Disk Cleanup and got rid of 20 GB of data left over from the OS upgrade since I don’t intend to roll this VM back to Win10.


Most of what I’ve read about the Win11 “upgrade” leads me to believe that it was just a cosmetic upgrade, possibly to make Windows look more like MacOS. I’m not sure why MS would want to do that. There seem to be three main groups concerning PC OS’es: Windows, Linux, and Apple (Mac). Trying to make Windows look like MacOS is not going to draw anyone from Apple computers.

As always, I'm open to questions and constructive comments. Your feedback is welcome.

Sources:


Saturday, January 15, 2022

Working With Hyper-V

Between the blog and studying for MS certification exams a few years back, I had 6 virtual machines (VMs) running on my laptop, all running in Oracle VM VirtualBox. I wrote an article titled “Working with Virtual Machines” (17 Jun 18) that focused on using Oracle VM VirtualBox as the hypervisor, the software that allows you to run virtual machines on your computer. Oracle VM VirtualBox is a type 2 hypervisor, meaning that it’s an application that runs within your OS to host your VMs.

Hyper-V was originally released with Server 2008 and is available up through Server 2019. The nice thing about Hyper-V is that it’s not limited to running in the Server OS. You can install the feature and run it in Windows 8 Pro, Windows 10 Pro, and Windows 11 Pro. Depending on your level of geek-ness, you can install Hyper-V and run your own VMs on your own computer.

I used Oracle VM VirtualBox for several years and really liked it. Current MS certification exams, however, focus on Hyper-V virtualization, so it became obvious that I had to change hypervisors for hands-on experience.  With that in mind, I decided to migrate my Oracle VM VirtualBox VMs to Hyper-V. It was a spectacular failure. Of my 6 VMs, the only one that I was able to migrate was THOR, my Win7 Pro SP1 (x64) VM. The import failures were caused by the differences in how Oracle VM VirtualBox and Hyper-V handle virtual hardware, mainly hard drive controllers. In the end, I was only able to import my Win7 Pro VM and had to build the others from scratch (again). But, that’s not the point of this article.

Assuming that you plan to use Hyper-V for a home training lab, the first thing to consider is to make sure you’re running a 64-bit (x64) version of Win8, Win10, or Win11. Right click on the Start button, and then click on “System”.
  • In the “Device Specifications” section you’ll find the “System type”, which will say if you’re running a 64-bit operating system.
  • The “Windows Specification” section will tell you which OS and version you’re running.
Once you confirm your OS, there are only a few simple steps to installing the feature. 
  • Launch your Control Panel and then click on “Programs and Features”.
  • Click on “Turn Windows features on or off”.
  • Click on the box next to “Hyper-V” to check the box and install all the components.
  • Click “OK”.
It’ll take a couple of minutes to install and you’ll probably have to reboot.

After rebooting and logging in to your PC, the first thing you may want to consider doing is creating a NAT’ed network for your VM lab. That is, unless you want them to run off the same network as all your other devices. And, there’s nothing wrong with that. But, since my lab will contain two Domain Controllers with DHCP, I opted to create a NAT’ed network. Hyper-V () doesn’t allow you to create NAT’ed networks within the console, so you have to launch PowerShell and run the following commands, inserting a name for the network where I have “name”:

New-VMSwitch -SwitchName “name” -SwitchType Internal
Get-NetAdapter
New-NetIPAddress -IPAddress 192.168.1.1 -PrefixLength 24 -InterfaceAlias "vEthernet (name)"
New-NetNAT -Name "vNAT" -InternalIPInterfaceAddressPrefix 192.168.1.0/24

The easiest way to find and launch Hyper-V Manager is to click on the Search box and type “Hyper”.

In the right panel menu, click on “New” and then “Virtual Machine….”.

Read the “Before You Begin” page. Click “Next”.


Name your new VM and select a storage location for it, if your location is other than the default. Click “Next”.


Choose the generation that you want your VM to be. Usually Generation 1 is okay, unless you need to support UEFI secure boot. I’m building this VM as a Win10 Pro (x64) VM specifically with the intent of upgrading it to Win11, so it has to be Gen 2 with secure boot. I’ll link to an article at the bottom of the page that explains Gen 1 vs. Gen 2 more thoroughly.


Enter how much RAM you want / need. I’m going with 4 GB because anything less for a Win10 VM is pretty much useless.


Select your network connection from the dropdown menu. I’m using the NAT’ed network I created a few months ago that I use for a private subnet for my VMs.


Configure your virtual hard drive (VHDX). I left the default name and location based on the information I provided earlier for the name and location of the VM. The only thing I changed was to downsize the VHDX from the default 127 GB to 100 GB.


Select your installation options. I browsed to the storage location and selected the Win10 Pro (x64) ISO. It’ll be mounted as a virtual optical device and emulate the process of installing the OS from a DVD drive.


Review the summery and click “Finish” to create the VM. There will be some additional changes that need to be made before you boot the VM and install the OS.


With the new VM selected, click on “Settings” in the lower right panel. Click on “Firmware”.


Click on the hard drive and click “Move Up” to place it ahead of the Network Adapter.


Click on Security. Make sure “Enable Secure Boot” is checked, it should be by default. I also checked “Enable Trusted Platform Module” since it’s a requirement for the Win11 upgrade.


Click on memory and confirm the settings. The only change I made was, in Dynamic Memory, I changed the maximum to 4096 to match the amount of assigned to the VM. Dynamic memory allows the VM to only use what it needs without locking in the full amount. That allows the difference to be used by the host or other VMs.


Click on “Processor” and increase it from 1 to 2, or however many your host will allow.


I expanded out the options for the Network Adapter and clicked on Advanced Features. I manually changed the MAC address from Dynamic to a static address. This isn’t necessary, but it’s my preference to keep it in line with my other VMs. Also, this will become necessary later on for working with DHCP reservations.


Next, I clicked on “Checkpoints” and unchecked the box next to “Enable checkpoints”. I don’t want Hyper-V to automatically create checkpoints. If I need one later on, I can enable the option and manually create one.


At this point, make sure you save your changes and exit the settings. The only thing left to do is power on the VM and install the OS.

In Hyper-V Manager, right click on the VM and then click on “Connect…”. That will launch a console window for the VM. Click the “Start” button and, when prompted, press any key to boot from the optical drive and install the OS.


I’m skipping the process of installing the guest OS because I already covered that in several earlier article (listed below). Once I have the OS installed and fully patched, I’ll post an article on doing the in-place upgrade from Win10 to Win11.

Here are a couple of observations on my experience with Hyper-V:
  • Make sure you have enough RAM before you start. You need enough RAM in your host and you need to allocate an adequate amount to your VM(s). You can configure Hyper-V to set minimum and maximum RAM allocations, but you need to make sure from the start that you have enough. It’s not like Oracle VM VirtualBox where you set the memory allocation in the beginning and that’s what it uses. RAM use in Hyper-V can fluctuate based on what you allocate and what processes your VM is running at any given time.
  • Make sure you have plenty of HDD space. I initially tried running my VMs off an external USB HDD like I did with Oracle VM VirtualBox. Hyper-V doesn’t seem to like that and the VMs run very slowly. My current laptop has a secondary internal drive that’s dedicated almost entirely to my VMs, so it’s a lot faster and lest finicky, but there’s still some disk access lag.
As always, I'm open to questions and constructive comments. Your feedback is welcome.

Sources: