Category Archives: Operating Systems

Installing Ubuntu 26.10 on WSL 2 from PowerShell

Ubuntu 26.10 can be installed from PowerShell as a separate WSL 2 distribution using the official .wsl image. This example is for an x64 Windows machine with WSL 2 already working.

When I checked the available distributions, Ubuntu 26.10 was missing from wsl --list --online. The official Ubuntu release directory provides an AMD64 WSL image that can be installed directly.

(more…)

Installing GCC 16.2 on Ubuntu 26.10 and 24.04

GCC 16.2 can be installed directly from the Ubuntu 26.10 repositories. On Ubuntu 24.04, the exact release can instead be built from source alongside the existing GCC 13 installation. This guide puts the package-based installation first, followed by the source build, then shows how to switch GCC and G++ together with update-alternatives for existing CMake projects.

Choose the installation section for your Ubuntu release. Ubuntu 26.04 LTS and Ubuntu 26.10 have different GCC packages: the catalog checked for 26.04 lists a development snapshot, while 26.10 provides GCC 16.2. These are installation instructions; the source-build starting machine has Ubuntu 24.04 on x86-64 and GCC 13.3.0.

(more…)

Cloning a Git Repository over SSH Without a Password on Ubuntu

When I tried to clone a Git repository from my Ubuntu laptop over SSH, the server asked for the git user’s password. I already had an Ed25519 public key on the laptop. Here is how to authorize that key on the server so Git can use it instead of asking for the remote account password.

git clone git@git.developernote.com:~/repositories/tradeclient.git
Cloning into 'tradeclient'...
git@git.developernote.com's password:
(more…)

Investigating a Windows Freeze with PowerShell: 36-Second File I/O Delays

My Windows laptop became almost unresponsive. By the time I investigated, it was responding again. PowerShell revealed file-operation delays of 36 seconds around the time of the freeze. Here are the commands and the evidence, including what they could not establish.

Update: An offline CHKDSK follow-up below found and repaired NTFS metadata errors, without reporting bad sectors.

(more…)

Changing a Domain Password When Paste Fails in PowerShell

While changing a domain administrator’s password in Windows PowerShell on a domain controller, I ran into a paste problem with Read-Host -AsSecureString. Typing a password manually worked, but pasting into the hidden prompt left the variable empty. Reading the clipboard with Get-Clipboard and converting its contents to a SecureString worked in the same session.

This is the procedure I used. It changes the password of the currently signed-in domain account and requires its existing password.

(more…)

How I Expanded the C: Drive on Windows 10

My Windows 10 C: drive was almost completely full. Its capacity was only about 31.45 GB, while Disk Management showed another 18 GB of unallocated space on the same disk. Expanding C: looked straightforward, but a small recovery partition stood in the way. Then disabling Windows Recovery Environment failed because the drive was too full.

(more…)

How to Set Up a Graphical Desktop on Ubuntu 24.04 and Connect from Windows via RDP

This guide explains how to add a graphical desktop to an Ubuntu 24.04 VPS and access it using Windows Remote Desktop. The setup uses XFCE, xrdp, and a regular Linux user. RDP connections travel through an SSH tunnel, with xrdp listening only on localhost.

(more…)

Debugging Credential Provider with Visual Studio 2022 Remote Debugger

I installed Remote Tools for Visual Studio 2022 and run:

(more…)

Investigating Credential Providers on Windows

I registered a sample Credential Provider with the following .reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{5fd3d285-0dd9-4362-8855-e0abaacd4af6}]
@="SampleV2CredentialProvider"

[HKEY_CLASSES_ROOT\CLSID\{5fd3d285-0dd9-4362-8855-e0abaacd4af6}]
@="SampleV2CredentialProvider"

[HKEY_CLASSES_ROOT\CLSID\{5fd3d285-0dd9-4362-8855-e0abaacd4af6}\InprocServer32]
@="SampleV2CredentialProvider.dll"
"ThreadingModel"="Apartment"
(more…)

Generating Events 8004 and 8005 in Windows Logs

On DC with IP address 192.168.0.123:

wevtutil sl Microsoft-Windows-NTLM/Operational /e:true
wevtutil qe Microsoft-Windows-NTLM/Operational /q:"*[System[(EventID=8004 or EventID=8005)]]" /f:text
net share
Share name   Resource                        Remark

-------------------------------------------------------------------------------
C$           C:\                             Default share
IPC$                                         Remote IPC
ADMIN$       C:\Windows                      Remote Admin
NETLOGON     C:\Windows\SYSVOL\sysvol\my.local\SCRIPTS
                                             Logon server share
SYSVOL       C:\Windows\SYSVOL\sysvol        Logon server share
The command completed successfully.
(more…)