From 927dc35977811bfcbc7804b0ada9acaf277f77d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20M=C3=BCnzer?= Date: Tue, 17 Feb 2026 05:52:32 +0000 Subject: [PATCH] first commit --- scripte/copy.sh | 30 ++++++++++ scripte/wg-control.sh | 31 ++++++++++ scripte/win_usb_iso_2.sh | 115 ++++++++++++++++++++++++++++++++++++++ scripte/win_usb_zu_iso.sh | 44 +++++++++++++++ 4 files changed, 220 insertions(+) create mode 100644 scripte/copy.sh create mode 100644 scripte/wg-control.sh create mode 100644 scripte/win_usb_iso_2.sh create mode 100644 scripte/win_usb_zu_iso.sh diff --git a/scripte/copy.sh b/scripte/copy.sh new file mode 100644 index 0000000..4b393b3 --- /dev/null +++ b/scripte/copy.sh @@ -0,0 +1,30 @@ +#!/bin/bash +#(c) Christopher Münzer DB InfraGo Betriebszentrale Duisburg + +clear +echo "Willkommen beim Tool für das bespielen des ISBP Installationssticks" +sleep 3 + +echo "Auf welchem Gerät soll der Befehl ausgeführt werden?" +echo "a) /dev/sda" +echo "b) /dev/sdb" +echo -n "Ihre Wahl (a/b): " + +read -r choice + +case $choice in + a|A) + device="/dev/sda" + ;; + b|B) + device="/dev/sdb" + ;; + *) + echo "Ungültige Eingabe!" + exit 1 + ;; +esac + +IMAGE=/tmp/win_isbp_24_3_1_3.img + +dd if="$IMAGE" of="$device" status=progress \ No newline at end of file diff --git a/scripte/wg-control.sh b/scripte/wg-control.sh new file mode 100644 index 0000000..5641492 --- /dev/null +++ b/scripte/wg-control.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +echo "==== WIREGUARD CONTROL ====" +echo "1) Start Wireguard" +echo "2) Stop Wireguard" +echo "3) Status Wireguard" +echo "4) Exit" + +read -p "Wähle Option 1-4 " choice + + +case "$choice" in + 1) + sudo wg-quick up wg0 + ;; + 2) + sudo wg-quick down wg0 + ;; + 3) + sudo wg show + ;; + + 4) + exit 0 + ;; + *) + echo "Ungültige auswahl" + ;; +esac + +read -p "Drücke Enter um fortzufahren" diff --git a/scripte/win_usb_iso_2.sh b/scripte/win_usb_iso_2.sh new file mode 100644 index 0000000..28d5e19 --- /dev/null +++ b/scripte/win_usb_iso_2.sh @@ -0,0 +1,115 @@ +#!/bin/bash +# (c) Christopher Münzer DB InfraGo Betriebszentrale Duisburg + +USB_DEVICE="/dev/sda" # Ändern Sie dies zu Ihrem USB-Stick +OUTPUT_ISO="windows_isbpn_$(date +%Y%m%d).iso" +LOG="/tmp/log.txt" + +touch $LOG + +echo "1. Analysiere USB-Stick..." >> $LOG +sudo fdisk -l "$USB_DEVICE" + +echo "2. Erstelle temporäre Verzeichnisse..." >> $LOG +TEMP_DIR=$(mktemp -d) +mkdir -p "$TEMP_DIR"/{mount1,mount2,iso} + +echo "3. Identifiziere Bootloader-Dateien..." >> $LOG + +# Boot-Sektor sichern (für BIOS-Boot) +sudo dd if="$USB_DEVICE" of="$TEMP_DIR/bootsect.bin" bs=512 count=1 2>/dev/null + +echo "4. Mounte und kopiere Partitionen..." >> $LOG + +# Erste Partition mounten (normalerweise FAT32/EFI) +PARTITION_COUNT=$(sudo fdisk -l "$USB_DEVICE" | grep "^/dev" | wc -l) + +if [ $PARTITION_COUNT -ge 1 ]; then + echo " - Kopiere Partition 1..." >> $LOG + sudo mount "${USB_DEVICE}1" "$TEMP_DIR/mount1" 2>/dev/null + if mountpoint -q "$TEMP_DIR/mount1"; then + sudo cp -r "$TEMP_DIR"/mount1/* "$TEMP_DIR/iso/" 2>/dev/null + sudo umount "$TEMP_DIR/mount1" 2>/dev/null + fi +fi + +if [ $PARTITION_COUNT -ge 2 ]; then + echo " - Kopiere Partition 2..." >> $LOG + sudo mount "${USB_DEVICE}2" "$TEMP_DIR/mount2" 2>/dev/null + if mountpoint -q "$TEMP_DIR/mount2"; then + sudo cp -r "$TEMP_DIR"/mount2/* "$TEMP_DIR/iso/" 2>/dev/null + sudo umount "$TEMP_DIR/mount2" 2>/dev/null + fi +fi + +echo "5. Suche nach Bootloader-Dateien..." >> $LOG +# Typische Windows-Boot-Dateien +BOOT_FILES=( + "bootmgr" + "bootmgr.efi" + "efi/boot/bootx64.efi" + "efi/boot/bootia32.efi" + "efi/microsoft/boot/bootmgfw.efi" + "boot/bcd" + "boot/boot.sdi" +) + +BOOT_IMAGE="" +for file in "${BOOT_FILES[@]}"; do + if [ -f "$TEMP_DIR/iso/$file" ]; then + echo " Gefunden: $file" + if [[ "$file" == *.efi ]] || [[ "$file" == *.bin ]]; then + BOOT_IMAGE="$file" + fi + fi +done + +echo "6. Erstelle bootfähige ISO..." >> $LOG + +if [ -n "$BOOT_IMAGE" ]; then + echo " Verwende Boot-Image: $BOOT_IMAGE" >> $LOG + sudo genisoimage \ + -b "$BOOT_IMAGE" \ + -no-emul-boot \ + -boot-load-size 8 \ + -iso-level 3 \ + -udf \ + -allow-limited-size \ + -J -l -D -N \ + -joliet-long \ + -relaxed-filenames \ + -o "$OUTPUT_ISO" \ + "$TEMP_DIR/iso" +else + echo " Kein Boot-Image gefunden, erstelle nicht-bootfähige ISO..." >> $LOG + sudo genisoimage \ + -iso-level 3 \ + -udf \ + -allow-limited-size \ + -J -l -D -N \ + -joliet-lo ng \ + -relaxed-filenames \ + -o "$OUTPUT_ISO" \ + "$TEMP_DIR/iso" + + echo " Hinweis: ISO ist nicht bootfähig. Für bootfähige ISO müssen Sie:" + echo " 1. Windows ADK auf einem Windows-System verwenden" + echo " 2. Oder die originale Windows ISO mit Ihren Dateien neu erstellen" +fi + +echo "7. Aufräumen..." >> $LOG +sudo rm -rf "$TEMP_DIR" + +echo "8. Prüfe ISO..." >> $LOG +if [ -f "$OUTPUT_ISO" ]; then + echo "Fertig! ISO erstellt: $OUTPUT_ISO" >> $LOG + echo "Größe: $(ls -lh "$OUTPUT_ISO" | awk '{print $5}')" + + # Teste ISO-Struktur + echo "ISO-Struktur:" + isoinfo -i "$OUTPUT_ISO" -l 2>/dev/null | head -20 || \ + xorriso -indev "$OUTPUT_ISO" -toc 2>/dev/null | head -20 || \ + echo "Kann ISO nicht lesen, aber Datei wurde erstellt." >> $LOG +else + echo "FEHLER: ISO wurde nicht erstellt!" >> $LOG +fi \ No newline at end of file diff --git a/scripte/win_usb_zu_iso.sh b/scripte/win_usb_zu_iso.sh new file mode 100644 index 0000000..45a197a --- /dev/null +++ b/scripte/win_usb_zu_iso.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# (c) Christopher Münzer DB InfraGo Betriebszentrale Duisburg + +USB_DEVICE="/dev/sda" +OUTPUT_ISO="windows_$(date +%Y%m%d).iso" + +echo "1. Analysiere USB-Stick..." +sudo fdisk -l "$USB_DEVICE" + +echo "2. Erstelle temporäre Verzeichnisse..." +TEMP_DIR=$(mktemp -d) +mkdir -p "$TEMP_DIR"/{mount1,mount2,iso} + +echo "3. Kopiere Boot-Sektion..." +sudo dd if="$USB_DEVICE" of="$TEMP_DIR/bootsect.bin" bs=512 count=1 + +echo "4. Mounte und kopiere Partitionen..." +# Erste Partition (normalerweise FAT32/EFI) +sudo mount "${USB_DEVICE}1" "$TEMP_DIR/mount1" 2>/dev/null +sudo cp -r "$TEMP_DIR"/mount1/* "$TEMP_DIR/iso/" 2>/dev/null + +# Zweite Partition (normalerweise NTFS/Installation) +sudo mount "${USB_DEVICE}2" "$TEMP_DIR/mount2" 2>/dev/null +sudo cp -r "$TEMP_DIR"/mount2/* "$TEMP_DIR/iso/" 2>/dev/null + +echo "5. Erstelle bootfähige ISO..." +sudo genisoimage \ + -b efi/microsoft/boot/efisys.bin \ + -no-emul-boot \ + -boot-load-size 8 \ + -iso-level 3 \ + -udf \ + -allow-limited-size \ + -J -l -D -N \ + -joliet-long \ + -relaxed-filenames \ + -o "$OUTPUT_ISO" \ + "$TEMP_DIR/iso" + +echo "6. Aufräumen..." +sudo umount "$TEMP_DIR"/mount* 2>/dev/null +sudo rm -rf "$TEMP_DIR" + +echo "Fertig! ISO erstellt: $OUTPUT_ISO" \ No newline at end of file