I am a windows user. Right now I am studying a master's in robotics so I need to program in ROS; unfortunately, ROS only runs fine with Linux so I was thinking about doing a partition in my hard disk however I only have 20GB left. Thus, I was thinking about buying an external SSD like the SanDisk Extreme 1TB to install Linux (Ubuntu 18 LTS) but I don't know If I am making the best decision. Can someone help me out?
Its only Ubuntu's Ubiquity installer.
I tried both Debian and Fedora just to see how they handle grub and they installed to my sdb.
But any selection in Ubiquity only works with BIOS installs. You need to partition in advance with gpt & include an ESP - efi system partition on external drive.
Not sure how much space your ROS may need, but Ubuntu installs into 25 or 30GB / (root) and rest of space as /home or data (partitions). So 1TiB is generous.
Posted work around to manually unmount & mount correct ESP during install #23 & #26
Others suggest disconnecting all other drives physically or logically in UEFI settings, so install drive is first drive. Or removing boot flag/esp flag from first drive, so only ESP is install drive. (I have not had that work, but others have.) Or if you have ESP on second or external drive, you can just reinstall grub, either manually or using Boot-Repair's advanced mode & full reinstall to correct drive.
UEFI/gpt partitioning in Advance, new versions do not need swap partition:
Shows live installer with screen shots. Both BIOS purple accessibility screen & UEFI black grub menu screen
Also shows Windows 10 screens or similar to Windows 8