есть код для 2-х флэшек, как и говорил нужен peco
первый скрипт
#!/bin/bash
#set -x
devices="$(lsblk -l -o NAME,TYPE | awk '$2 == "disk" && !/^(sda|zram0)/' | awk -F' ' '{print $1}' | peco)"
echo "Устройство /dev/""$devices"
echo "$devices" >$HOME/.config/device.txt
PART="$devices"
if [[ "$(cat /sys/block/$devices/events)" == "media_change" ]]; then
echo "Флешка вставлена."
# здесь можете выполнить дополнительные действия
else
echo "Флешка не вставлена."
exit
fi
read -p " Для продолжения жмем ВВОД"
cd "$PWD"/ventoy-1.0.97/
sudo ./Ventoy2Disk.sh -i -r 4000 /dev/"$PART"
printf 'n\np\n3\n\n\nw\n' | sudo fdisk /dev/"$PART"
echo "СЕЙЧАС ВАШ КОМПЬЮТЕР БУДЕТ ПЕРЕЗАГРУЖЕН"
echo "После перезагрузки СКРИПТ ЕДИНОРАЗОВО продолжит свою работу"
read -p "Для продолжения нажжмите ВВОД"
sleep 3
# Создание desktop-файла для автозапуска второго скрипта
cat > ~/.config/autostart/ventoy_copy.desktop << EOF
[Desktop Entry]
Type=Application
Exec=xfce4-terminal --window -e "/home/live/ol/copy_files.sh"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Terminal=true
Name=Ventoy Copy Files
Comment=Copy files to Ventoy partition after reboot
EOF
sudo reboot
-----------------------------
второй скрипт
#!/bin/bash
devices="$(cat $HOME/.config/device.txt)"
#devices=$(lsblk -l -o NAME,TYPE | awk '$2 == "disk" && !/^(sda|zram0|fd0)/ {print $1; exit}')
#devices="$(lsblk -l -o NAME,TYPE | awk '$2 == "disk" && !/^(sda|zram0)/' | awk -F' ' '{print $1}' | peco)"
echo "Устройство /dev/""$devices"
PART="$devices"
if [[ "$(cat /sys/block/$devices/events)" == "media_change" ]]; then
echo "Флешка вставлена."
else
echo "Флешка не вставлена."
exit
fi
echo "Будет создан новый раздел" "/dev/""$PART"3
read -p "Для продолжения жмем ВВОД"
sudo mkfs.ext4 /dev/"$PART"3
# Создание временного каталога для монтирования
sudo mkdir /mnt/temp
# Монтирование раздела
sudo mount /dev/"$PART"3 /mnt/temp
echo "Копирую файлы дистрибутива на флэшку"
echo "..."
sudo cp -r /home/live/ol/oldwave_7_1 /mnt/temp
# Отмонтирование раздела
sudo umount /mnt/temp
# Удаление временного каталога
sudo rmdir /mnt/temp
echo "Каталог с дистрибутивом oldwave скопирован"
sudo mkdir /mnt/fat16
sudo mount -t vfat /dev/"$PART"2 /mnt/fat16
# Переменная с содержимым для вставки в конец файла grub.cfg
new_config="
menuentry \"---Old-Wave-linux_7---\" {
set d=oldwave_7_1
export d
search --set=root --no-floppy --file /\${d}/boot/met9
linux /\${d}/boot/vmlinuz dir=\${d} linux.flags=perch quiet enable_services=ssh,firewalld
initrd /\${d}/boot/initrfs.img
}"
# Добавляем содержимое в конец файла grub.cfg
echo "$new_config" | sudo tee -a /mnt/fat16/grub/grub.cfg > /dev/null
# Удаление desktop-файла из ~/.config/autostart
rm ~/.config/autostart/ventoy_copy.desktop
echo "ВСЕ НЕОБХОДИМЫЕ ОПЕРАЦИИ ВЫПОЛНЕНЫ"
echo "ВЫ СТАЛИ ОБЛАДАТЕЛЕМ live USB респином DEBIAN12---Oldwave linux"
sleep 6
------------------------
протестировал и всё работает .
upd: В некоторых live дистрибутивах(pupX64, Vanila Dpup)
peco из репы сломан, в таких случаях надлежит его брать
с github.
https://github.com/peco/peco/releasesupd2: подержу последний код пару другую дней тут если не всплывет ничего плохого, скрипт перенесу в шапку . Спасибо вам всем , от всей души за участие, ёпрст прикольная штука получилась!