
Complete guide to installing Kali Linux as a single boot system on bare metal. Learn why single boot offers best performance, step-by-step installation walkthrough, LUKS encryption, partition
Master Nano, Vim, and Emacs text editors for penetration testing on Kali Linux. Learn essential commands, shortcuts, and workflows for editing config files, bash scripts, and analyzing securi
28 min read
Master the apt package manager, dpkg, and snap in Kali Linux. Learn essential package management commands, repository configuration, and security tool installation for penetration testing in
24 min read
Installing Kali Linux as a single boot system on bare metal provides the ultimate penetration testing environment. Unlike virtual machines or dual-boot configurations, a dedicated Kali Linux installation gives you unrestricted hardware access, maximum performance, and full GPU capabilities for password cracking and resource-intensive security tasks.
In this comprehensive guide, you'll learn how to perform a complete bare metal installation of Kali Linux, including BIOS/UEFI configuration, disk partitioning strategies, full disk encryption with LUKS, desktop environment selection, driver installation, and performance optimization. Whether you're a professional penetration tester setting up a dedicated workstation or a security enthusiast building a serious lab, this tutorial covers everything you need.
Before committing to a single boot installation, it's important to understand the advantages and trade-offs compared to other installation methods.
Maximum Performance
Complete Hardware Control
Professional Penetration Testing Environment
Stability and Reliability
⚠️ Important Considerations:
Who should choose single boot:
Who should consider alternatives:
Here's how single boot compares to other installation methods:
| Feature | Single Boot | Dual Boot | Virtual Machine | Live USB |
|---|---|---|---|---|
| Performance | Maximum | Native | Reduced (70-80%) | Variable |
| GPU Access | Full | Full | Limited/None | Full |
| Hardware Access | Complete | Complete | Partial | Complete |
| Flexibility | Low | High | High | Highest |
| Setup Complexity | Medium | High | Low | Very Low |
| Data Risk | High | Medium | Low | None |
| Best For | Dedicated work | Mixed usage | Learning/testing | Trying Kali |
| Disk Space | Full drive | Shared | File-based | None (RAM) |
| Boot Time | Fast | Fast | Medium | Slower |
| Persistence | Permanent | Permanent | Permanent | Optional |
| Networking | Full stack | Full stack | NAT/Bridge | Full stack |
| USB Device Access | Native | Native | Pass-through | Native |
Before proceeding with the bare metal installation, ensure you have everything ready.
| Component | Minimum | Recommended | Optimal |
|---|---|---|---|
| Processor | x86-64 dual-core | Quad-core 2.5 GHz+ | Multi-core 3.5 GHz+ |
| RAM | 2 GB | 4 GB | 8 GB+ |
| Storage | 20 GB HDD | 50 GB SSD | 256 GB NVMe SSD |
| Graphics | Integrated GPU | Dedicated GPU (2 GB) | NVIDIA/AMD (8 GB+) |
| Network | Ethernet/Wi-Fi | Dual NICs | Wi-Fi adapter + Ethernet |
| USB Ports | USB 2.0 | USB 3.0 | Multiple USB 3.0+ |
| Display | 1024×768 | 1920×1080 | 2560×1440+ |
Required:
Highly Recommended: 6. ⭐ System recovery USB (for emergencies) 7. ⭐ Ethernet cable (more reliable than Wi-Fi during installation) 8. ⭐ Paper/notes (for recording passwords and partitioning choices)
Optional: 9. 📝 External backup drive (for additional backups) 10. 📝 Smartphone (for reference while installing)
🚨 CRITICAL: Back Up Your Data
The single boot installation will completely erase your hard drive. Before proceeding:
Backup all important files:
Verify your backups:
Document your system:
Prepare recovery options:
Start by obtaining the official Kali Linux installation image.
Visit the official download page: kali.org/get-kali
Navigate to "Bare Metal" or "Installer Images" section
Select your architecture:
Choose installer type:
Standard Installer ISO (Recommended)
kali-linux-2026.x-installer-amd64.isoNetwork Installer (netinst)
Download method:
Verifying your download ensures authenticity and prevents corrupted installations:
Download verification files:
On Windows:
certutil -hashfile kali-linux-2026.x-installer-amd64.iso SHA256
On Linux:
sha256sum kali-linux-2026.x-installer-amd64.iso
On macOS:
shasum -a 256 kali-linux-2026.x-installer-amd64.iso
Verify the checksum matches the official SHA256SUMS file. Mismatches indicate corruption or tampering.
Advanced: GPG signature verification (optional but recommended):
wget https://www.kali.org/archive-key.asc
gpg --import archive-key.asc
gpg --verify SHA256SUMS.gpg SHA256SUMS
You'll need a bootable USB installer to begin the installation process.
lsblk
Look for your USB (e.g., /dev/sdb, /dev/sdc)
⚠️ CRITICAL: Ensure you have the correct device. Wrong device = data loss!
sudo umount /dev/sdX*
(Replace sdX with your actual device)
sudo dd if=kali-linux-2026.x-installer-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync
Wait for completion (10-15 minutes)
Safely eject:
sudo eject /dev/sdX
diskutil list
diskutil unmountDisk /dev/diskX
sudo dd if=kali-linux-2026.x-installer-amd64.iso of=/dev/rdiskX bs=4m
(Note: Use rdiskX for faster writing)
diskutil eject /dev/diskX
Alternative tools:
For detailed USB creation instructions, see our Live USB Guide.
Proper BIOS configuration is crucial for successful installation.
Modern systems (2012+):
Older systems:
Why disable Secure Boot? Secure Boot restricts loading of unsigned bootloaders. While Kali Linux can work with Secure Boot, disabling it prevents installation complications. You can re-enable it later if needed.
Set boot priority:
Some systems have a one-time boot menu (F12, F8, or Esc) - use this instead of changing permanent boot order.
Enable:
Disable:
USB not detected:
Secure Boot error:
Boot loop:
Now you'll boot into the Kali Linux installation environment.
System boots from USB → Kali Linux boot menu appears
Select installation mode using arrow keys:
Press Enter to start
Graphical Install provides:
Black screen after boot:
nomodesetnomodesetFreeze at boot:
Graphical glitches:
vga=normal fb=falseThe installation process has multiple stages. Follow carefully.
Select Language:
Select Location:
Configure Keyboard:
Configure Network:
Hostname:
kali or custom namekali-workstation)Domain Name:
Set up users:
Username:
kali (recommended) or customPassword:
Re-enter password:
Password Recommendations:
Partitioning determines how your data is organized. Choose carefully.
Guided Partitioning (Recommended for beginners):
Manual Partitioning (Advanced users):
Partition Disks:
Select Disk:
Partitioning Scheme:
All files in one partition (Recommended for beginners)
Separate /home partition (Good for data preservation)
Separate /home, /var, and /tmp (Advanced)
Click Continue
Review Partition Layout:
Confirm Changes:
LUKS encryption protects your data if the drive is stolen or lost.
Partition Disks:
Select Disk:
Partitioning Scheme:
Write Changes and Configure LVM:
Encryption Passphrase:
Re-enter Passphrase:
LVM Volume Size:
Review and Confirm:
Final Confirmation:
Encryption Considerations:
Advantages:
Trade-offs:
For experienced users who need custom layouts:
Partition Disks:
Create Partition Table:
Create Partitions:
UEFI System (GPT):
Partition 1: EFI System Partition
Partition 2: Boot Partition (if using encryption)
Partition 3: Swap
Partition 4: Root
Optional: Separate /home
Installing Base System:
Configure Package Manager:
HTTP Proxy:
http://proxy.example.com:8080Kali offers multiple desktop environments and tool collections:
Desktop Environments:
✅ Xfce (Default, recommended)
GNOME
KDE Plasma
LXDE
Tool Collections:
✅ Default (Recommended)
Top 10
Large
System Collections:
Space Check:
Install Software:
Install GRUB:
GRUB Installation Location:
/dev/sda or /dev/nvme0n1/dev/sda/dev/sda1GRUB Installation:
Installation Complete:
System Reboots:
Encryption Passphrase (if using LUKS):
Login Screen:
kali)Welcome to Kali Linux!
Complete these essential steps to optimize your system.
Open Terminal (click terminal icon or Ctrl+Alt+T)
Update package lists:
sudo apt update
sudo apt full-upgrade -y
This updates all packages to latest versions.
sudo apt autoremove -y
sudo apt autoclean
sudo reboot
GPU Drivers (Critical for password cracking):
NVIDIA GPUs:
sudo apt update
sudo apt install -y nvidia-driver nvidia-cuda-toolkit
Verify NVIDIA installation:
nvidia-smi
Should show GPU details and driver version.
AMD GPUs:
sudo apt install -y firmware-amd-graphics amdgpu
Intel GPUs: Usually work out of the box. Update if needed:
sudo apt install -y intel-gpu-tools
Wi-Fi Drivers:
Check your wireless adapter:
lspci | grep -i wireless
lsusb | grep -i wireless
Common driver packages:
sudo apt install -y firmware-iwlwifi # Intel
sudo apt install -y firmware-realtek # Realtek
sudo apt install -y firmware-atheros # Atheros
sudo apt install -y broadcom-sta-dkms # Broadcom
Reboot after driver installation:
sudo reboot
Check your installation:
# System info
uname -a
lsb_release -a
# CPU info
lscpu
# Memory info
free -h
# Disk usage
df -h
# GPU info
lspci | grep -i vga
# Network interfaces
ip addr show
For comprehensive post-installation setup including tool configuration and security hardening, see our Post-Installation Setup Guide.
Maximize your bare metal installation's performance.
Reduce boot time and resource usage:
# List enabled services
systemctl list-unit-files --state=enabled
# Disable unnecessary services
sudo systemctl disable bluetooth.service # If you don't use Bluetooth
sudo systemctl disable cups.service # If you don't use printing
Improves performance on systems with limited RAM:
sudo apt install -y zram-tools
sudo nano /etc/default/zramswap
Set:
ALLOCATEPERCENTAGE=50
Enable:
sudo systemctl enable zramswap
sudo systemctl start zramswap
For SSD/NVMe drives:
Enable TRIM:
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
Check TRIM support:
lsblk -D
Non-zero values in DISC-GRAN and DISC-MAX indicate TRIM support.
Improves responsiveness (use RAM before swap):
# Check current value
cat /proc/sys/vm/swappiness
# Set to 10 (default is 60)
sudo sysctl vm.swappiness=10
# Make permanent
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
Analyze boot performance:
# Analyze boot time
systemd-analyze
# Show detailed timing
systemd-analyze blame
# Show critical path
systemd-analyze critical-chain
Configure hashcat:
hashcat -I
Should list your GPU. If not, check driver installation.
Test GPU performance:
hashcat -b
Runs benchmark on all algorithms.
John the Ripper with GPU:
john --list=formats | grep -i opencl
Should show OpenCL formats available.
Solutions to frequent bare metal installation problems.
Symptom: System won't boot, GRUB error, or black screen
Solutions:
Fix boot with USB:
# Identify your root partition
sudo fdisk -l
# Mount root partition (adjust sdaX)
sudo mount /dev/sdaX /mnt
# If using UEFI, also mount EFI
sudo mount /dev/sdaY /mnt/boot/efi
# Chroot into system
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
# Reinstall GRUB
update-grub
grub-install /dev/sda
exit
sudo reboot
GRUB rescue mode:
grub> ls
grub> set root=(hd0,1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot
Symptom: No internet, network unreachable
Solutions:
# Check network interfaces
ip link show
# Bring interface up
sudo ip link set eth0 up
sudo dhclient eth0
# Restart NetworkManager
sudo systemctl restart NetworkManager
# Check if driver loaded
lspci -k | grep -A 3 -i network
For Wi-Fi:
# Scan for networks
sudo iwlist wlan0 scan | grep ESSID
# Connect to network
sudo nmcli dev wifi connect "SSID" password "password"
Symptom: Low resolution, graphical glitches, or crashes
Solutions:
# Install proprietary drivers
sudo apt update
sudo apt install -y nvidia-driver # For NVIDIA
sudo apt install -y firmware-linux # For AMD/Intel
# Reconfigure X server
sudo dpkg-reconfigure xserver-xorg
# Or use text-based configuration
sudo nano /etc/X11/xorg.conf
Fallback to safe graphics:
Boot with kernel parameter: nomodeset
Symptom: Cannot decrypt LUKS partition
Solutions:
# Check if LUKS partition detected
sudo cryptsetup luksDump /dev/sdaX
# Try manual unlock
sudo cryptsetup luksOpen /dev/sdaX kali_crypt
# Mount manually
sudo mount /dev/mapper/kali_crypt /mnt
Passphrase recovery (if you have backup header):
sudo cryptsetup luksHeaderBackup /dev/sdaX --header-backup-file luks-header.img
Symptom: System is slower than expected
Checks:
# Check CPU throttling
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# Set to performance mode
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# Install CPU frequency tool
sudo apt install -y cpufrequtils
sudo cpufreq-set -g performance
# Check if using SSD correctly (AHCI mode)
sudo hdparm -I /dev/sda | grep TRIM
# Enable if supported
sudo systemctl enable fstrim.timer
# Check memory usage
free -h
htop
Choose single boot if:
Choose dual boot if:
See our Dual Boot Guide for comparison.
Strongly recommended if:
Consider skipping if:
Remember: Lost encryption passphrase = lost data. No recovery possible.
Xfce (Recommended for most users):
GNOME (Modern and polished):
KDE Plasma (Feature-rich):
LXDE (Minimal):
You can install multiple and switch between them:
sudo apt install kali-desktop-gnome
sudo apt install kali-desktop-kde
1. Install proper GPU drivers:
NVIDIA:
sudo apt install -y nvidia-driver nvidia-cuda-toolkit
nvidia-smi # Verify installation
AMD:
sudo apt install -y rocm-opencl-runtime
2. Configure hashcat:
hashcat -I # List devices
hashcat -b # Benchmark
3. Optimize for cracking:
# Set GPU to performance mode
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 300 # Power limit (adjust for your GPU)
4. Monitor temperature:
watch -n 1 nvidia-smi
Ensure adequate cooling for extended cracking sessions.
Essential post-installation checklist:
sudo apt update && sudo apt full-upgrade -y
Install GPU drivers (if applicable)
Configure networking (especially Wi-Fi)
Create user backup (before major changes)
Install additional tools:
sudo apt install -y kali-linux-large # Full tool set
sudo apt install -y openvpn
sudo apt install -y ufw
sudo ufw enable
Create system snapshot/backup
Read our comprehensive Post-Installation Guide
Security hardening for professional use:
Congratulations! You've successfully completed a bare metal single boot installation of Kali Linux with full hardware access and optimal performance.
This is Tutorial 10 of 105 in our Kali Linux Mastery series. Here's your learning path:
Phase 1: Installation & Setup (Tutorials 1-10)
Phase 2: Linux Fundamentals (Tutorials 11-25)
Phase 3: Networking Basics (Tutorials 26-40)
Phase 4: Security Tools Mastery (Tutorials 41-65)
Phase 5: Advanced Penetration Testing (Tutorials 66-105)
⭐ Essential: Complete Post-Installation Setup
📚 Learn: Study Penetration Testing Methodology
🔧 Practice: Set up your first pentest lab
🌐 Explore: Start with beginner-friendly tutorials
Connect with other security professionals:
Official Documentation:
Additional Reading:
🎯 Remember:
Always follow responsible disclosure and ethical hacking practices. Your Kali Linux installation is a powerful tool—use it responsibly and legally.
Next Step: Proceed to Tutorial 5: Post-Installation Setup to optimize and secure your new bare metal Kali Linux installation.
Welcome to the world of professional penetration testing with unrestricted hardware access! 🛡️🔐⚡
This tutorial is part of the Kali Linux Mastery series (Tutorial 10/105) by Andrax Pentester / Syed Abrar. Last updated: January 2026.
Complete beginner's guide to Linux process management in Kali Linux. Learn process monitoring with ps, top, htop, process control with kill signals, systemd services, resource monitoring, and
19 min read