YACBA/create_boot_usb.sh
2025-06-22 21:41:12 +03:00

69 lines
1.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
if [ $# -ne 1 ]; then
echo "Использование: $0 /dev/sdX"
echo "Где /dev/sdX - ваша флешка"
exit 1
fi
DEVICE=$1
if [ ! -b "$DEVICE" ]; then
echo "[-] Устройство $DEVICE не найдено"
exit 1
fi
echo "[*] Создаю автономную загрузочную флешку на $DEVICE"
echo "[!] ВСЕ ДАННЫЕ БУДУТ УДАЛЕНЫ!"
read -p "Продолжить? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
echo "[*] Собираю образ ОС..."
make clean
make os.bin
if [ ! -f "os.bin" ]; then
echo "[-] Ошибка сборки os.bin"
exit 1
fi
echo "[*] Создаю разделы на флешке..."
sudo umount ${DEVICE}* 2>/dev/null || true
# Создаем таблицу разделов
sudo fdisk $DEVICE << EOF
o
n
p
1
+10M
n
p
2
a
1
w
EOF
echo "[*] Записываю загрузчик..."
sudo dd if=os.bin of=${DEVICE}1 bs=512 status=progress
echo "[*] Инициализирую раздел данных..."
# Создаем RAW раздел без файловой системы
# Заполняем нулями первые 1MB для очистки
sudo dd if=/dev/zero of=${DEVICE}2 bs=1M count=1 2>/dev/null
echo "[*] RAW раздел для дампа готов"
echo "[*] Синхронизирую данные..."
sudo sync
echo "[+] Автономная загрузочная флешка готова!"
echo "[*] Загрузочный раздел: ${DEVICE}1"
echo "[*] Раздел для данных: ${DEVICE}2"
echo "[*] Флешка загрузится сама и сохранит дамп на второй раздел"