В /proc/cmdline сохраняются загрузочные опции ядра. Если есть TUX_PATH сразу переходим к засыпанию, если нет, то запускается цикл сканирования всех разделов на наличие загрузчиков. Здесь только GRUB2 и grub4dos, но можно добавить syslinux и LILO. Далее проверяем на совпадение $CMDLINE. Если совпадает, значит загрузка произведена отсюда. Тогда дописываем в конец строки опций загрузки $SWAP (TUX_PATH=/dev/sdxx). Файл /tmp/swap создаётся при отсутствии swap-раздела и выводит предупреждение о необходимости настройки режима засыпания.
Это черновой набросок, думаю, можно сделать лучше.