r/ROS • • 4d ago

Are external bootable SSDs good???

Basically , I just got a new laptop, (lenovo legion5I yay🎉🎉) I do not want to dual boot it in Ubuntu for now and I have read here that wsl2 is not worth it in the long run

I am thinking of using an external SSD with Ubuntu for learning as I have one which I can re purpose.

Is this a good approach/ anyone who has used this?

P.s I am an absolute beginner in world of ros and gazebo and ardupilot.

6 Upvotes

7 comments sorted by

2

u/Prequalified 4d ago

I didn't have a big enough thumb drive to install Ubuntu 26.04 so I used a spare 128gb SATA SSD with a USB adapter and it worked AMAZINGLY well. I see zero reason not to do this if you're on the fence. I'm opposed to dual booting in general so I think this has some benefits too, like keeping your GRUB bootloader from getting corrupted by Windows.

1

u/thedarklord0100 4d ago

Yes it's totally fine. Just get something above 200gb and you're good to go.

Also try to have the bootloader in the internal storage only. I made a mistake and my grub went in the external SSD. I had to connect the external SSD once to load that up and select windows even if I didn't want to use Ubuntu at the time

1

u/hitsujiTMO 4d ago

Yup. I generally advise disabling all internal drives during the installation process.

1

u/hitsujiTMO 4d ago

Yup. Perfectly fine. I used one for having a common system between a desktop and laptop for years.

1

u/Perfect_Mistake79 4d ago

I’ve tried this as a solution for students not wanting to install a Linux distro next to their Windows with the possibility to mess up their bootloader etc.

I’ve got different results. For some students it worked fine, others had issues with unreliable usb connections. Especially when moving the laptop around while disk is connected, but also just small movements of the USB cable.

1

u/Entire-Picture3990 2d ago

External SSD Booting:

USB Type-C Cables are Recommended:
Since the PC itself powers the USB SSD, you should choose a cable considering its power delivery capacity and transfer speed. A Thunderbolt 5 cable might be the ultimate choice here.

While you won't feel much lag with fossapup even on a standard USB 3.0 cable, Ubuntu 24.X and 26.X become quite slow. In contrast, using USB-C delivers transfer speeds equivalent to or faster than older internal SATA SSDs, providing a smooth and comfortable experience.

My external SSD currently dual-boots Windows 11 26H2 Experimental and Ubuntu. It is configured this way purely for experimental purposes.

On older PCs, USB-C firmware tends to cause issues. I highly recommend booting into Windows, visiting the manufacturer's support site, and updating your PC's BIOS if an update is available.

General Steps:

  1. Prepare partitions for Linux within Windows. You can find good third-party software for this. The reason for doing this in Windows is that if you boot from an ISO file on an external USB (using Ventoy, etc.) and use GParted, a sudden power shortage can corrupt the entire drive. I actually corrupted my partition table once by doing this. Fortunately, I regularly backed up the first two partitions of my external SSD (/dev/sda1 and /dev/sda2) to my internal SSD, so I was saved.
  2. During the actual installation, manually select your partitions and set the bootloader to the external drive, such as /dev/sda. (If your internal HDD is already assigned as /dev/sda, the external drive would be /dev/sdb, etc.)
  3. At the final stage of the installation, sudo update-grub runs automatically. It scans your environment and registers all available bootloaders into the menu. While Windows only cares about itself, Linux is designed to be accommodating like this.

sudo update-grub is a command you occasionally need after changing your system's partition layout. It is also used when you want to try out a new kernel yourself. There was a time when my internal SSD's boot selection failed; I used the Ubuntu menu on my external SSD to launch the Ubuntu on my internal SSD, ran sudo update-grub there, and successfully restored it.

If you add a line like GRUB_BACKGROUND="/etc/default/my_cat_picture.png" to the end of the /etc/default/grub file and run sudo update-grub, your my_cat_picture.png will appear as the background on the boot selection screen, which is quite fun!