Archive for the 'Windows 10' Category

July 18th, 2023
4:56 pm
Surface Pro 4 Keyboard not working

Posted under Hardware & Knowledge Base & PC & Windows & Windows 10
Tags ,

We have had this issue a number of times, where the cover keyboard just won’t work, even after rebooting several times.

This appears to be a common problem which is griped about online, and the solutions are varied, not that clear/consistent, and do not always work. I even replaced the cover keyboard, which did fix the problem at the time, but I then later found that the original one still worked!

IMO this looks like some kind of underlying bios problem.

After trying a number of ideas which did not work, including removing the keyboard driver, and disabling/re-enabling the keyboard in the UEFI bios, I found that booting into the UEFI bios (hold +volume button whilst pressing on button), and then rebooting again, seemed to work.

This site here appeared to have some helpful ideas, including running the keyboard troubleshooter, which I had not seen previously. As the troubleshooter initially said that there were no problems (!), I had to run additional troubleshooters and then select keyboard, as per the post, for it to work. In my case, the troubleshooter ran fine, but the keyboard was already working, so I’ll have to wait until next time to see if this helps to solve the problem, should it occur again.

Comments Off on Surface Pro 4 Keyboard not working

August 27th, 2022
9:31 am
Previewing and Installing Truetype Fonts

Posted under Knowledge Base & Windows & Windows 10 & Windows 11
Tags

This is straightforward. If you have a collection of font file to preview and install manually, this can all be done from Windows Explorer.

Just view the folder and select a view of medium, large, or extra large icons, and the actual font appearance is shown in the icons. Extra large gives the clearest and largest view of the fonts. The same view choices are available when viewing control panel/fonts.

To install, just select the fonts you wish to install in explorer, and the right click context menu gives you install options – either install for current user, or install for all users (the latter is my preference).

Comments Off on Previewing and Installing Truetype Fonts

August 8th, 2022
3:43 pm
Batch file exits after running npm command

Posted under Knowledge Base & Windows & Windows 10 & Windows 11 & Windows 7
Tags ,

I created a simple batch file to run a number of npm build commands in succession.

However, the file exited after running the first npm command. This appears to be a side effect of the way npm runs – when you run npm, you actually end up running npm.cmd, which exits after completing. This is detailed on StackOverflow here.

A simple workaround as per the post is to prefix the npm commands with call – I did this and everything worked fine and all the builds were executed.

Comments Off on Batch file exits after running npm command

July 27th, 2022
8:57 am
Booting a Surface Pro 4 in recovery mode

Posted under Hardware & Knowledge Base & PC & Windows & Windows 10
Tags ,

I had issues with this – the method proposed everywhere online was to hold the volume up key down whilst booting from cold with the power button, but I could not make this work at all, and could not enter the bios/UEFI either.

In the end I used the method detailed here fff. Right click on start, pick settings, then Update and Security, then select Recovery. Then click Restart Now from under Advanced Startup.

This worked fine, and gave a number of options which I did not explore, but the one I used was boot from usb device which gave the option of booting from a flash drive, which worked fine.

 

Comments Off on Booting a Surface Pro 4 in recovery mode

February 21st, 2022
6:50 pm
Enabling External access/port forwarding with the Fritzbox 7530, and using the MS RDP Android App.

Posted under Hardware & PC & Windows & Windows 10 & Windows 11
Tags ,

This is fairly straightforward, but appears to be subject to the fundamental limitation that the Fritz Box cannot make use of multiple external IP addresses for the port forwarding, even if you are on an 8 port subnet like I am. I made absolutely sure that the Fritz Box was aware of the subnet by accessing its menus, then navigating to Home Network/Network on the left menus, and then clicking on the Network Settings tab. You then click on Additional settings to reveal some extra settings, and then scroll down and then click on IPv4 settings. Finally, if you scroll down and look under Public IPv4 Subnet you will see the public subnet visible/allocated to the Fritz Box, as a prefix and network mask.

In my case this was clearly an 8 port subnet, but unfortunately the fritz box only allowed port forwarding using the primary router public IP address.

I managed to work within this limitation however, as you can still forward multiple different ports to multiple different local devices. For example, to enable inbound RDP access to a PC as I did, do the following:-

1/ Visit Internet/Permit Access on the menus, and then click the Add device for sharing button.

2/ Select the target PC/device at the top, then at the bottom click New Sharing, which configures the desired sharing for the device.

3/ Then Click the Port Sharing radio button (as opposed to the default My FRITZ! sharing). Under application, I selected MS remote Desktop as the Fritz box was aware of RDP. You can select Other Application and enter the ports manually if you are working with an application that the Fritz box is unaware of.

4/ You then have 3 ports to configure, which is slightly confusing – I was not clear on all of this and the online help was blank on some of this detail. When I selected MS Remote Desktop, Port to Device and through… were both set to 3389, which was the correct internal port to use for RDP. Below this was Port requested externally, which is the actual external port you want to use. In one case therefore I left the defaults, but for a second PC, I set the external port to 3390, which allowed me to use the same external IP address for 2 different RDP configuration to access 2 different internal PCs successfully. I was not clear however what the distinction between Port to Device and through… was all about, but did not need to touch it.

5/ When accessing via the MS android RDP app, I was able to configure multiple PCs as required, and could also configure both Lan and internet configurations of the same PC so that I could access it both ways from my phone. A key trick here is that this app does allow a different RDP port to be used. Under PC name for the internet, I set the target IP address (the public IP address of the router), and appended a different port using e.g. :3390 notation to use port 3390 instead of 3389. You are able to give an additional friendly name for the PC when doing this, which is useful when configuring external IP access. Internally on the lan you can just use the standard windows network names. This then all worked fine and I was able to use my phone both to remotely access the fritz box to wake the PC, and then remote login using the MS RDP app to access it.

 

Comments Off on Enabling External access/port forwarding with the Fritzbox 7530, and using the MS RDP Android App.

February 21st, 2022
5:59 pm
Configuring Wake On Lan with Windows 10/11 and Fritzbox 7530

Posted under Hardware & PC & Windows & Windows 10 & Windows 11
Tags ,

As I found previously, there were a number of things to get right to make this work, as follows:-

1/ The bios settings for the motherboard need to be set correctly to enable it, and whether/how to do this varies depending on the motherboard. My older Gigabyte Z77-D3H at version F18 did not have a setting to enable this, but it turned out that it worked anyway once all the other issues were correctly address as below. My newer Asus Prime Z690M-Plus D4 did need a setting changed, and this was somewhat subtle. For this motherboard, from the home page you need to visit Advanced Mode/Advanced/APM Configuration/Power on by PCI-E, and enable this option. Note that you only find out from the prompt when you actually visit this option, which is labelled as PCI-E, that it also affects the onboard LAN as well as any PCI-E adapter. This was not clear.

2/ In Windows 10 and 11, open the control panel and visit Hardware and Sound/Power Options, and then select “Choose what power buttons do” on the left menu. Then click “Change settings that are currently unavailable” at the top, and this enables the “Turn on fast startup” option, which should be disabled. Whilst I am not certain that this is required, it was cited in this post re wake on lan, and turning it off did not slow boot time noticeably on my PCs, so I left it on.

3/ You then need to change the network adapter settings. Open the device manager and located your network adapter. Check the advanced settings and ensure that Wake on magic packet is enabled. Then, under the power management tab, allow this device to wake the computer, ensure that Only allow a magic packet to wake the computer is enabled. Again, I am not certain that the latter is absolutely required and I did get some intermittent behaviour when testing wake on lan, but in the end I have left this enabled, as I have no current requirement for any other way to wake the computer.

4/ On the Fritz Box 7530, wake on lan is built in. Navigate to Home Network/Network using the menus on the left, and then select the device that you want to wake. Note that it may be under active connections or idle connections in the list, and it is not clear what an idle connection means – a pc that is on/booted can appear in the idle connections list. Either way, this does not matter. You just click on the pencil icon as if to edit the settings for that device (even though you are not changing anything, this is where you will find wake on lan). Scroll to the bottom and you will see a button labelled Start Computer, which will successfully perform a wake on lan if all is in order. Note that to the left of this button is a check box labelled Start this computer automatically as soon as it is accessed from the internet. Whilst it might be convenient to enable this to save a manual wake on lan via the fritz box when accessing from the internet, I have elected not to do so at present as my needs for this are infrequent and it gives additional protection for the lan, as a remote fritz box access is needed to trigger this, which is of course password protected. However, doing it automatically would be a lot more convenient as accessing the fritz box remotely to do the wake on lan is perfectly possible and relatively straightforward, it does require several steps.

Once all this was done, I achieved consistent wake-on-lan behaviour using my Fritz Box 7530 to perform the wake on lan, as per this post here.

Comments Off on Configuring Wake On Lan with Windows 10/11 and Fritzbox 7530

February 2nd, 2022
6:30 pm
Issues when reinstalling NVM/NPM/Angular environment under new PC build

Posted under Angular & Web & Windows 10
Tags , ,

Update/Fix 24/2/2022

It appears that in the end much of this issue was down to a basic error on my part! I have previously documented here and here about the collision of object namespaces when loading multiple webpack bundles for separately deployed web components/angular elements. My solution is to perform a custom post build step to rename the root webpack objects to be unique for each webpack deployment.

This requires building to be done using npm via npm run build rather than the basic angular/cli ng build. Unfortunately I did the latter when initially rebuilding the microapps, hence the post build step did not run and I suffered the consequences I have seen previously due to namespace collisions. Once I rebuild everything correctly, all the microapps worked fine.

Original Post

I had reinstalled a PC from scratch with Windows 10, and this required rebuilding my whole dev environment from scratch. I hit some issues when I just simplistically tried the latest node via nvm install, and the latest angular (14) on projects previously run under angular 11 – builds failed and would not complete. Initially I had failed to install node-sass, so installing this helped, but I was still getting webpack errors on building.

I reverted to angular 11, but also reverted node as well. Finding a compatibility matrix for the versions was tricky but this one on stack overflow was a real help. I therefore reverted node to 12.11.1 using nvm install 12.11.1., and reverted node-sass to 5.0 due to some build errors that stated that 4.0 or 5.0 was needed.

Having done this, I was able to do a build using ng build, but this would not run using http-server, which gave the error “Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client”. My next action was to suspend/pause Kaspersky Antivirus, which helped, as it revealed a firewall port that I needed to enable. When I then immediately tried running directly using ng serve, this worked fine and I was finally able to successfully run my microapp fabric.

I then uploaded the built microapp as a test version under my zen hosting and tried running it from there. This ran fine with no errors, pointing to a local issue with my http-server. This likely needed an older version. I reverted to 0.12.2 to correspond with the current version when I last worked on the microapps, using the http-server version list here,  but this did not work.

I then checked exactly which versions of key components had been used successfully under Windows 7, and reverted to exactly those versions. These were v15.5.0 of node.js, and v0.12.3 of http-server. This worked successfully, and I was able to run compiled versions of both the fabric and the dataview microapp. Whilst I could have checked the versions used previously more carefully, this certainly highlights the potential brittleness of the environment as a whole to version changes.

I then upgraded http-server to the latest version and tried again, and everything still worked fine. Therefore, this definitely appears to point to an issue with the version of node.js alone. It also highlights issues with the version matrix I hunted down previously as above. I ended up using a later version of node which was technically incompatible in terms of the above version matrix, but which worked successfully, whereas a version mandated by the version matrix failed completely with the above error.

This whole area of versioning can certainly prove to be an unexpected and ill-documented minefield!

 

Comments Off on Issues when reinstalling NVM/NPM/Angular environment under new PC build

January 31st, 2022
12:00 pm
Windows 10 Boot issue after Gigabyte GA-Z77-D3H reflash to F22

Posted under Hardware & PC & Windows & Windows 10
Tags , , ,

I had some issues when upgrading to windows 10 – when sleeping/waking I sometimes got a blue screen error which forced an immediate reboot. I was running bios revision F18, so elected to upgrade to the latest non-beta version which was F22 at the time.

Reflashing was fine using qflash straight from the bios having placed the new bios image on a flash drive. It was also safe as the motherboard was dual bios so wouldn’t brick itself if I accidentally had a power fail whilst flashing.

However, Windows 10 would not boot after the reflash. The reflash reset all motherboard settings to default, so after some investigation I noticed that the Peripherals, SATA mode selection was set to IDE rather than AHCI, the latter being required by Windows 10 (and also used by my Windows 7 installation previously). Changing this allowed the system to safely reboot, only needing a slight repair fix by windows which took only a few seconds. All was then well. I had also tried to set the OS type to “Win 8” rather than the default of “Other”, but this was in fact a red herring – not sure what this setting does exactly (claims to allow certain Windows 8 features but does not elaborate), so in the end I just left the setting at “Other”.

This fixed the issue. 

Comments Off on Windows 10 Boot issue after Gigabyte GA-Z77-D3H reflash to F22

January 25th, 2022
5:19 pm
Dismounting a Paragon Backup Image

Posted under Windows & Windows 10
Tags , ,

I experimented with mounting a backup image from a particular backup point on a job, using the Backup software.
This worked fine, and a new drive letter was created which could be browsed directly via windows explorer.
I was not clear how to dismount the image, and the documentation said that it would only remain mounted until a reboot anyway.

In fact, after rebooting, the image remained mounted in error even if the backup disk was not available (obviously it could not be fully browsed). I managed to remove it consistently by de-assigning its drive letter in disk management, then rendering it offline in disk management, and then using device manager to delete the UIM device for the mounted image, which appeared under disk devices. This worked ok providing all the steps were done in the right order, otherwise it appeared to remain around after a reboot.

After trying again in the backup software, I found it was a simple user error – the mount screen allows selection of a drive letter, and if one is already selected you can select “None” again to remove it and dismount the image. This was not immediately obvious the first time around – I failed to notice that “None” was available in the list as it was hidden and you need to explicitly scroll to the very top of the list to see it.

Once I dismounted the image this way, it worked immediately and completely removed the image and the device even without a reboot.

Comments Off on Dismounting a Paragon Backup Image

January 23rd, 2022
11:04 am
Creating a Paragon Backup Recovery Disc

Posted under Windows & Windows 10
Tags , ,

Update 27/7/22

I created a recovery disc for our Surface Pro 4, but the challenge was that it only has a single USB3 port – I needed 2 ports, one for the recovery flash drive and another for the backup drive.

I purchased a Sabrent 4 port USB3 hub which worked fine, and also a StarTech USB3 to eSATA adapter cable. These worked fine on the PC. Also, Paragon Backup would also boot fine when plugged into the hub. However, the Paragon recovery environment would not load the eSATA backup drive when it was plugged into the hub via the adapter cable. Interestingly, it would recognise it if I plugged the adapter cable directly into the USB port on the Surface Pro 4, removing the recovery disk. However, then naturally the recovery environment whinged about the lack of its recovery disk/system disk. I looked online but could not find a solution to this.

In the end I decided that in practice I was unlikely to ever need to do a bare metal restore on the Surface Pro 4. The drive is not replaceable by me and would need doing by MS as was the previous repair, and a new OS install would be done with this. It was however worth doing a full backup of the system without using the recovery disk, so that I had all the files if needed, so I did this and left matters there.

Update 25/7/22

Added a new rescan-drives.bat file plus associated diskpart-rescan-drives.txt file, to allow a rescan to be done easily in case I forget the diskpart command in future. This has been added to all the recovery discs as a convenience.

Update 22/7/22

I have now switched to using flash drives for the recovery disks – each PC has its own. Each drive was created from the Windows image rather than the ADK which simplifies things. I found that where a PC used custom eSATA drivers, I still needed to load these via mount-backup.com as with the CD ISO image, but this worked fine. The flash drives are more convenient and boot more quickly, and no CD drive is needed.

On my newer PCs with the drivers included, i.e. eSATA on the motherboard and windows drivers already present, mount-backup did not need to load drivers so I added the rescan command after the automount enable command. This allows mount-backup to be run twice if necessary, before and after turning on an eSATA drive. Sometimes I found that Paragon would do a drive scan later when powering on the drive if I had already issued a rescan in diskpart earlier directly after booting, but this was not consistent.

On the older PCs where custom drivers were loaded, I could not run mount-backup twice so did not bother with the rescan command. I could in future add a second batch file to just do the rescan, but it is easy to do in diskpart anyway, but does need remembering how to do it.

Update 23/4/22

When using a Windows 11 recovery disk for a new PC, I had not included the extra drivers or the batch file below, as the Asus motherboard already had SATA ports on it – I had just added a SATA to eSATA back plate on the PC to make the internal ports available externally. This meant that the necessary drivers were already included in windows.

When trying the recovery disk again a few weeks later, I found that when the backup drive was connected at boot time, it was visible when the recovery disk had loaded. However, the recovery disk had made a complete mess of the drive letter assignments – they were confusing and all over the place when viewed in diskpart with a list volumes command.  I was not clear how this might or might not affect backup/restore operations – it possibly would not, but it made navigating the drives and browsing manually a complete pain, so I resolved to eliminate the problem. When booting without the backup drive on, the drive letters were assigned normally. However, when turning on the backup drive, it did not load and mount. This was much like recent behaviour I had seen in Windows 11 – auto loading of eSATA drives was intermittent, and it often needed a “Scan for hardware changes” in HotSwap to load and mount the device.

I found that diskpart has a rescan command (which may well be the command called under the hood by HotSwap). When run after turning on a backup drive after booting the recovery disk, this command loaded and mounted the disk successfully, and crucially, the drive letter assignments were all sensible.

I would shortly be updating backup strategy when some new SATA backup drives arrive shortly, so at that time, I will change the recovery disk for the Windows 11 PC to also include a mount-backup.bat batch file which will just issue the rescan command in diskpart, for convenience and consistency.

Original

I installed the community version of Paragon Backup and tried to create a recovery disk (which boots and runs under Windows PE) from the settings menu.
To create an Iso that you can burn to CD requires that you install the Windows ADK before creating the recovery disk.
I had some trouble locating the correct ADK version for Windows 10 21H2 build 19044. Strangely it was not very clear from the Microsoft site but this site here helped https://www.prajwaldesai.com/windows-10-adk-versions/ and I went for the ADK for Windows 10 version 2004 and this installed and worked fine.

I also tried creating a bootable flash drive which also worked fine, and which does not need the ADK installed, but preferred to use a CD/DVD as my bootable recovery media.

The Paragon Documentation states that you can load optional drivers, either just temporarily for a single run after booting the recovery media, or permanently which you do when creating the recovery media with Paragon. In my case, I needed to install a Silicon Image eSATA driver for the backup media. To install permanently it states that you need the ADK installed. However, when I tried this, I could not find the option to add a driver when building the recovery media at all despite repeated attempts and careful reading of the Paragon docs. I tried this with and without the ADK installed, and to no avail. I also could not find another way to plant a boot up call to a batch file of my own in the recovery media build.

I therefore went for an alternative solution. The paragon recovery environment has an option under the settings menu to open a command prompt. When I checked online, it was possible to load a driver from this prompt using the Windows PE drvload command, and just passing it the .inf file for the driver kit to be loaded. Again, this is a temporary load just for this bootup, but it works fine.

When I first tried this, it loaded the driver and the disk, but did not mount the disk and assign a drive letter. I could see the disk using diskpart, but no drive letter was assigned. I then investigated and found that auto mounting was not enabled under the recovery environment, and this caused the problem. Whilst I could mount and assign a driver letter seperately, a nicer solution was to enable automounting before loading the driver. This could be done with the automount enable command in diskpart. Once this was done, loading the driver with drvload caused the disk to load and mount fully, and after switching back to the backup/restore view the recovery environment indicates that this load/refresh is in progress and then displays the backup disk correctly.

To simplify this, I created a batch file and diskpart script to do these operations, and placed these along with the driver kit on the bootable media, with the main batch file mount-backup.bat in the root and a subfolder mount-backup containing the other files/drivers. It was then only necessary to run this batch file from the dos prompt after the recovery environment had initially booted, e.g. typing “J:\mount-backup” was enough. Note that a CD/DVD drive did not show in the drive list displayed by Paragon, even though it was loaded and mounted – it only showed the disks. (If booting from a flash drive, this does show up so you don’t have this issue.) An easy way to find the drive letter for the CD/DVD drive was to run diskpart from the command prompt, and just enter “list volume”. This listed all the drives and their drive letters. Note that “list disk” is similar but does not display the drive letters. From this I saw my DVD drive listed as drive J and could immediately run the batch file on it. Whilst this is not a “one click” solution, it is fine in this situation as performing a bare metal restore using bootable recovery media is not a one click operation anyway.

mount-backup.bat

%echo on
set _SCRIPT_DRIVE=%~d0
set _SCRIPT_PATH=%~p0

diskpart /s “%_SCRIPT_DRIVE%%_SCRIPT_PATH%mount-backup\diskpart.txt”
drvload “%_SCRIPT_DRIVE%%_SCRIPT_PATH%mount-backup\drivers\SI3132\SI3132.inf”

diskpart.txt

automount enable
exit

Comments Off on Creating a Paragon Backup Recovery Disc