How to fix Windows 10 Blue Screen of Death

There might be many reasons you get Blue Screen of Death (BSOD) and there are many ways to fix them. Most of them are caused by the updates, it could be Windows update, driver, or hardware changes in your computer. Sometimes new software installed that’s conflicting with Windows or drivers. Windows update that pushed out earlier in a month by Microsoft is causing Windows to experience BSOD (Blue Screen of Death), but not all computers are affected, only using those that are conflicting.

Here is an example of Windows update, which got affected whom using Kyocera printers:

Windows 10 Ver.20H2/2004 : KB5000802
Windows 10 Ver.1909/1903 : KB5000808
Windows 10 Ver.1803 : KB5000809
Windows 10 Ver.1809 : KB5000822

Solution from Microsoft released a patch, on March 18th, 2021:

Windows 10 Ver.20H2/2004: KB5001567
Windows 10 Ver.20H2/2004 : KB5001649
Windows 10 Ver.1909/1903 : KB5001648
Windows 10 Ver.1803  : KB5001634
windows 10 Ver.1809  : KB5001638

You will need to manually uninstall bad update and install the patch to fix.

So, keep your eye on Windows updates if its causing issue you can uninstall it or look for new updates to fix it.

Resources for troubleshooting:

Microsoft Troubleshoot blue screen errors: https://support.microsoft.com/en-us/sbs/windows/troubleshoot-blue-screen-errors-5c62726c-6489-52da-a372-3f73142c14ad?ui=en-US&rs=en-US&ad=US



How to upgrade to PHP 7.4 on Ubuntu

You should upgrade your PHP for your server to version 7.4 or higher for security reasons. You can find PHP version info from here: https://www.php.net/supported-versions.php. Here I am doing an upgrade from PHP version 7.2 to 7.4 on my Ubuntu server, before you do any changes, make sure you have a good backup of your server/application which may be running on your server.

To see current version:

command: php -version
output: PHP 7.2.24-0ubuntu0.18.04.7 and some other details of your server

First, make sure your server is up to date by running the following commands:
Command: apt update
Command: apt-upgrade

Then add repository to install PHP:

Command: add-apt-repository ppa:ondrej/php
Command: apt update

You will get message like this to continue or cancel:

To install PHP7.4

Command: apt install php7.4

To see the version you can re-run the command:

Command: php -version
Output: PHP 7.4.14 with some other info

Now you have the PHP 7.4 on your server you can update your application to take effect of newer version of PHP. Here is example of web server apache

Command: sudo a2enmod php7.4

Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
ERROR: Module mpm_event is enabled – cannot proceed due to conflicts. It needs to be disabled first!
Considering conflict mpm_worker for mpm_prefork:
ERROR: Could not enable dependency mpm_prefork for php7.4, aborting

To fix:

Command: sudo a2dismod mpm_event

Module mpm_event disabled.
To activate the new configuration, you need to run:
systemctl restart apache2

Before you restart, you will need to activate PHP7.4, otherwise you will get this error:

Command: sudo systemctl restart apache2

Install PHP 7.4 Extensions

Installing PHP extensions are simple with the following syntax.
Command: sudo apt install php7.4-extension_name

Here are some commonly used php-extensions:

php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl

For PHP 7.4 with Apache the php.ini location will be in following directory.
sudo nano /etc/php/7.4/apache2/php.ini

For PHP 7.4 FPM with Nginx the php.ini location will be in following directory.
sudo nano /etc/php/7.4/fpm/php.ini

To search with nano editor: F6 or CTR+W and update the following values for better performance.

upload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000

For web server to take effect restart the service:
Command: sudo systemctl restart apache2

Finally doing clean up of old stuff no longer needed:

Command: apt autoremove

That’s should it, if you have other applications you just have to update that, some may automatically be done, no other action needed. You should test everything to make sure all functioning well.



How to pair Logitech receiver using Unifying

Logitech Unifying Software, lets you add and remove devices that use a Unifying receiver. So if you lost a device and have a receiver you can add another device to the Logitech receiver to pair your device. Here is a quick how-to, it’s a very easy process

First, download the Logitech Unifying software
Once you downloaded the software, open the software and install it, then open Logitech Unifying Software to configure i

Click Next

Plugin receiver: then click Next

Turn on your device, or restart to get detected

If it detects your device you will see something similar to this if you have a keyboard (if you have a mouse you see a message asking to move the mouse): if it’s working select Yes and click Next

Then you should see Congratulations message

If you have an issue or the device not detected you will see a message like this, which means either your device not supported or fail to receive a signal, try again, check the battery, or try another USB port.

That’s it, hope it helped you out



How to migrate from FRS to DFSR on Windows server 2019

How to migrate from FRS (File Replication Service) to DFSR (Distributed File System Replication) on Windows server 2019? Microsoft has introduced later in Windows server 2008, if you are adding Domain controller Windows server 2019, you will get an error and you must migrate from FRS to DFSR. When the DFSR migration process starts it copies the contents of SYSVOL to a parallel folder called SYSVOL_DFSR, and then it gets shares out in migration phases. Please make sure your current domain is in good health status and has good backup.

  • Make sure you have free space on the drive where SYSVOL exists (normally on C drive) on your domain controller
    • free space should be current SYSVOL folder, plus a 10% or more
  • Make sure you have Admin rights to all of your domains
  • Make sure the Active Directory replication is working and healthy
    • To check the replication status: PS C:\Windows\system32> repadmin /ReplSum
  • Maike sure the SYSVOL is shared on DC
    • To check share: PS C:\Windows\system32> net share
    • To test all connectivities : Dcdiag /e /test:sysvolcheck /test:advertising

Start of migration

First, we need to make sure all domain controllers are in Prepared State, you check by running the following command:
dfsrmig /getmigrationstate

PS C:\Windows\system32> Dfsrmig /getmigrationstate
All domain controllers have migrated successfully to the Global state (‘Start’).
Migration has reached a consistent state on all domain controllers.
Succeeded.

Then start setting each state and wait between states until “Migration has reached a consistent state on all domain controllers” time it takes could all depends on how long it takes to sync, most common network should not take more than 15 minutes, but a larger network or custom sync duration this could take longer.

First state

PS C:\Windows\system32> Dfsrmig /setglobalstate 1
Current DFSR global state: ‘Start
New DFSR global state: ‘Prepared

Migration will proceed to ‘Prepared’ state. DFSR service will copy the contents of SYSVOL to SYSVOL_DFSR folder.

If any domain controller is unable to start migration, try manual polling. Or run with option /CreateGlobalObjects. Migration can start anytime between 15 minutes to 1 hour.

Succeeded.

PS C:\Windows\system32> Dfsrmig /getmigrationstate
All domain controllers have migrated successfully to the Global state (‘Prepared’). Migration has reached a consistent state on all domain controllers.

Succeeded.

Second state

PS C:\Windows\system32> Dfsrmig /setglobalstate 2
Current DFSR global state: ‘Prepared
New DFSR global state: ‘Redirected

Migration will proceed to ‘Redirected’ state. The SYSVOL share will be changed to SYSVOL_DFSR folder, which is replicated using DFSR.

Succeeded.

PS C:\Windows\system32> Dfsrmig /getmigrationstate
All domain controllers have migrated successfully to the Global state (‘Redirected’). Migration has reached a consistent state on all domain controllers.

Succeeded.

Last state

PS C:\Windows\system32> Dfsrmig /setglobalstate 3
Current DFSR global state: ‘Redirected
New DFSR global state: ‘Eliminated

Migration will proceed to ‘Eliminated’ state. It is not possible to revert this step.

If any read-only domain controller is stuck in the ‘Eliminating’ state for too long run with option /DeleteRoNtfrsMember.

Succeeded.

PS C:\Windows\system32> Dfsrmig /getmigrationstate
All domain controllers have migrated successfully to the Global state (‘Eliminated’). Migration has reached a consistent state on all domain controllers.

Succeeded.

That’s it your migration is completed, you can check replication and domain controller windows folder you should see something similar as screenshot below:

on DC C:\Windows\SYSVOL_DFSR
on DC C:\Windows\SYSVOL_DFSR\ you should see domain and sysvol
on DC C:\Windows\SYSVOL_DFSR\domain you should see Policies, scrips, GPS’s, etc..
on DC C:\Windows\SYSVOL_DFSR\sysvol you should see your domain(s)

Possible issues/solutions:

If you get permission denied you need to make sure your command prompt is open with Administrator

If dfsr fails to migrate check this link:

https://docs.microsoft.com/en-us/troubleshoot/windows-server/group-policy/dfsr-sysvol-fails-migrate-replicate



How to upgrade osTicket to v1.15.1

osTicket v1.15.1 is released on Dec 7, 2020, its open-source ticket system. You can find full release notes at https://github.com/osTicket/osTicket/releases. For osTicket version v1.15.1 PHP version PHP 7.2-7.4 the process is the same as before just make sure you have a good backup of the database and osTicket files.

a couple of new plugins added for v1.15:
2FA Google Authenticator
Authentication Password Policy
https://osticket.com/download/#ostPlugin

The Upgrade process is very simple, I am doing 1.14.3 to 1.15.1

  • Make sure you have a good backup of the Database and files of osTicket
  • Then put the system in the offline mode: by going to the URL of your osTicket support ticket /scp/settings.php
  • Download the new version from https://osticket.com/download/ and choose the osTicket Core, v1.15.1 (Latest Release) don’t download any Languages or plugins, you can add them after to void issues with the upgrade process.
  • Upload to your server v. 1.15.1 and replace current files/folders from the Upload folder from your downloaded, and exclude the script folder/files. Also, Maintain the directory hierarchy any changes could cause an issue with the upgrade process or something might not work well.
    • Optional: Script folder only needed if you are using remote piping, so if you are not using remote piping you don’t need to upload.
  • Make sure NOT to replace your \include\ost-config.php which does not include in the download.

This is my current version: v1.14.3

Make sure you have the correct permission, then go to the URL/SCP of the osTicket system and log in, you should see osTicket Upgrader, make sure your Prerequisites are all good, if any errors correct it, then click Start Upgrade Now

This version makes changes to database, click Upgrade Now

If everything goes well you should see Upgrade Completed!

After the installation

Delete the /setup folder and update any customization you may have, test it, then once all is good you can put the system back online. Also, remove the write permission to \include\ost-config.php to secure your config. If you have customized PHP core files, those need to be re-applied after the upgrade. Also, make sure your plugins are good, if needed upgrade do so, make sure it supported version. Good luck

You can check the System Logs to see if there were any errors:

If you look at your Dashboard Information, it should show Up to date

If you still need more info you can check out their official documentation: https://docs.osticket.com/en/latest/