#!/bin/bash set -e if [[ $EUID -ne 0 ]]; then echo "Bitte mit sudo ausführen." exit 1 fi echo "Verfügbare Geräte:" echo mapfile -t DEVICES < <(lsblk -dpno NAME,SIZE,TYPE,TRAN | awk '$3 == "disk" && $4 == "usb"') if [[ ${#DEVICES[@]} -eq 0 ]]; then echo "Keine Geräte gefunden." exit 1 fi for i in "${!DEVICES[@]}"; do printf "[%d] %s\n" "$((i + 1))" "${DEVICES[$i]}" done echo read -rp "Gerät auswählen: " SELECTION if ! [[ "$SELECTION" =~ ^[0-9]+$ ]] || (( SELECTION < 1 || SELECTION > ${#DEVICES[@]} )); then echo "Ungültige Auswahl." exit 1 fi DEVICE=$(echo "${DEVICES[$((SELECTION - 1))]}" | awk '{print $1}') echo echo "ACHTUNG!" echo "Das folgende Gerät wird KOMPLETT gelöscht:" echo lsblk "$DEVICE" echo read -rp "Zum Fortfahren exakt 'YES' eingeben: " CONFIRM if [[ "$CONFIRM" != "YES" ]]; then echo "Abgebrochen." exit 0 fi echo echo "Partitionierung von $DEVICE..." # Vorhandene Partitionen aushängen umount "${DEVICE}"* 2>/dev/null || true # Neue MBR-Partitionstabelle parted -s "$DEVICE" mklabel msdos # 50 MB FAT32 parted -s "$DEVICE" mkpart primary fat32 1MiB 51MiB # Rest EXT4 parted -s "$DEVICE" mkpart primary ext4 51MiB 100% # Kernel über neue Partitionstabelle informieren partprobe "$DEVICE" sleep 2 # Partitionsnamen bestimmen if [[ "$DEVICE" =~ nvme|mmcblk ]]; then P1="${DEVICE}p1" P2="${DEVICE}p2" else P1="${DEVICE}1" P2="${DEVICE}2" fi echo echo "Formatiere FAT32..." mkfs.vfat -F 32 -n USB "$P1" echo "Formatiere EXT4..." mkfs.ext4 -F -L psxitarch "$P2" echo echo "Fertig!" echo lsblk "$DEVICE"