This guide explains how to create, mount, and maintain a VHDX drive for use with WSL (Windows Subsystem for Linux).
- Windows 10/11 with WSL2 installed
- Administrative access
- PowerShell
- Sufficient disk space
Right-click on 'Power' icon in taskbar > 'Choose what the power button does' > 'Change settings that are currently unavailable'
#!/bin/bash | |
# Check if the correct number of arguments is provided | |
if [ "$#" -ne 2 ]; then | |
echo "Usage: $0 <hostname> <IP address>" | |
exit 1 | |
fi | |
HOSTNAME=$1 | |
IP=$2 |
Ensure SDK installed: | |
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh | |
sudo chmod +x ./dotnet-install.sh | |
./dotnet-install.sh --version latest | |
https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace | |
dotnet tool install --global dotnet-trace | |
Manual download linux: wget https://aka.ms/dotnet-trace/linux-x64 |
apt update | |
apt install python3-pip | |
python -m pip install --upgrade pip | |
pip install azure-cli |
#az login | |
$subs = az account list | ConvertFrom-Json | |
$allServers = @() | |
foreach($sub in $subs){ | |
Write-Output $sub.Name | |
az account set -s $sub.Id | |
$subServers = az resource list --resource-type 'Microsoft.Sql/servers' | ConvertFrom-Json | |
foreach($server in $subServers){ | |
$allServers += $server | |
} |
$ SUBSCRIPTION_ID=$(az account show --query id -o tsv) | |
$ az rest \ | |
--url "https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/resourcegroups?api-version=2020-06-01 | | |
jq ".value | .[] | .name" -r | |
OR | |
$ curl -sL \ |
# Set variables | |
$subscriptionId="" #Set to your subscription id where the VM is created | |
$resourceGroup = "" #Resouce group of the VM | |
$vmName = "" #VM Name | |
$location = "westeurope" #VM Location | |
$zone = "2" #1 2 or 3 | |
#Login to the Azure |
Simulate System Loads | |
https://bash-prompt.net/guides/create-system-load/ | |
Sysadmins often need to discover how the performance of an application is affected when the system is under certain types of load. This means that an artificial load must be re-created. It is, of course, possible to install dedicated tools to do this but this option isn’t always desirable or possible. | |
Every Linux distribution comes with all the tools needed to create load. They are not as configurable as dedicated tools but they will always be present and you already know how to use them. | |
CPU | |
The following command will generate a CPU load by compressing a stream of random data and then sending it to /dev/null: |
# Usage copydisk.sh <newdiskdev> <olddiskmountpoint> <temporary mountpoint> | |
# e.g. copydisk.sh /dev/sdc /datadisk /tmpdatadisk | |
echo New disk attached is at $1 | |
echo Existing disk mount point is at $2 | |
echo Temporary mount point for data copy is at $3 | |
## Add partition table | |
parted $1 mklabel gpt | |
## Create partition ext4 100% of the available space | |
parted $1 mkpart primary ext4 0% 100% |