Ситуация противная, если бы был LVM все было бы сильно проще.
Я бы сделал так.
Добавил бы еще один диск, скажем он будет sdb
Определил , что занимает больше всего места на текущем разделе, например это будет /var
Загрузился бы с например systemrescuecd , подмонтировал sda1 , сделал бы раздел sdb1 , прописал sdb1 в fstab , перенес бы нашу большую папку на второй диск и ребут в нормальное состояние.