Не отключайте рекламу на сайте - поможете проектуx86_64: LFD10-23.05 ; Roll23.05-23.06 ; LFU22 ; FASi686: DDR01-21.08 Русские PuppyLinux
0 Пользователей и 1 Гость просматривают эту тему.
2. Ubuntu в пример приводить не надо, она намного запутаннее и глючнее. Несколько раз приходилось разбираться с её GRUB2. Если вы изучите как это сделано, то согласитесь, что это маразм.
у grub4dos, тоже есть конек, поробуйте нормально без рук запустить более 1 win системы
blkid -s UUID | grep -v loop | cut -f2 -d' ' | while read U; do mount "$U" /mnt/data; ls /mnt/data/ntldr && echo "title Windows XP root "$U" chainloader +1" >> ${OFMNTPT}menu.lst umount /mnt/data; done
Старый способ (по номерам) ошибается в случае нескольких sata и usb дисков. Стоит ли заморачиваться с UUID?
#!/bin/sh#puppyrus2install v-006 DdShurick GPL v3P=$(Xdialog --title "PuppyRus2install" --menu "Выбор раздела" 14 52 0 $(echo "$(ls -1 /sys/block/ | grep "^sd.") $([ -d /proc/ide ] && ls -1 /proc/ide | grep '^hd')" | while read D; do [ "$(cat /sys/block/$D/size)" = 0 ] && continue; if [ -d /proc/ide ]; then INFO=$(cat /proc/ide/$D/model) else if [ "$(cat /sys/block/$D/events)" = "" ]; then I="HDD-"; else I="USB-"; fi; INFO="$(cat /sys/block/$D/device/vendor | tr -s ' ')$(cat /sys/block/$D/device/model | tr -s ' ')" fi INFO=$(echo $INFO | tr ' ' '_') ls /sys/block/$D/ | grep "$D" | while read P; do [ "$(fdisk -l | grep $P | grep 82)" = "" ] || continue; echo "$I$P ${INFO}_$(expr $(cat /sys/block/$D/$P/size) / 1024)_Mb"; done done) 2>&1)D=$(echo $P | cut -f1 -d'-')P=$(echo $P | cut -f2 -d'-')echo $P $D
Но не много ли подробностей?
только почему-то размер подключенных и HDD и USB удвоенный у меня получился.
Код#!/bin/sh#puppyrus2install v-006 DdShurick GPL v3echo -n '#!/bin/shXdialog --title "PuppyRus2install" --menu "Выбор раздела" 14 60 0 ' > /tmp/scriptecho "$(ls -1 /sys/block/ | grep "^sd.") $([ -d /proc/ide ] && ls -1 /proc/ide | grep '^hd')" | while read D; do [ "$(cat /sys/block/$D/size)" = 0 ] && continue; if [ -d /proc/ide ]; then INFO=$(cat /proc/ide/$D/model) else if [ "$(cat /sys/block/$D/events)" = "" ]; then I="HDD"; else I="USB-"; fi; INFO="$(cat /sys/block/$D/device/vendor | tr -s ' ')$(cat /sys/block/$D/device/model | tr -s ' ')" fi #INFO=$(echo $INFO | tr ' ' '_') ls /sys/block/$D/ | grep "$D" | while read P; do [ "$(fdisk -l | grep $P | grep 82)" = "" ] || continue; mount /dev/$P /mnt/data F=$(df -h /mnt/data | grep /dev/ | tr -s ' ' | cut -f4 -d ' ') umount /mnt/data echo -n "\"$I $P\" \"${INFO} (${F} свободно)\" " >> /tmp/script done done# echo ' 2>&1)' >> /tmp/scriptchmod a+x /tmp/scriptP=$(/tmp/script 2>&1)D=$(echo $P | cut -f1 -d' ')P=$(echo $P | cut -f2 -d' ')xmessage "Выбран $P $D"
#!/bin/sh#puppyrus2install v-006 DdShurick GPL v3echo -n '#!/bin/shXdialog --title "PuppyRus2install" --menu "Выбор раздела" 14 60 0 ' > /tmp/scriptecho "$(ls -1 /sys/block/ | grep "^sd.") $([ -d /proc/ide ] && ls -1 /proc/ide | grep '^hd')" | while read D; do [ "$(cat /sys/block/$D/size)" = 0 ] && continue; if [ -d /proc/ide ]; then INFO=$(cat /proc/ide/$D/model) else if [ "$(cat /sys/block/$D/events)" = "" ]; then I="HDD"; else I="USB-"; fi; INFO="$(cat /sys/block/$D/device/vendor | tr -s ' ')$(cat /sys/block/$D/device/model | tr -s ' ')" fi #INFO=$(echo $INFO | tr ' ' '_') ls /sys/block/$D/ | grep "$D" | while read P; do [ "$(fdisk -l | grep $P | grep 82)" = "" ] || continue; mount /dev/$P /mnt/data F=$(df -h /mnt/data | grep /dev/ | tr -s ' ' | cut -f4 -d ' ') umount /mnt/data echo -n "\"$I $P\" \"${INFO} (${F} свободно)\" " >> /tmp/script done done# echo ' 2>&1)' >> /tmp/scriptchmod a+x /tmp/scriptP=$(/tmp/script 2>&1)D=$(echo $P | cut -f1 -d' ')P=$(echo $P | cut -f2 -d' ')xmessage "Выбран $P $D"
Посмотрите вот такой вариант
Посмотрел инсталлер, ИМХО чтобы было красиво и информативно, то должно быть 4 колонки:1. HDD или USB2. Название 3. Общий размер в Mb или Gb4. Сколько свободно.
Про другие загрузчики можно подробнее.