85 lines
2.4 KiB
Bash
85 lines
2.4 KiB
Bash
#!/bin/bash
|
|
# =============================================================================
|
|
# Script rápido: Solo persistencia para Kali Linux USB
|
|
# Ejecutar como root desde el USB live
|
|
# =============================================================================
|
|
set -e
|
|
|
|
echo "=== KALI PERSISTENCE SETUP ==="
|
|
echo ""
|
|
|
|
# Detectar USB
|
|
echo "Detectando USB..."
|
|
USB_DEVICE=""
|
|
for dev in /dev/sd{b,c,d,e}; do
|
|
if [ -b "$dev" ]; then
|
|
SIZE=$(lsblk -dn -o SIZE "$dev" 2>/dev/null | tr -d ' ')
|
|
echo " $dev — $SIZE"
|
|
USB_DEVICE="$dev"
|
|
fi
|
|
done
|
|
|
|
if [ -z "$USB_DEVICE" ]; then
|
|
echo "ERROR: No se encontró USB"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "USB: $USB_DEVICE"
|
|
echo ""
|
|
echo "Opciones:"
|
|
echo " 1) Crear partición persistence con fdisk (terminal)"
|
|
echo " 2) Abrir GParted (gráfico)"
|
|
echo " 3) Ya tengo la partición, solo montar y configurar"
|
|
echo ""
|
|
read -p "Elige [1/2/3]: " OPT
|
|
|
|
case $OPT in
|
|
1)
|
|
echo ""
|
|
echo "Iniciando fdisk en $USB_DEVICE"
|
|
echo "Instrucciones:"
|
|
echo " - 'd' → borrar última partición"
|
|
echo " - 'n' → crear nueva (más pequeña)"
|
|
echo " - 'n' → crear partición persistence con espacio restante"
|
|
echo " - 't' → cambiar tipo a Linux (83)"
|
|
echo " - 'w' → guardar"
|
|
echo ""
|
|
fdisk "$USB_DEVICE"
|
|
sleep 2
|
|
NEW=$(lsblk -dn -o NAME "$USB_DEVICE" | tail -1 | sed 's/.*\([a-z][a-z0-9]*\)$/\1/')
|
|
mkfs.ext4 -F -L "persistence" "/dev/$NEW"
|
|
PERSIST="/dev/$NEW"
|
|
;;
|
|
2)
|
|
echo "Abrindo GParted..."
|
|
echo "1. Selecciona $USB_DEVICE"
|
|
echo "2. Redimensiona última partición"
|
|
echo "3. Crea ext4 nueva con label 'persistence'"
|
|
echo "4. Aplica"
|
|
gparted "$USB_DEVICE" 2>/dev/null || gnome-disks "$USB_DEVICE"
|
|
PERSIST=$(lsblk -dn -o NAME,LABEL | grep -i persistence | awk '{print $1}')
|
|
PERSIST="/dev/$PERSIST"
|
|
;;
|
|
3)
|
|
PERSIST=$(lsblk -dn -o NAME,LABEL | grep -i persistence | awk '{print $1}')
|
|
PERSIST="/dev/$PERSIST"
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
echo "Montando $PERSIST..."
|
|
mkdir -p /mnt/usb
|
|
mount "$PERSIST" /mnt/usb
|
|
|
|
if [ ! -f /mnt/usb/persistence.conf ]; then
|
|
echo "/ union" > /mnt/usb/persistence.conf
|
|
echo "persistence.conf creado"
|
|
else
|
|
echo "persistence.conf ya existe"
|
|
fi
|
|
|
|
umount /mnt/usb
|
|
echo ""
|
|
echo "¡Listo! Reinicia y selecciona 'Persistent' en el menú."
|