#!/bin/bash
grep "boot=live" "/proc/cmdline" &>/dev/null || exit 1
for part in $(ls /sys/block/* | grep "[0-9]$" | grep -v "loop") ; do
    tmpdir=$(mktemp -d)
    umount -lf /dev/$part 2>/dev/null
    timeout 3 mount -o defaults,ro /dev/$part $tmpdir 2>/dev/null
    if [[ -f "$tmpdir/etc/os-release" ]] ; then
        distro=$(cat $tmpdir/etc/os-release | grep "^NAME" | sed "s/.*=//g")
        echo "$distro: /dev/$part"
    elif [[ -f "$tmpdir/Windows/System32/ntoskrnl.exe" ]] ; then
        echo "Windows: /dev/$part"
    elif [[ -f $tmpdir/EFI/Microsoft/Boot/bootmgfw.efi ]] ; then
        echo "Windows-EFI: /dev/$part"
    elif [[ -f $tmpdir/EFI/pardus/grubx64.efi ]] ; then
        echo "Pardus-EFI: /dev/$part"
    fi
    umount -lf -R $tmpdir 2>/dev/null
done
