2. Configure Virtual Networking
After completing this topic, you should be able to
Now in this section, there are two big topics we are going to be looking at. First we are going to be talking about optimizing and maintaining Windows 10 and that's from couple of different standpoints that's going to be in regards to its performance but also in regards to protecting our data. So, we're going to look at some really cool features like file history and then there is also the built-in backup. But we are also going to be talking about Hyper-V. I love virtualization and it's inside we have got Hyper-V inside of Windows 10 so you can enable it on Windows 10 Pro and Windows 10 Enterprise and the Education Edition, so you can enable it and use it for testing, use it for lab development. So we are going to talk about the changes in Hyper-V that Windows 10 brings and how to get the most out of it, so let's do it.
After completing this topic, you should be able to
What is the number one complaint users say about their computer? Yeah, besides the fact that the coffee holder is broken, right – that's an old one. But, besides that one, the computer is too slow, right. In this next section, I want to talk to you about best practices regarding monitoring and optimizing your Windows 10 systems, so that they run as quickly as possible so that we keep those users happy. So why is it important to monitor Windows? Well, I hope the answer to this question is obvious. Of course, it's important to monitor Windows because we want to have some proactive troubleshooting. We're interested in finding problems before they become disasters. We're interested in making sure our systems can run at their optimized levels. This is going to, of course, be necessary if we have to do some reactive troubleshooting. We have an application problem. So having tools on hand that allow us to do all three of these things is an important part of maintaining Windows 10 systems in any device for that matter. Where we're using these devices to do stuff, right, to get work done whether it's for play or for work.
Now what are some important monitoring best practices? So we're here looking at this because we want to make sure our systems are running at optimal levels. We also want to catch problems before they become problems. So some good guidelines here are to establish some baselines on a regular basis, monitor frequently. It's also a good idea on mission-critical systems to centralize your monitoring and automate it. It's also important to keep it simple and this is a big point right here. The reason why you want to keep it simple – my friends - is because if it's too complicated, then you're going to get less meaningful information out of the monitoring process. And nobody really likes maintenance, right, and monitoring can be one of those boring types of tasks. So the simpler you make it, the easier it is going to be for you. Now there are a few things I want to talk about in regards to these four key subsystems. So, anytime you're going to monitor your system, you're going to monitor these four subsystems and you can see them here – we've got disks, we've got networking, we've got processing, and we have memory. So let me talk to you about all four of these for a moment. Let's start with this guy right here. If I need to optimize my disk after I've monitored and determined it's not running at optimal levels, well, what are some of the things that I can do? So here are some recommended practices that you can apply and with the hopes of improving your disk. And that is have faster spindle. So, if you're running disks at 7,200 RPM and that's too slow for your specific application, it's too slow for boot times or what have you, maybe, consider SSD drives. Another important part to disk optimization is good maintenance, right. Good maintenance, and this means the disk needs to be defragged and cleaned up and removing applications and data that you no longer need.
Let's talk about network card optimization. If I have to monitor, to determine that the network proofs to be the bottleneck, couple of important things is to identify the source and origin of that bottleneck. And surprisingly, it might not be the network card itself, it might be the applications trying to access it. So that's where quality of service can actually be quite useful. Another thing you might need to consider is not just the client side, but also the server side. Maybe you're using an older protocol and that's part of what is kind of slowing things down. So maybe it means you need to do some changes in your infrastructure and reduce the amount of additional interference or the overhead from the older protocols. Then, now, let's look at processor optimization. Folks, the recommendation I have with both processor and memory for that matter is just physical upgrades. You can also offload. So, if there is a function that a Windows 10 device is performing and the processors underperforming and not actually up to stuff, well, then maybe there are too many things that that machine is trying to do. Maybe you need to have another machine take on a different part of the task and share the load. Aside from that, it might mean that you actually upgrade the processor, upgrade the system. There are some other points that are mentioned here like configuring hardware settings or doing processor scheduling. These are all small tweaks you can perform. You're not going to get that much of a gain. You're going to get a much greater optimization just by having a better processor.
Now the other one is memory. And I think what I just said about the processor extends to memory optimization as well – more RAM, faster RAM, good things right there. You could consider something like ReadyBoost, but again, these kinds of things...what you're really doing at this point is you're really kind of providing very little optimization. The greatest gain is going to be by simply having enough sufficient memory, so you're not starving the system of those memory resources. Ultimately, it comes down with careful analysis, careful monitoring, regular monitoring, and planning. And, if you have to optimize any one of these four core subsystems or more than one, consider the fact that it might mean simply upgrading the physical hardware with something that's got more horsepower.
After completing this topic, you should be able to
Here are some additional thoughts in regards to optimizing for best practices. Now we talked a little bit about these already. One of the things I want to reiterate here, though, is the importance of monitoring and creating baselines. If you don't monitor on a regular basis, you don't know what normal is. And, so then when there are problems introduced on the system, you can't tell if it's deviating or not. So regular monitoring on mission-critical systems and creating those baselines will give you something you can compare the performance against. And then from there, you can take proactive action like making sure you got sufficient hardware. Other things you can do, of course, is managing the software, which is demanding the resources in the first place and avoiding insecure software. And this might even mean user education, talking about the necessity for safe browsing, avoiding those phishing sites and suspicious activity. And then that also requires that we keep our systems up to date and we perform regular maintenance on them. So patching the software on them, patching the operating system on there so that we can address any exploits that have been identified, any actual performance issues that have been identified, getting rid of the bugs, essentially. And so what we can also consider is, maybe, any kind of system or image type of tuning that might take a place – like for instance – controlling how many programs are launched at startup time, so kind of pruning services and pruning startup applications. This is the long list of things to consider. But a lot of it I think is common sense and you are probably familiar with many of them already.
Now troubleshooting best practices because...well, we know trouble comes, right, we know anything, we know trouble comes. Well, one thing we've learned is we need to use our brain, right, we need to use our brain. I think this is really essential because lot of times, we'll just throw answers and solutions at a problem or attempt to throw solutions at a problem which really aren't solutions, it's just guesswork. So the more you actually train and educate yourself and the more you understand the technology, the more powerful your troubleshooting is going to become. So I think it's essential that you really observe and question and that you learn how Windows 10 works and the underlying technology. Then, of course, from there we follow our typical troubleshooting methods. If you are an experienced IT admin or IT pro, these are things that you've learned and acquired. And you've learned to be methodical. You've learned to take notes. You've learned to look for probable causes and ask questions like what was the last thing that changed, those types of things. So we are out to find that cause, right. Once we've gone through the process of establishing probable causes and narrowing it down to the actual cause, we introduce fixes and here's one of my pet peeves.
Fixes introduced that are not confirmed. So often I've come behind somebody else because they've applied a fix – said that it was fixed – but that turns out the fix was not confirmed and the problem is persisted. So I am a big fan of...if I am going to introduce a fix, I'm going to make sure it's truly a fix. And the way to do that is to confirm. And then we want to make sure that we're sharing what we're learning, sharing what is occurring in our organization. And we want to, of course, be able to go back and track the history of the changes we've been making to different systems. So this can help us, you know, find that systems always having problems, so we document this. This also is information or intelligent gathering so that when we need to make purchasing decisions or we need to make decisions about what kind of solution we want to implement next, well, we've got this body of information that points to specific kinds of problems, types of pain points, and we might be able to align that with new solutions that are coming along the pike. And so it helps to actually document it so that we can prevent it in the future. Troubleshooting best practices – 101 right here. Use your brain, observe and question, learn, document, you got it.
After completing this topic, you should be able to
In order to, actually, do any of that type of troubleshooting or to monitor or to apply any of these best practices that we've been talking about, well, we need to have good tools. And so let's look at some of the monitoring tools that we have available to us in Windows 10. Now one of the great things about Windows is many times they just continue to develop new tools and they don't remove the old ones or they improve the old ones. So today, we've got an enormous set of tools. We've got this large gallery of troubleshooting and monitoring tools. Many of these are built into the operating system and some of them are part of MDOP – the Microsoft Desktop Optimization Pack. And even more than that, we have additional free tools that we can download from Microsoft's website for specific applications or problems.
[The application log enables you to track events about the various applications and hardware in the system.]
One of my all-time favorite monitoring and troubleshooting tools in Windows is this guy right here – event log. In fact, I've got one system at home where I've clicked on event log so much that the button has actually faded out. Now I'm just kidding about that. Really though, event logs are really useful. And it's the first place I go to if there is any sign of problems because, well, computers are black boxes. There are, you know, not very, many ways to know what is going on inside of a computer. And so the event log records the activity. And there are different logs for different functions and purposes. So, for instance, we've got this application log. So this is going to help me track events around, you know, my applications and even the hardware that's running in the system. This isn't the actual only log though. We've got several other logs and, of course, you're probably familiar with these. So we've got the security log. This is really useful if I've enabled ordering. And I need to track authentication and logon events. So any time, I'm tracking, accessing secured files as well, security log is my friend. After that, another important log is the system log. Now I use the system log often because this is where a lot of my failures, failed drivers, failed services, Windows events are going to be written. And we've also got next the setup log, which – as its name implies – is going to record events relating to the installation of applications.
[The security log enables you to record events relating to audit policies. These policies include tracking information such as file access or user logons.]
Now we have some features associated with logging that was introduced around this test when I believe this was first introduced and that's called event forwarding. Now the great thing about event forwarding here is that event forwarding allows me to actually forward events that are being recorded in any of these other logs. And I can forward them across a network to a monitoring station. So let's assume – for a moment – that I've got a particular machine running an application and it's been giving me some problems or the user keeps coming up to me and saying, "I keep getting this error message about this application – such and such." So what I can do is I can enable a subscription so that I'm having that user's machine trap those events and forward them to my monitoring machine where I can actually then begin to monitor the frequency of those events and begin to look specifically for the type of errors that the user is complaining about. That gives me a whole lot more agility. It gives me a whole lot more capability than what I had before. Sometimes, open up those event logs can be rather cumbersome because so much information, right, you're scrolling and scrolling and scrolling. Well, any time I can apply filtering or I can actually narrow down what I'm looking for, that's going to make it far more effective. And that's one of the things event forwarding does plus any of these logs. I have the ability to kind of narrow down what I'm looking for with its filtering feature and the ability to even export this information. So I love the event logs and the event forwarding feature in Windows 10.
[The system log records events relating to log entries that are based on Windows services, for example driver failure and services that fail to load. The forwarded events log records entries relating to events that occur on remote computers. You can collect remote computer logs using an event subscription. This log will be empty unless forwarded events has been configured.]
Now here is another oldie, but a goodie. Oldie meaning this has actually been around for a while. Goodie meaning it's been around for a while because it's worthwhile. It's been, you know, helpful and so what we have here is performance monitor. Now PerfMon – as we like to affectionately call it – has these things in it called performance counters. And there are performance counters for all kinds of aspects of Windows. There are performance counters for the processor, there are performance counters for the memory, there are performance counters for Hyper-V, performance counters for IP traffic, DNS traffic. But not just the traffic in a general sense or not just the processor in the general sense...and this is nerd fest, this is really geeky. I can monitor specifically types of calls, like DPC calls if I want to. Whatever detail kind of developeresque low-level kind of geeky monitoring I need to do, well, performance monitor can help me do that.
[Performance can be monitored using performance counters, event trace data, and configuration information.]
So performance monitor has got a body of logs or counters I should say that allow me to monitor objects and then specific elements around those objects. I can do that locally. I can monitor the local system. But I can also reach out over the network and monitor a system remotely using these counters. And then what is also kind of need about this is there are some features in the performance monitor tool that allows me to turn on some graphing and I can scale it, control that, I can also turn around and make it transparent. So I can actually compare on top of each other if I want to. And then if I'm really requiring some more like developer like data, I can actually turn on event tracing. And event tracing is really designed for those who are troubleshooting applications that they need to support and then I can actually evaluate configuration information. So there is a performance monitor that goes in and looks at specific registry keys. It's kind of a diagnostic toolset like a system health check. This tool always reminds me of Star Trek, right. When Captain Kirk says, "Give me a level-three diagnostic." What was that big card? I don't know. And then Spock or whomever runs a level-three diagnostic and gives them all these details...this, my friends, this is your level-three diagnostic tool. That's what performance monitor does for you. You need a science officer to be able to read the output. But nonetheless, you've got a level-three diagnostic, so that's pretty cool.
[Configuration information is collected from key values in the Windows registry. Windows Performance Monitor can record the value of a registry key at a specified time or interval as part of a log file.]
Now, if you're looking for a level-four diagnostic tool – a real in-depth performance tool – well, that's where the Windows Performance Toolkit comes in. The Windows Performance Toolkit is part of the assessment and deployment kit or the ADK. So, when you download it and run ADK setup, this is one of the checkmarks you can include. You put checkmarks in there for the recorder and the analyzer. And basically, what this allows you to do is it allows you to look for performance issues and troubleshoot Windows trying to find those nasty slowdowns or causes of those nasty slowdowns. So this can be useful if you've got slow boot, if you've got scripts that are hanging in the system, if you've got other software that's affecting the overall performance of the system. Then what you can do is turn around and you can use the Windows Performance Recorder to basically build event traces. And then you turn around and use the Windows Performance Analyzer to read and open up those traces and create reports from those traces.
[The Windows Performance Toolkit consists of the Windows Performance Recorder (WPR) and the Windows Performance Analyzer (WPA).]
After completing this topic, you should be able to
Well, let's have a look now at some optimizing tools in Windows 10. Now let me throw in a quick disclaimer. Many of these tools can help improve the performance of Windows 10 in a very marginal fashion. There's nothing that's going to help you better than making sure you have sufficient hardware and making sure that you have applications that have been patched in, you're not running too much stuff on your system, and we're dealing with finite resources. Nevertheless, there are a few tweaks you should be aware of, some tools and techniques you can apply to help optimize your system. Now it's not uncommon for books who are talking about performance to recommend going into system properties and doing some changes here in regards to things like virtual memory and processor scheduling. Now you know my opinion about this. Personally, I think it's important to know about these settings, but you're not going to get a lot of gain from them. In fact, sometimes the settings you change in here can negatively impact the performance of your system. So be careful of making some changes here. There is one area I want to point out and that is the visual effects. If you have one of those systems, that's just there on the edge, not quite as responsive as it should be and needs to be because now we are trying to do something with it. And one thing you can do is turn off and reduce some of the visual effects. Windows 10 is a beautiful operating system. There are a lot of graphical elements. And so anything you can do to reduce the visualization and those graphical elements, well, that's going to translate into a more responsive system if you're right there on the edge.
[The System Properties dialog box allows you to optimize both memory and processing power. You can configure visual effects, virtual memory, processor scheduling, and other settings. Reducing the number of noncritical services and applications can also improve memory and processor performance.]
All right, here is another place I like to go when it comes to actually improving the performance of my system and that's reducing the number of noncritical services and applications. Now this is an area I go to especially when friends and family complain about their systems being slow. I'll sit down or I look at what services they're actually running in the background and what services are not needed. You know the bloatware, the stuff that when you install, you know, at a keyboard and then all the software gets added along with it that kind of stuff. Well, those are great candidates to remove if they're not being used. And so I like to go through and prone out those services as well as look at the startup environment to identify anything that might be delaying the system when it boots up each time. So, going into services and going into the startup, I think is a really effective way to help improve your average system's responsiveness. ReadyBoost, are you ready for ReadyBoost? Well, ReadyBoost is one of those technologies that I think most of us watching this and most people probably aren't going to need or use. Really it's a technology Microsoft introduced to help XP users kind of push that aging system up to the level where it could run Windows Vista. So this has actually been around for a while. And what it does is it allows you to extend your memory into a USB stick if you don't have sufficient RAM. Of course, a USB stick runs at significantly slower pace than physical memory. So this really isn't going to help most people out that much. The ultimate solution – if you need something like ReadyBoost – is get more RAM.
[The Services tab in the Task Manager window allows you to reduce the number of noncritical services and applications and also improve memory and processor performance. ReadyBoost is a cache-technology that can improve performance on systems with limited RAM. ReadyBoost requires a high-speed USB driver designed for it. ReadyBoost content is encrypted with AES.]
So the next thing I want to talk to you about is storage optimization. And there are couple of things that Windows 10 can do for us and a couple of things we could do to help improve the functioning of our storage subsystem. Now first off is space management. I was on my one drive and going through my camera roll the other day and I was just finding all kinds of strange photos, I mean pictures of my thumb, pictures of the ground, pictures of my toe. I mean just kind of common sense is to get rid of the stuff that you don't need, right. We can also uninstall applications we don't need. So that's a useful, you know, kind of the maintenance task in terms of managing our space and saving space. Now other things that Windows 10 can do for us are it can help us optimize our disk using built-in kind of cleanup tools. So there is some disk maintenance tools and some disk cleanup tools that go all the down to the actual sectors to help optimize the drive, things like check disk or defragging the data so that it's put and stored in an optimized location for quicker reads. And then there's also disk caching, which has to do with leveraging memory in terms of storing data on the physical disk and retrieving that data.
All of these techniques can help improve the overall performance of loading and reading and writing data of the disk. Now another important point and I've mentioned this already a couple of times is you can always improve your disk and your storage by having enough storage. And another thing that you can do is have faster storage. So that might mean investing in something like SSD drives or maybe even investing in a JBOD array for a storage space configuration. Any of that's going to help give you enough space to do what you need to do. Of course, that might vary. Some of you might be interested in creating a video music library. Some of us just are interested in taking pictures. Some of us need enough space so that we can, you know, just do our daily work and web browsing and not much more than that. In any case, storage optimization requires that we have sufficient space and that the disk subsystem itself is responsive and optimized.
Now here is an example of storage optimization technology in Windows 10. This actually was introduced in Windows 8 and that is Microsoft improved their file system repair utility check disk. Now some of you have probably ran check disk and slash F, slash R, and actually go in there and repair your file system. And what it does is it looks for cross-linked files and file system errors and repairs those. But the problem is check disk scans were always so time demanding and the system had to go an offline mode and then had to run the actual scan and then try to, you know, repair them – and especially, if you have a lot of storage like in the case of a server, this literally, literally could take days for it to complete. So, in order to actually improve the repair of the file system, Microsoft has optimized check disk so that, well, it doesn't take quite as long. In fact, when it goes into offline mode, it can quickly repair or address those things that it needs to do. And, in some cases, it can do repairs right there while the operating system is running. In fact, let's have a look at some of these improvements. So there is online self-healing, spot verification, idle-time scans – and that's a useful one. But that simply means is when the system is not actually doing anything, when it's actually just kind of in the background, then it can actually run the scans. Then instead of actually performing the scan when you reboot the system and go offline, you can interact with it if you want to. There is integration with it and as far as the action center is concerned. And then you also have online repairs of your data volume. All of these things accumulate to a much faster, better performing check disk. And, of course, keeping your file system healthy is an important part of the integrity of your storage system.
[There have been many improvements in CHKDSK. Drive size growth and the increase of files in the past have caused health checks and file systems repairs to run longer. To improve how NTFS fixes file corruption, the NTFS health model was redesigned for Windows 8. Health checks and file system repairs can also be initiated from the CMD prompt or a script with CHKDSK.]
Now the next thing I want to look at is Automatic Maintenance. Now Automatic Maintenance is a feature built into Windows 10. It was introduced with Windows 8. And it has a lot to do with making sure our systems apply a lot of the best practices and optimizations that we've been talking about. So what exactly is Automatic Maintenance? Well, Automatic Maintenance what it does is it runs a series of tasks in the background – doesn't do it when the system is busy doing other things. So, if you're in the middle of some work, it's not going to slow down your system. Instead it looks for opportunities to actually run its maintenance tasks. So it's timely and transparent. Now you can actually initiate Automatic Maintenance to run if you want to or you can rely on its schedule. But what it's doing is a combination of maintenance tasks like cleaning up a disk, running some defragmentation, running check disk – these are all types of Automatic Maintenance tasks. But that's not the complete list. In fact, it's extensible which means other maintenance tools and maintenance tasks can be added to automatic maintenance. So it's an extensible set of services that can run as kind of a health suite, if you will, for keeping your system optimized.
After completing this topic, you should be able to
Now an important and significant part of using any device is managing the power. In fact, this has become more and more important because we're not just plugging things in, we're running a lot of our devices off of batteries. So what we're going to do now is talk about some of the power management features that are available in Windows 10. This is a big investment area for Microsoft. They have been putting a lot of effort into this even starting before Windows 7. And we've seen improvements in 7, in Windows 8, and they continue here in Windows 10. So let's have a look at this. Now why power management is important is because we all care about our devices lasting as long as they can, so we want great battery life. And so one of the goals behind Microsoft's power management efforts is to deliver great battery life because we're running Windows on so many portable mobile devices, not just on the desktop that's, you know, plugged into the wall. But we're also concerned about power consumption for those desktops. And we're concerned about where Windows runs in other locations as well, like for instance, Windows Server running in data centers, you know, with a big demand of power that those locations require. So, by investing in this power management feature, in all the different tiers of Windows...so designing a good power management scheme for the hardware and for the operating system kernel and for the applications as well. Well, by doing that, Microsoft actually sees benefits in all the different types of form factors. So those, you know, improving the kernel – for instance – for Windows also affects Windows Server and power consumption there in the data centers as well as Windows running on your smartphone.
So Microsoft wants to increase battery life, but also impact other areas, other form factors reducing overall cost, and then this point right here – improving user experience. So one of the things behind that is this idea of the smartphone power model. And the smartphone power model is one of those experiences we're all used to, I should say, when we have a smartphone. And that is we're able to quickly power the device on by hitting the power button. The device is able to go into a low-power state. And yet at the same time, our applications, some of them have kind of a constant connectivity. They're still able to get – you know - notifications, still be able to get an e-mail, and then they're just instantly turned on when we need to respond to those messages that are coming in. So Microsoft wanted to take the smartphone power model and apply that to Windows overall. So the desktop as well, not just for the smaller form factors. And so that's another important part of the story behind the power management in Windows. Now, in order to achieve some of these goals, Microsoft actually has several key strategies that they have implemented starting back with Windows 7, into Windows 8, and also into Windows 10. And what we have here is a look at some of those highlighted areas that are intended to kind of deliver on these goals over here.
Now I want to expand some of this. Let's talk here about the device power framework. This has a lot to do with the design inside of Windows. It also has a lot to do with Microsoft's work with hardware vendors and application developers. Working in those two different spaces, Microsoft has sought – with the help of a framework – to smooth out some of the rough spots in terms of using energy in the system and asking for battery life. This is a historic problem with PCs because your legacy Win32 applications – right, those applications – well, they don't have really a power mindset because they were written for the desktop and building power mindset into them is a challenge. So Microsoft wanted to provide some additional guidance. And creating the framework facilitates the power-saving model that they're trying to achieve. For example, idle hygiene. Now idle hygiene is all about how background tasks affect the operating system and then the battery. Idle hygiene also has to do with the states that an application might be in. So, for instance, an application could be in the foreground, it can be in the background, and then wanting to do a background task.
How do we perform those or transition from those different states and do so quickly? And how do we perform background tasks with very little impact on the battery? Well, that's what idle hygiene is all about. It's an improvement and part of the framework where those transitions occur much faster and where background tasks are actually optimized and don't have as much impact on the battery life in the processor than they would have on the traditional PC.
A good example of this is universal apps. Universal apps can take advantage of this new power-saving mindset in Windows from the very, very beginning. In fact, they have a very specific mode called suspend mode – designed to save power. You can actually see this for yourself in Task Manager. You can see those universal apps going into a power-saving mode when they are not in the foreground. Then we also have fast startup to give users that smartphone experience even on their desktop where it has kind of this instant on type of experience going on. Then there is InstantGo. Now InstantGo – which used to be called Connected Standby – what that's all about is it's about creating that smartphone or fully realizing that smartphone power model experience.
So what this does is it allows the device to have three different states – either the screen is on or the screen is off, which is the...we might call Connected Standby type of mode and then full shutdown. Now what this does is it actually puts devices, hardware components of those devices into kind of like an ultra-low power state and yet it's still available for communication – so just a small blip of power is all that's needed. So, if a notification comes in, then the networking device can be woken up kind of like a cloud-based Wake on LAN. They could be woken up. The message or notification can come in and then it goes right back down into that low-power state. Now it requires devices with support for this kind of fine-grained power management control. So not every device actually supports InstantGo, it has to be a certified device and the firmware maker will indicate whether or not the device supports InstantGo. And then last but not least, Microsoft has a new feature called Battery Saver, which I'll talk a little bit more about later on.
After completing this topic, you should be able to
Now let's look at some of the Power button options. This is a pretty cool animation here. So this comes up and now what I can do is kind of explore this. Now the Hibernate here isn't built into Windows 10 by default. I mean it's built into Windows 10, but it's not present or visible. You actually have to add this by going into your Control Panel or the settings app. You can include that there. But let's kind of walk through this. You guys I'm sure are familiar with the idea of a Restart, right. So this resets the system, restarts the sessions. One little tip here because of the updating model, I have often found with my Windows 10 machine that if it receives a silent update and there is a restart pending, it might misbehave. If you find a system or you are supporting a user with a system that's misbehaving or your home system for that matter, the good, old fashion restart and reboot can fix a lot of problems and stabilize the system. That's still true today even with Windows 10. Of course, we got an ability to do a graceful Shut down. Then we have Hibernation. Hibernation has been around for a long time. If you're not familiar with hibernation, the idea here is to basically bring the system down and shut it down. And this is especially something you would have on a laptop. You're shutting the system down to conserve battery life. The problem is if I am in the middle of working on something and the system just shuts down, I can lose my data. So hibernation is not a shutdown, it's a shutdown with a save. That's the idea. So the system will shut down automatically if it goes into kind of a power saving mode. But, before it goes into actual shutdown, it will save the content of memory into a hibernation file.
[The Power button options are shown. They are Sleep, Hibernate, Shut down, and Restart. Restart terminates user sessions and shuts down services and applications. No power is used when in a shutdown state and no hibernation data is saved. Restart is not a power saving option, but it is requires in some cases such as new updates and it is sometimes helpful. Standard hibernation is a power-saving state that completely shuts down the computer, but saves memory first in a file called hiberfil.sys. This approach protects data and saves power. The disadvantage to hibernation is its slow resume. Also some users prefer a fresh start.]
Some applications work well with this, some applications do not – depending on the app itself. But hibernation is still an option. And then we've got Sleep. And the system supports a variety of Sleep settings like turning the monitor off and then actually going in complete sleep. And, with the power saving settings, what this does is instructions can be passed to different hardware components like the wireless card and the networking card and the graphics card and so forth. Various hardware components just say, "Hey, we need you to go into low-power state," to the USB ports, for instance. And so, by going into a low-power state, those devices...some of them can be very demanding and require a lot of power. Well, if they're not needed, they can go into a low-power state. So sleeping the system, I'm sure you've seen that. If you've used a PC at all, you know that the screen display turns off, you hit a key, and then it wakes up. All right, so that's a basic idea of the Power button options. Those are available in the Start menu conveniently. In Windows 8, it was way over here and it was hard to find at first for folks, but Windows 10 put it into a familiar location to make it easier for folks to locate who have been using Windows 7, which is pretty cool. So let's talk a little bit about fast startup. It's a great technology and innovation. One of the things that it does is it really speeds up the boot or start of your PC in a creative way. Let me show you how it actually works. Now the traditional boot goes through a system initialization process. So, if you are booting completely cold, you have the firmware portion, you have the system initialization. This goes through, you know, the bootloader, and the OS kernel, services, registry, drivers – all of that stuff – then the desktop portion when the user goes to log on.
[Sleep is a power-saving state that pauses system activity thereby saving power. Systems wake from Sleep quickly. The disadvantage to Sleep is it still requires some power to maintain the contents in RAM. Fast Startup is a new feature that saves power and provides a clean session after boot, but with rapid quick startup. In order to do this, Fast Startup changes both Shutdown and Boot behaviors.]
What we do here with fast startup is Windows actually recognizes that users want the system to boot up quickly, but oftentimes they want a fresh experience. So hibernation is okay in terms of saving data, but in terms of getting the users that fresh boot experience, well, they don't really want to have things to be loaded. And hibernation takes a long time for it to start up. So, for those users who want a quick experience with a fresh-looking PC without having to spend a lot of time going back through the system initialization and waiting for the typical PC to go through all those initial boot screens, what Microsoft does is it takes this portion right here that's running and this portion gets stored in a hibernation file. So this gets hibernated. Whereas the user desktop initialization where things start to slow down as well, loading the user profile just adds an additional dimension of weight to the whole accessing the desktop thing – so preboot, then hibernation load. And so it's a much cleaner process here, not loading the user profile and all that user data into memory. Instead, it's just the operating system core parts, any driver initialization that has to be executed, and then the user desktop initialization. So it shortens the cold boot process significantly – by shortening the system initialization – and fast startup the translation of this is really cool. Systems come and they start up PCs and laptops very, very fast.
[The cold boot process is preboot, system initialization, and user desktop initialization. The fast startup process is preboot, hibernation loaded, driver init, and user desktop initialization.]
After completing this topic, you should be able to
Now I'm sure you've had this feeling, right, where you are working with something, then you have to step away, something happens, then you need to go back to where you left off and you discover that your work is gone and that it's not saved. It's lost. I mean, how many times if you've done work and you've lost hours of effort because it was not saved, it was not backed up, it was not protected. Oh, that could be so aggravating, right. You just want to go, "Oh, I've to do that over," right. Well, I want to talk to you about some of the technologies in Windows 10 that helps address and really kind of helps provide a way to protect our data in the event something like that happens.
[Traditional backup, file history (Windows 8), and storage spaces (RAID) help to back up and protect files from failure or accidental deletion.]
So how do you protect your data? How do you protect your files when you have something go wrong like, for instance, some sort of hardware failure or accidental deletion, an interruption of the power, something along those lines? Well, you got several different options available to you in Windows 10. You have Storage Spaces, which I talk about in another video and that has built-in protections that are like hardware based. So it has mirroring, it has parity. If you've enough of the right kind of physical configuration, you have to have the right hardware for that. So a Storage Spaces is an option if you've enabled that and configured that. And then Storage Spaces works well when you combine it with one of these other two options where this is actually the storage solution. And then you have the software portion of it where you're actually doing a traditional backup. So you're protecting your files that way. And there is a traditional backup tool in Windows 10. It's actually called the Windows 7 backup tool. So they actually refer to Windows 7 there. And then here is one that's called File History and this was developed with Windows 8 and it continues here into Windows 10. And so you can use either one of these to protect your data. You're going to need an alternate storage location. And one way of providing the storage location, it's one way, and that is through Storage Spaces. So, when it comes to protecting your files or data, having additional copies, right. You can never have too many copies of your data. Well, that's what we're talking about and these are some ways in which we can create additional copies, archive our data in the event something happens.
So let's talk about File History for a moment in a little bit more detail. Now File History is a backup application. But it's a "set it and forget it" type of application because it continuously protects your data; your personal files; particularly protects those files, which are stored inside of your libraries, in your desktop, in your favorites, or some key areas where it's common for you to store information, right, to store your files in those locations. And so File History periodically comes along and silently backs those up. And one of the great benefits of this thing is that it happens for us automatically. It's less complex. You're not going through some sort of traditional backup wizard. You're not having to figure out a schedule. You're not having to think about the differences between incremental, differential, existential, consequential. You know, you don't have to figure out any of those kind of backupy terms. Instead what you do is you just store the information in your library and it automatically gets backed up. So it's meant to make data protection really easy, really convenient for the users. It eliminates the complexity of lot of those backup settings. It's automatic. It's silent. And then it has a very simple kind of restoration options. So you can go into the File History control and restore your data very quickly as well.
[File history backs up libraries, OneDrive, contacts, favorites, and desktop items. It just adds a file or folder to a library. It offers continual, hourly protection. File history is less complex than backup. It is automatic and offers browse, search, and preview options.]
So it's meant to run in the background and not actually demand much. So, if your system is in the middle of something, one concern you might have is performance. Well, that's not an issue because File History can be interrupted. So, if you're doing something, it's going to stop what it's doing and then it will just quickly resume. And, because it happens with such frequency even if it misses a one hour interval, it will kind of pick up where it left off and make sure it creates a snapshot of that data and it backs it up. So it's not meant to compete with you either when you are running your system. You know, it's really designed for the consumer, but they can be used in the enterprise as well if you want to. It also works with Storage Spaces. So you can create a storage space or you can attach a removable USB drive. In fact, when you attach a USB drive like a removable hard drive, then a toast notification comes up and you can indicate that you want to use that drive even from the toast for File History purposes or you can actually go into File History and, you know, target the storage location from there. So it's really easy to set up. And the primary thing is it's just an ongoing backup. So you don't even have to think about it until that thing happens and then you can restore your data with confidence.
After completing this topic, you should be able to
Now, if something is going wrong, having a good set of software tools that can help you diagnose the problem and perhaps even a repair and respond to the problem, is essential. So, in this next section, I want to do an overview and then demonstrate for you some of the ways in which you can repair Windows 10 and respond to, you know, problems that inevitably occur. So how do I protect my Windows 10 system? Well, there are several things we can do that are available to us. But they fall into two different categories. We have repair tools and we have recovery tools. Now I think these are pretty straightforward. And, you know, there is not a whole lot I want to say beyond to getting into some specific examples. Repair tools are just that. They are an attempt to try to repair the system, the software. Recovery tools on the other hand is when we've recognized that the system is beyond repair and we have to recover, so it's a bit more invasive. So those are the two kinds of categories – repair tools versus recovery tools.
Now, before you can figure out which tool to use whether it's a repair tool or a recovery tool, you have to start with this tool right here. And the reason why you want to start with this tool right here is so you're not wasting time, right. You're not addressing and trying to respond to some symptoms which might not actually be the root cause of the problem at all. So asking really good questions that's the first tool in your tool belt. That's what distinguishes a good troubleshooter from an average one – is knowing what the right questions are to ask. And those questions can include – what has changed recently, is this problem affecting just this particular application, is this problem affecting the whole system or multiple systems on the network. And those types of questions you want to ask so you can close in onto identify whether it's a hardware problem or a software problem or a Windows problem. And, by narrowing it down and closing in one of these three categories, then you can decide which set of tools that you want to use. In fact, some of those tools might even help you to kind of help diagnose the system to the point where you can answer some of these questions even better. I had a good friend of mine who used to say it's not important to have all the answers, it's more important to have the right questions. And essentially what he is saying is it's impossible to always know every answer. But, if you have the right questions, then that will lead you to the answer. And that really applies to PC and Windows client device troubleshooting as well.
All right, so here are some common Windows problems. I'm sure you've all experienced this to some extent – failure to boot, system is hanging, applications are hanging. What is the number one problem users complain about in terms of their devices? It's too slow, right. And then you've got application errors that are thrown and maybe you might get those occasional blue screens of death or what are known as Stop errors. Now these are common Windows problems and they can indicate a range of different issues. So you can have anything from a hardware issue affecting this like memory corruption, not enough juice, not enough power to something more critical like a configuration issue, malware, or maybe even you have a significant driver problem causing these blue screens of death. So, depending on the problem, right, that's going to have different symptoms that's going to help you in your intelligence gathering to close in on the actual situation and come up with a resolution.
After completing this topic, you should be able to
So here's a look at some of the Windows repair tools that I am going to demonstrate. Some of these relate to boot problems, some might relate to an application problem, performance issue, some of them might give you some tools that help you diagnose the actual problem. In other cases, you might be able to use these tools to repair the issue. It just depends, of course, on what the specifics are. So we've got tools that allow me to go into, say, Safe Mode. In Safe Mode, I'm booting up with a minimal amount of drivers. And that kind of helps me determine if the problem is related to a third-party driver or it's related to something that's more critical to the operating system running. So, if the problem goes away after I boot into Safe Mode, I kind of just drew a line in the sand and did kind of a 50/50 check. Now I can look for those things that are third-party and those are likely the culprit. Same thing with MSConfig clean boot, it has a similar feature where you can actually hide all Microsoft services and disable those and then boot the system with just a minimal number of services. And then, if the problem goes away, then you know it's related to one of those services that you disabled. Now we've got some options here, some repair tools that have been around for a while like Last Known Good. So, if you install a driver and you get an immediate blue screen, then you can boot into Last Known Good and it kind of rolls it back. It's kind of like a system-wide undo. It's limited in its application. I haven't needed to use an LKG in a long, long time, but it's still out there.
[The Windows repair tools are Startup Repair, Safe mode, Last Known Good Configuration, MSCONFIG (clean boot), Regedit or Control Panel, and BCDEdit.]
Then we've got maybe a specific entry, a configuration setting that's causing a problem with an application, the compatibility setting, or something. Well, that could result in us going into Regedit, maybe making a change in the Control Panel, could mean I'm changing an Ini file setting, those types of things are also available to me, but a lot of that is going to be guided by documentation. So I'm going to take the symptoms of my problem, I'm going to go to Bing or Google, and I'm going to do some investigation and then use these tools typically following some guidance to address that problem. So here are some examples of some commonly used very useful Windows repair tools. Now an alternative to the repair tools are recovery tools. And recovery tools – well, they are a bit more involved, they're more destructive, and they'll require a bit more effort on your part. In fact, you almost have to anticipate a need for these and create your images in your recovery drives ahead of time. And, if you've done that, then you can use the recovery tools to bring your system to a healthy state, if nothing else is going to work for you.
[The Windows recovery tools are Recovery drive, System Restore, System Image (Windows 7 backup), System Repair Disk (Windows 7 backup), PC Reset (Windows 8), and Reinstall.]
Now you've got multiple recovery tools like you do repair tools because, really, Microsoft just kind of continues to add to these and in some case, change their name. But we've got tools that have been around for a while and we have some newish tools. So you can build what is called a recovery drive. This is kind of like a recovery partition. We can put it on a different drive and restore the system. And, when you build your recovery drive, it's kind of creating an image of your system. In a similar sense, you can do like a system state backup using the Windows 7 backup tools, which they now call system image and also build a system repair disk as part of your recovery process. So these are related to each other. These are more of an actual restore from systems they backup and this is more of your kind of recovery drive. Then we've got System Restore, which is different than those others that I was just describing. Restore is going to go back to a restore point. So, in that case, you're not reinstalling the operating system or restoring from backup. Instead what you're doing is you're going back before, you know, the previous day or back before an application or driver was installed. So this kind of will roll back incremental components of the OS with the assumption that the last thing that you did might be the part that's contributing to the problem, so you can potentially go back. System Restore should not affect your user data. But these other methods are more destructive and they will affect your data if you don't have it backed up elsewhere.
Then we've got this newer option here called PC reset. And, with PC reset, what you're really kind of doing is reinstalling Windows. So I mentioned reinstall here, but really some of these others are just as you know, kind of, from that same category. The difference is PC reset can actually keep your files in your data. You might need to reinstall applications, but it can migrate your data back to a new fresh installation or you can opt not to do that. To access these recovery tools and some of these repair tools, well that's going to be in the early boot part of your system. So let me show you what that looks like. So, if you wanted to do a PC reset, you boot into what is called Windows Recovery Environment or WinRE. And you can do this from a boot drive or from the original DVD media, right, ISO media. And you can build one of these so that you can boot into it and reset your PC. And so you could choose this option and it will reboot the machine or you can launch this environment from the actual settings application. If you go into Advanced Options down here, Advanced Options take you to Last Known Good; takes you to Safe Mode; allows you to restore a system restore point. So some of the more repair tools and some of the more classic tools can be found under advanced options.
After completing this topic, you should be able to
You've heard of it – Hyper-V. Now we're going to learn about it and find out exactly how it works. Now Hyper-V is an important virtualization technology. And so before we can explain how Hyper-V works and what it is, we want to start with this word right here, what exactly is virtualization? Now virtualization I think of it in kind of a triad. When we talk about computers, we have physical components and those are the things we can touch. Then we have logical components and in that category, we are describing something as logical because it's pertaining to some sort of software. But then there's this third category called virtualization or what exactly does that mean? Well, virtualization has to do with abstraction. What we're doing is we're actually abstracting using software. We are abstracting something from something else, pretending if you will. Virtualization is important because it's not the actual environment that we're depending on, instead we have another layer of software that gives us additional agility. We're able to really kind of emulate something in order to provide the same kind of functionality. Now it's best to have some examples of this. So let's start off over here where we talk about Virtual Desktop Infrastructure or VDI.
[Virtualization uses software to create abstracted environments as opposed to actual environments. The illustration shows a Client Hyper-V, an App-V, and a VDI.]
Now think about what a desktop is from a moment? A desktop, of course, is something you walk up to and you might have, you know, your pens and pencils and your plants and pictures of your kids and it's a place where you do your work, your keyboard, and your mouse. But a virtual desktop? Well, of course we're referring specifically now to not just a desk, the workspace, but the PC in front of you. And what we're doing is we're going to virtualize that PC and that PC environment. And we're going to place that inside of a virtual machine so that you are not actually walking up to it, instead you are connecting to that desktop virtually. So you are connecting to it so that you can access the applications on it. So you can access whatever work is on it. You don't actually physically have to walk up. Now, instead what we're going to do is connect to that desktop, if you will. And we are going to connect to that over the network. So, when we talk about Virtual Desktop Infrastructure, we're talking about abstracting the reality of having to walk up to access your PC desktop, instead what we're doing is we're putting that PC desktop into a server and you're connecting to it, instead of walking up to it. So that's kind of the abstraction when I say, you know, it's virtual. Now, let's do a couple of other examples about application virtualization or App-V. This is another kind of virtualization, but the basic idea is we're still doing some abstraction. In this case, what we're doing is we're abstracting the actual application installation environment. So normally applications when they install into Windows, they're written into the registry and they have a lot of access to the system. So they could make the necessary call. So they can, you know, do their application thing.
But application virtualization, what we are going to do is not install the application the same way that we normally do, instead the application gets installed into a bubble and so there's a degree of separation between it and the operating system. So it's not actually writing to the registry, it's writing to a kind of its own personal copy of the registry. But the brilliant thing about application virtualization is its totally unaware of the fact, it's not talking to the operating system. What that does for us is it allows us to run applications side by side that may not be compatible with each other otherwise because they are not actually seeing each other. A good example of this is an application that's the same, but different versions that want to write to the same registry keys. Well, we can run them side by side without that kind of conflict if we put them in these virtual bubbles. Are you getting the idea now of what virtualization is? Okay, let's try one more, Client Hyper-V. This is the one I want to focus on for the rest and the remainder of this section. Client Hyper-V is a feature inside of Windows 10. It's a feature that was introduced in Windows 8. It's been around in Windows Server for a while. And what it allows me to do is actually run what are called virtual machines. So again, in the physical reality, we've got a machine that we can actually walk up to, we can touch this is my physical machine. But instead what I'm going to do with Hyper-V is I'm going to abstract that. I'm going to take this idea of a machine. I'm going to put it into some software. And so I can actually now run multiple operating systems and they can share the hardware. So if abstracted this idea of a machine so that instead of being tied to, you know, a single processor, I can have multiple operating systems running as if virtually pretending they have access to hardware, but in actuality, they are actually sharing hardware among each other on the same physical machine.
Now virtualization is an important development as far as computing is concerned because it allows us to take greater advantage of our resources, allows us to overcome a lot of problems like application compatibility, and providing access to applications like VDI. It also allows us to create lab environments, it also allows us to develop applications, test those applications, it reduces the cost and so that we don't actually have to have a physical reality for every kind of instance of a machine we want. So, in the case of Client Hyper-V, I can have virtual machines, right, as opposed to having to purchase physical hardware systems for each one of those workloads. Virtualization is a very important infrastructure improvement, so that even data centers and enterprise organizations running servers can take those workloads in their applications and run them in a virtual infrastructure. And that overall reduces cost because it means less physical machines and less physical machines means less hardware, less cooling costs. Anyway you get the idea, virtualization gives organizations huge advantages and it's the way we do business now. Windows 10 is no different. Windows 10 actually can take advantage of all three of these different types of virtualization.
After completing this topic, you should be able to
Now let's double-click on this Hyper-V and go deeper into understanding what it does for us. Now Hyper-V is Microsoft's type 1 hypervisor, which means what it does for me is it allows me to use multiple virtual machines and they can share the hardware on a single system. So this allows me to do things like, you know, set up a lab. So if I want to explore and experiment, maybe, I'm an application developer and I'm creating, you know, applications and I want to test among different versions of Windows, maybe I need to actually do some training and set up a small network virtually speaking, you know, all of that's going to be a lot easier in Hyper-V than it would be if I was physically trying to set that up. So what Hyper-V does for me is it's a thin layer of software that allows me to run multiple operating systems and share the underlying hardware underneath. Now in order to actually enable Hyper-V and to take advantage of this, I have to have some virtualization extensions in the processor. So the processor actually has to support Hyper-V.
Now this is pretty easy to determine. You can just go to Intel's web site or AMD's web site and check to see what the specifications are for your processor. There are also some tools like Coreinfo from Sysinternals, which you can download from free from Microsoft and there are some other ones I've seen and used. Well, these tools will also interrogate your system and tell you if it's Hyper-V ready or not. The other thing you need to make sure of for Windows 10 is that it supports SLAT, which is an additional virtualization, kind of, performance improvement feature. So, Secondary Level Address Translation, what SLAT does for us is it improves the way that we access memory. And so, when you have Windows 10, now well, it's pretty demanding when it comes to graphics with the live tiles and all of that. So having SLAT is required. And it's also a good thing just for the overall performance of Hyper-V on Windows 10. Now I really like this diagram because it shows me some of the nitty gritty of how Hyper-V works and it also reveals the relationship between the hardware, the hypervisor, and the virtual machines. So I want to dig into this just a little bit. First thing I want you to observe is that this is organized into partitions. So we've got this parent partition and then we've got our virtual machines and those are called child partitions. Now one of the things that gets confusing about this is that there are different types of implementation of virtualization. For instance, one type of virtualization is called type 2 and that's where these child virtual machines are actually executing inside this host virtual machine or host system, I should say.
[The example shows how Hyper-V works. The example has a parent partition and three child partitions. The components of the parent partition are the host server, virtualization stock, synthetic I/O devices, and drivers. The first child partition contains Windows 8 apps, the second child partition contains Windows 2015 Server apps, and the third child partition contains Linux apps. The hypervisor connects all the partitions to the shared hardware such as the hard disk and memory.]
Now that's not what Hyper-V is. Hyper-V is a type 1. So even this parent partition, you'll notice, sits on top of the hypervisor software. So all of these are actually partitions. All of them are essentially virtual machines. They have different functions. There is a difference between the parent and the child, but they are all virtual machines in accessing the shared hardware through the hypervisor. It's the hypervisor that's implementing the virtualization. That's different than type 2, where we have the virtualization implemented inside the operating system here. An example of that would be Microsoft's Virtual Server or Microsoft's Virtual PC. And there are some other ones out there like Virtual Box and a few others that are actually running emulation software inside the initial operating system. Now, the way the parent partition works, is when you first come up to machine, you install Windows on it, and then you enable Hyper-V. Well, that initial installation becomes the parent partition. And it plays an important role in helping the other virtual machines communicate to the hardware. You see which presented to the child partitions here isn't an actual view of the hardware, but a virtual view of the hardware. So they're going to send, of course, calls and requests to the network, to the storage system, to the processor, and so forth. Well, those calls are redirected to the actual hardware with the help of the parent partition. In fact, there is a special bus that runs between these guys called the VM Bus. And the VM Bus helps improve those calls and the actual redirection to the physical resources.
Now some devices are better performing at that. So they're, what we call synthetic devices versus emulated devices, and also secondary level address translation or SLAT can also improve the performance of accessing the hardware and accessing the child partition memory, for that matter. Now, one of the other things, I want to point out to you is that the parent partition does have some management characteristics or management features and they have kind of a unique insight into the child partitions. So one of the things that you can do is with integration services installed, you can actually, from the parent partition, shut down a virtual machine. So, if I'm actually inside this Windows 8 virtual machine running on my Windows 10 system, I can, from the Windows 10 system using a tool called Hyper-V manager, issue a shutdown from this or to this machine without actually having to log into this machine and execute the shutdown from inside the virtual machine.
That's because there are some integration services. So, there are some restricted, but very valuable type of management tasks that I can perform to my virtual machines depending on whether or not they support these integration services. It includes things like synchronizing the clock, so the clock for these VMs could be synced to the parent partition over here. It includes the ability to do a shutdown, includes kind of a heartbeat check as well. So, if one of them hangs, the parent partition is aware of that – I might have a some software that might react to that kind of status change. There is a variety of things that I can do with the integration services enabled, which in the newer Windows operating systems, they're automatically applied. If you install an older operating system into a virtual machine like say XP or maybe a certain flavor of Linux that doesn't have those integration services, you'll discover that you have limited management from the parent partition. Limited – not deal breakers at all. And you might also mean simply installing those integration services into the child partition, so that you can have those features if you need them or want them. All right, so this is a great look into the relationship between these different partitions, how the hypervisor guarantees isolation and how the hypervisor also provides shared access to the hardware.
After completing this topic, you should be able to
Now, I want to explore, what it takes to enable Hyper-V in Windows 10. And it's not much and it could be a lot of fun. I love using Hyper-V. I use it actually pretty extensively. I have a lot of virtual machines I use for classroom purposes, for training purposes, for some other purposes as well. Now, in order to turn on Hyper-V on one of your systems, you need to make sure that it's running Pro or Enterprise Edition. You also want to make sure that you have those processor extensions including SLAT and we're talking 64 bit here. The other thing you want to make sure is that you have sufficient hardware. Now, keep in mind, we're sharing the hardware. And some of us do better at sharing than others, right. We've all been to kindergarten. So what we want to do is make sure we've got enough to go around. So, if you have a virtual machine, you plan on building that's going to be pretty demanding. And maybe you have several virtual machines you plan on building. And you want to make sure you have plenty of RAM. Now 4 gigabytes of RAM – and that's a minimum – and you can do all quite a bit even with 4 gigabytes of RAM. But, keep in mind, that the host partition – the parent partition – is also going to need resources. So we're not talking just about the virtual machine. We want to be able to leave plenty of resources left over, so we don't starve the parent partition.
So I'm a big fan, personally, of at least 8 gigabytes. My current system is running at 16 gigabytes. And it works great. And I can do different kind of virtual machine configurations. So I can run four to eight different virtual machines at the same time. Now that depends of course on what they're doing and what resources I have assigned them, but that gives me a lot of flexibility when it comes to, you know, building up labs, and experimenting and exploring and learning about Windows technology. Now another thing you can do is you can enable Hyper-V actually in PowerShell, or you can come in here and turn it on using the Windows features – the add or remove Windows features, Control Panel control. You can see the option to enable Hyper-V is right there. So this is where you would go to turn it on once you meet those necessary requirements. The next thing you're going to do, once you turn it on, is you're probably going to want to build up your networking components, so that your virtual machines have a network they can connect to. And then you just start building the virtual machines. And start having some Hyper-V fun.
After completing this topic, you should be able to
I think a lot of you are eager to learn more about how Hyper-V works in Windows 10, specifically, what are some of the new features. And there are some new features that are pretty cool. So let's talk about some of these new features in Windows 10. First off, I want to mention that we have Hyper-V Manager with down-level support. This is something you would just expect to be there. And so Microsoft has it for us. And that is, we can use the management tool that we use often to manage our virtual machines called Hyper-V Manager and we can use that to manage older Hyper-V parent partition. So I can use it to...from my Windows 10 machine, connect to my Windows 8 machine, which is also running Hyper-V. And that's what they mean by down-level support. We also have alternate credentials for virtual machines. So the ability to launch virtual machines with a different set of credentials. Windows PowerShell Direct is an improvement in terms of being able to manage my virtual Machines. And then integration services via Windows Update. Remember, integration services are important component in providing support for synthetic devices, which perform better than emulated devices and also helps in terms of parent partition to child partition management. Allowing the parent partition to be able to do some things like shut down the virtual machine from outside the VM. So this is something that is now delivered via Windows Update.
And there is more. More new Hyper-V features in Windows 10. So we're not talking about Ginsu knives and French fry, coffee makers, instead talking about configuration files and changes to networking and such. So let's look at these real quick. First off, we have a change in the way that the virtual machine information is stored. In the past, it was stored in configuration files based on XML. There is still compatibility for that, but now in Windows 10, we're moving away from that and we've got a binary configuration file, instead, and there are some performance reasons Microsoft made that decision. The good news is there is compatibility for the old format as well. You can also hot add and remove network adapters and we have these things called production checkpoints. So now we've got two different styles of checkpoints – production checkpoints and then the standard type of checkpoints. Now, if you're not familiar with what a checkpoint is, a checkpoint is kind of like a point-in-time save of a virtual machine. Kind of like a cryogen freeze of a virtual machine and whatever it was doing so that you can restore it later on. And this is helpful, of course. I use it for instance when I'm doing demonstrations. And so, if there is a process...it takes a real long time and I want to demonstrate it to a group of individuals, I can just go back to the state that it was in, or go ahead if you will to like an end state, it's kind of like the Julia Child's effect, right, where she is cooking, cooking, cooking, and then she opens up the oven and says, "Well, this is what you'll get once it cooks for four-and-a-half hours and three weeks," right, that kind of thing. You don't want to wait four-and-a-half hours and three weeks for that thing to cook.
So we use checkpoints. Now the problem with checkpoints is it actually can be disruptive with certain applications that are more time sensitive. They don't like being frozen and then thought out again. So, Microsoft has these things called production checkpoints now in Windows 10, and essentially it runs on VSS and it behaves more like a restoration from backup. And the application then, if it's aware of VSS, then it's going to respond differently than it would from an abrupt restore from a standard checkpoint, then it actually behaves like it's being restored from backup, which can help with the integrity of the app. Pretty cool. The last one I want to mention here is this guy right here. This is a Linux Secure Boot. Linux Secure Boot is the ability to kind of provide protections around the Linux virtual machine using Secure Boot technology, which means you have UEFI and you're ensuring and protecting the boot environment with some integrity checks so that you're, you know, preventing rootkits is what we're talking about here. Secure Boot is really cool feature that Windows 10 supports. You can also apply it to Linux virtual machines. So, if you have a Linux-based application and you want to run it in a secure environment, Windows 10 will provide you that environment for you.
So some great new features in Hyper-V. Let's check them out. All right, let's say you want to take advantage of some of these new features, one of the things you should be aware of is if you import a virtual machine from a previous system like Windows 8 machine to Windows 10, well then, that virtual machine may not be able to take advantage of hot add network adapters or PowerShell Direct, not until you upgrade it to these VM versions here. So Microsoft has a new concept here called VM versions where we can track essentially where that virtual machine was built from and we can control what characteristics or features it has available to it. And so, if you want to use some of these new features, it might require you to actually upgrade it to an appropriate, you know, to the minimum VM version. So, let's have a look at where we see these VM versions, and how we upgrade an older virtual machine to a newer version so we can take advantage of these features.
[The VM Versions table is shown. The table has two column headers, Feature Name and Minimum VM Version. The Hot Add/Remove Memory feature requires a minimum VM version of 6.0. The Hot Add/Remove Networks Adapters feature requires a minimum VM version of 5.0. The Secure Boot for Linux VMs feature requires a minimum VM version of 6.0. The PowerShell Direct feature requires a minimum VM version of 6.2. The Production Checkpoints feature requires a minimum VM version of 6.0.]
After completing this topic, you should be able to
All right, I am eager to actually start building some virtual machines with you. But, before we do that, let's take a moment and look at the anatomy of a virtual machine. Now we've already learned that a virtual machine is a child partition. It runs on top of the hypervisor. But there's more to a virtual machine that we need to understand. So the next thing I want to do is let's dig into the content of a virtual machine. Exactly what is going on inside of it? Now this is important because we are going to want to learn about, you know, the different components and decisions you have to make when you are building your typical virtual machine. Now virtual machine is going to contain applications, it's going to contain an operating system just like a regular standalone machine – right, the typical type of device that has an operating system on it, data, and all that other stuff as well. Well, all of that information is information that has to go somewhere. The thing with a virtual machine is it's file based. So we are not talking about physical, right. This is abstracted and so we are representing abstracted environment with files. And so there's a virtual hard disk file – not an actual hard disk, but a file. And there are two types that a virtual machine supports VHD, right, you guessed it – virtual hard disk – and then VHDX, which is a file format that can support larger files than the VHD. So that's one of the key files and one of the decision points we are going to have to make when it comes to actually configuring a virtual machine is what type of file we want and where we're going to store that. We will look at that. And then the other thing is the actual configuration settings that relate to the hardware. You see the operating system is going to expect a processor, going to expect RAM, it's going to need a network, it's going to need access to, you know, a lot of the kinds of things that you see attached to a device – those chassis settings.
[A virtual machine contains applications, an operating system, XML and BIN files, and a virtual hard disk file. The VHD or VHDX files contain OS images and data volumes. The VMCX or XML files contain configuration settings. The BIN files are used to store saved VM memory.]
Now the way we are going to represent the chassis is also with a file. And, as you heard earlier, when we were talking about the new features in Hyper-V, Windows 10 supports a couple of different file types – the legacy XML files and also binary files – to store configuration data and also other types of information like saved virtual machine memory. So these are the different types of files right here – our XML and configuration files and virtual hard disk files – that are really the heart and soul of a virtual machine. Generation 1, as you probably can deduce, is actually designed for compatibility. It's been around a lot longer. And it has the same kind of configuration and support for when Hyper-V was first released back – 2008 or so. And so what it has support for is booting to IDE controller, in fact it requires that. Another noteworthy point is if you have generation virtual machines and you want to do a PXE-based installation like you have Windows Deployment Services or MDT and you want to install Windows over the network, well PXE only works for the legacy network adapter. So you can get a virtual machine to boot up using PXE, but with generation 1, it has to be a legacy network adapter. There are two types of adapters that generation 1 supports – legacy is one and then the standard adapter.
[Generation 1 virtual machines have Legacy virtualized hardware, they boot to IDE only, and they require Legacy Network Adapter for PXE boot. Generation 2 virtual machines boot to SCSI, they are faster, EFI is available, Secure Boot is supported, and they remove virtualized Legacy hardware, including the Legacy network adapter.]
Now let's compare that for a moment over here with this generation 2 virtual machines. With generation 2, this one can boot to SCSI. It's also going to be overall faster. This is only going to support though your newer operating systems – so Windows 8.1, Windows 8, Windows 10, right. It also has support for secure boot. So that means you have rootkit protection that can be applied to this and a lot of the legacy types of hardware is no longer required. See part of the idea behind a generation 2 virtual machine is we don't actually need a lot of the drivers for devices that don't really function any longer or unnecessary in a virtual machine like COM ports, for instance. Unless you have an application that specifically requires COM port, we don't really need them in virtual machines. Floppy disks – right, do you remember those? Some of you may not. Well, you don't need a floppy disk in a virtual machine. Generation 1 has a floppy disk, generation 2 does not. Generation 1 – it's emulating a lot of the characteristics of the operating systems in the past that were not really virtual aware. They were always installed into a specific physical environment that goes all the way back to the 1980s – you know, this legacy, this history of PCs, and the evolution of PCs. And so a lot of legacy support here for technology that's not needed anymore especially in a virtual environment. Generation 2 kind of shed some of that off and supports a more virtual-aware platform.
After completing this topic, you should be able to
Okay, so we've created some virtual machines. Now what I want to do is talk about how we can manage the virtual machine and what tools and methods we have available to us. Now, for starters, I want to remind you that a virtual machine is made up of various configuration files and management tasks that we're doing. Well, lot of them are going to be against those configuration files. Now, once a virtual machine has been created and it's running, what are some of the things that I can do? Well, here are some VM actions. I can, of course, turn on the virtual machine. I can connect to the virtual machine. I can abruptly turn it off. That's like walking up behind a PC and just pulling the power plug on it. I can save it if I need to and that will save its memory and save its state. I can also create a check point, which is also a way of saving it, but that gives me the ability to go back to that check point and restore it later on. And there are some other actions as well – so just pausing, resuming, and resetting the virtual machine, which is kind of like hitting the reset button. Well, let's have a look at these and try it out. Now I want to talk about VM management. And VM management is a lot about controlling the environment and controlling the various features that the virtual machine can take advantage of like making sure it has the latest integration services, making sure that I've got the check point type set up to the type of check point that I want, file locations like where am I going to store those configuration files and VHD files and what happens if this virtual machine automatically is turned off like...for instance, let's say the parent partition experiences a power failure. Then do I want the virtual machine to automatically start or do I want it to stay in an off position? Those are all things I can control through Hyper-V settings and they're all regarding VM management.
Now let's talk a little bit about moving our virtual machines. And this is useful if you have multiple hosts and you have virtual machines that you need to, you know, migrate from one machine to the other. And it's useful if you have maintenance that you need to do against a host. So a couple of key points here and that is you have the option to import and export virtual machines. In fact, you can import virtual machine files without actually exporting them first. And there is a couple of techniques involved with that in regards to how you import them whether you're duplicating the original virtual machine or you're creating a copy of that and we'll look at that. The other thing I want to point out is you can migrate a virtual machine storage and relocate its storage to a different place. But you don't have some of the same features in Windows 10 that you would have in server like you don't have live migration nor do you have like Hyper-V Replica. Those are more server class types of Hyper-V features. Nevertheless, you do have some migration capability in Windows 10. Let's have a look at these. Right, a quick word or two about connecting to your virtual machines. You can do this one of two ways. You can use what is called a VM Connection, which is really kind of the traditional original formula approach. That's also called basic mode now. But you can also use enhanced session mode and this isn't new with Windows 10. It was released around Windows 8.1, Windows 2012 R2 and that is you can use an RDP-based connection. And that gives you some additional levels of interaction with the virtual machine. So you can do things like copy and paste from the virtual machine desktop to the parent partition desktop and some of the other kind of RDP resource redirect features. So these are two different ways in which you can interact with the virtual machine – basic mode or enhanced mode.
After completing this topic, you should be able to
Now a virtual machine is not a virtual machine without virtual storage. So now I want to take a deeper look into the virtual storage features of a Windows 10 virtual machine. Now inside of your Windows operating system are essentially a couple of storage controllers. Two big ones – we have the IDE controller and we have SCSI. Now the IDE controller allows me to attach virtual hard disk to a generation virtual machine and boot to that. Now I can have up to four different devices attached to it and that's really written into the software. This is virtual. You might think we could do more than that, but it has to do with the fact that the software was written to support the physical IDE standard. And so we still have to follow those rules. So, when it comes to IDE, no more than four devices. That's because in the past, we could have two devices and we could have two of those different cables, right. So the old master-slave type of configuration. I mean that goes back a while, but you can emulate that virtually with your IDE connection. Now over here with SCSI, we don't have those same limitations. With SCSI, you can actually boot to it with generation 2 and you can have hot-add capabilities. You can automatically add a VHD file attached to your SCSI controller without having to turn the machine on or off. Now these can be mixed in a virtual machine that's generation 1. So you can actually boot to IDE and have your data stored on SCSI. In the case of a generation 2, we're going to boot to SCSI and we're going to use SCSI to store our data on here. So this one here has kind of nearly unlimited virtual attachments, at least in terms of practicality. IDE gives us compatibility and really is kind of held over from the old days, but it's required if you've generation 1 virtual machines for the boot drive.
[The IDE virtual controller type is bootable on Gen 1. It is based on traditional Win IDE drivers and has four virtual attachments. The SCSI virtual controller type is bootable on Gen 2. The hot-add feature is available and it has numerous attachments.]
All right, we have two different VHD file formats. We have VHD and we have VHDX. Now this one here has a limited size – 2 terabytes – it's backwards compatible. And so this is going to be a format you can use for, you know, virtual machines perhaps coming from older Hyper-V hosts. And Windows 10 has got support for the VHD format. Most cases though, you want to consider using VHDX. So this isn't like the Star Wars movies where the original movie was better than the later movies – no, no, no. VHDX is the later format. And it's a superior format for many, many reasons. For one, it's got larger drives, it's going to perform better even on larger physical storage than the VHD file. So wherever appropriate, you're going to want to use a VHDX file. Now you might run into some compatibility issues, so it depends. You might have – for instance – another virtualization system or virtualization host or a cloud service that cannot accept VHDX files. And so in that case, you might have to use a VHD file for your virtual machine if you're moving them around. But, you know, you want to look into that and determine whether or not VHD versus VHDX is compatible, so a couple of different file formats. VHDX is going to give you the better performance.
[The VHD file format has a limited size of 2 TB and is backwards compatible. The VHDX file format has larger drives (64 TB). It works better on dynamic and differential disks. It works better on large sectored drives of up to 4 KB and has greater efficiency.]
All right, let's look at the VHD disk types. We have a couple to choose from. Probably the one that is going to give you the better performance for a production level virtual machine is going to be this guy right here – fixed size. And what that simply means is you provision a size. You say maybe, it's 2 terabytes and then that VHD file is 2 terabytes. It immediately requires 2 terabytes of free space. And it carves that out on your storage subsystem. And then that 2 terabytes can't be used for anything else. On the other hand, you might want to consider dynamically expanding. With dynamically expanding, you can indicate that the drive or VHD file is 2 terabytes. But, in actuality, it starts off with something like 4 megabytes. And it only occupies physical space based on how much you put into it. So it's kind of a balloon – the more you put into it, the larger it gets. What is nice about dynamically expanding is it can be created really quickly. If I was to create a 2 terabyte VHD file – I mean that's a really large VHD file – it would take some time for that VHD file to actually be provisioned as the file system goes through and carves that space out. Here though, I get 4 megabytes really quickly. And, as time goes on, I can actually now use up to the maximum size of that file. Now another thing I want to point out is that this right here – this dynamically expanding – is at risk of fragmentation. So, if you have a dynamically expanding VHD file and it's surrounded by other files, then you have the risk of the file fragmenting. And a significant amount of fragmentation can ultimately translate into slower performance. So that's why fixed size is recommended over dynamically expanding.
Now we've got differencing disks over here and differencing disks are interesting. And now what you do with this is you can actually chain VHD files together. And I've actually used this in several different places. So let's say, for instance, I have an image that's based on a VHD. And this VHD image I want to use for a couple of different types of installations for our different scenarios. So maybe it's an image of Windows Server. And so I want to be able to install couple of different roles. And I want to also have the ability to kind of roll back if I want to. So what I can do is I can actually create a VHD here and chain it to the parent image right here. And so any changes that are needed, any rights that occur, actually occur to this guy right here. This is where the rights are occurring to this differencing disk. And this parent disk right here stays read-only. The benefit of this is I can actually get rid of this differencing disk and you can just kind of delete this and then I can recreate it and start from scratch. And so this becomes kind of a pristine image for me. So I can recreate my role or do a different role if I want to. I mean, I can chain and continue the chain if I want to. Similarly, in a manner of speaking is checkpoints. Only this is actually establishing kind of the checkpoint without having to bring the machine up to that period of time and then create the checkpoint. Instead, I create the VHD and then reference my parent disk here. And then that gives me this ability to actually put all of my rights in this differencing disk and maintain this one here and keep it pristine.
Let me give you a trick here, one of things you can do. You can actually take the WIM file from Windows 10 and convert it to a VHD and then create a differencing disk. And so that might be a quick way of getting, you know, a virtual machine up and running for testing purposes actually using VHDs that you download or that you convert from WIM files. So I think that's a powerful way of getting some laps going. Now differencing disks suffer from some of the same potential problems you might have from other types of disks that are not fixed size or like dynamically expanding. Keep in mind, if I have multiple disks chained to this, right, then there is a lot of reading that's happening against this one disk. So, depending on how many I'm chaining and how much activity is occurring on those virtual machines – if I have more than one running against a single differencing disk – I can experience slowdown. So just a couple of things to think about. You've got lots of choices here for different types of scenarios – fixed size, dynamically expanding, and then differencing disks.
After completing this topic, you should be able to
So one of the first things you're going to want to do is configure your networking for your virtual machines. You're going to want to get them on the wire so you can maybe patch them, update them, join them to the cloud, join them to the domain, whatever. So let's talk about configuring virtual networking now. All right, Hyper-V supports three types of virtual switches. So this allows and facilitates the communication between virtual machines, between VMs and hosts, and between virtual machines, hosts, and the outside world. So, for starters, we have this private network. And, with a private network, it's exclusively virtual machines. That's it. No outside world and no parent partition or host. This is useful if we want a total isolated environment. Then we've got internal. An internal is one step further where we're actually including the parent partition, so it can connect to the internal network. So this way we can get them communicating to each other. And, if there are resources hosted on the parent partition or the host, those virtual machines can take advantage of that.
And then, last but not least, we have the external. And, with the external, we're allowing virtual machines to connect to the outside world. Optionally, the host can connect to external virtual switches, well, with a virtual NIC and be able to access the outside world over that same connection. So, in that case, the virtual machines and the host can share the connection. Now let me make mention of couple of recommendations here. A lot of it depends on what you're trying to do. In a production environment, oftentimes we want to isolate different kinds of traffic from each other. So we may not include the host on the same virtual switch and share that communication pipe with a VM. So we might have an additional networking card dedicated to the parent partition or the host so it can do its management and have access to the network. And then the virtual machines would have a separate network card. But that's only if I have like a production machine. When I'm running Hyper-V on Windows 10, I'm less concerned often with that than I would be say on the server. So you have three different options though to meet whatever your needs are. So, if I only have one network card on my Windows 10 machine and I want my virtual machines to be able to access the outside world, the external virtual network is what I'm going to create and the host can share that one connection and all of them can get on the Internet and do the thing they need to do.
Now, in addition to the three types of virtual switches, we also have different virtual NICs. And I think this is pretty straightforward except for one factor and that's the differences in generation. So, with a generation virtual machine, you actually have two choices of what type of virtual adapter that you can actually add to the VM and then connect to a virtual switch. Those two adapter types include number one – a standard network adapter – or number two – a legacy network adapter. Now the difference for generation 1 machine is that the standard network adapter is going to give you a synthetic adapter, it's going to give you your basic core network functionality, all that goodness. But then the legacy network adapter is the only one that supports PXE boot. So really, the big difference between the two is that the legacy or emulated adapter is going to give you your PXE boot. But this distinction is only really important with generation 1 virtual machines. If you have a generation 2 virtual machine, you only have one adapter and just this network adapter there in the configuration and you just add that or add as many adapters as you like there and connect it to your virtual switches. So, with a generation 2, you don't have a legacy network adapter. And finally, you can also configure a virtual network adapter for your host depending on the virtual switches that you have. So, if you're going to set up an external virtual switch so that the VMs can get to the outside world or the host is going to need to also plug into that external virtual switch and so by virtue of creating that external virtual switch and leaving that checkmark set, word says, "Allowing the op management operating system use it." You are giving your host a network adapter to connect to that external switch. So three types of virtual adapters. The big distinction really only has to do with generation 1 VMs and that's the difference between standard and legacy. Other than that I think it's pretty straightforward.
[The three types of VNICs are the VM network adapter, host network adapter, and VM legacy network adapter.]
After completing this topic, you should be able to
So let's say that you have Hyper-V installed on your Windows 10 machine like you see me here. And let's say that you've got a domain controller or maybe some other virtual machines and you wanted them connected to each other exclusively. You don't want them connected to the outside network nor do you want them connected to the Windows 10 host. So here's my question for you. Where do you go and how do you configure a network to support that scenario? To support exclusive virtual machine connections that don't include the host and don't include your outside network. Think about that for a moment. Feel free to pause the recording and resume it when you're ready.
[The Hyper-V Manager window is open. The window has the File, Action, View, and Help menus. Below the menus, the window is divided into three areas. The directory structure is on the left, the interface is in the middle, and the Actions panel is on the right. The interface area in the middle has three sections: Virtual Machines, Checkpoints, and DCO unitoogames.com. The Virtual Machines section has a table with six columns and multiple rows. The six column headers are Name, State, CPU Usage, Assigned Memory, Uptime, and Status. The DCO unitogames.com row entry is selected in the table.]
Okay, so we want to build a network that supports virtual machine connections, but isolate those connections from the host and from the outside world. How do we do that? Well we're in Hyper-V Manager here. This is where we start. We're going to go over here under action pane and choose Virtual Switch Manager for VINCULUS, and we're going to create a New virtual network switch. This virtual switch though is going to be a Private virtual switch because these other two don't accomplish what we need. External is going to be mapped to a physical adapter; Internal includes the host; Private is the one that has total isolation. So we're going to create a Private network. Name it Private. Click OK to this. And then the next thing we want to do is connect our virtual machines to that network. So we can select whichever virtual machines that we want to attach that switch. Then we go to the settings of that virtual machine. So I'm going to do that here again in the action pane – few settings. Go to that virtual machines networking connection and here I'm on actually at the drop-down arrow and choose the new virtual switch that I just created. I'm going to do this on several other virtual machines and that will isolate them from the outside world and isolate them from the actual host. And so that's how you configure a totally isolated virtual switch in Hyper-V.
[The presenter navigates to the interface area in the middle and clicks the first row entry for DCO unitogames.com. The Virtual Switch Manager for VINCULUS dialog box opens. The dialog box has two areas. The area on the left has several options such as the "New virtual network switch" option. The area to the right has the "What type of virtual switch do you want to create?" standard text. Below the text is a section with three entries: External, Internal, and Private. Below the section is the Create Virtual Switch button. The presenter selects Private entry and the area to the right now has the Name text field, Notes section, and Connection type section with three radio buttons: External network, Internal network, and Private network. The Private network radio button is selected. At the bottom are the OK, Cancel, and Apply buttons. The presenter types Private in the Name text field and clicks the OK button to close the dialog box. The Hyper-V Manager window is again displayed. The DCO unitogames.com row entry is selected in the Virtual Machines section. The presenter then clicks the Checkpoints section to open the Settings for DCO unitogames.com on VINCULUS dialog box. The dialog box has a directory structure on the left and the interface area on the right. The presenter selects Network Adapter Private in the area to the left and the interface area is populated with various fields about the Network Adapter.]
© 2018 Skillsoft Ireland Limited