this post was submitted on 03 Jul 2024
17 points (100.0% liked)

Linux

48144 readers
923 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hello guys,

I bought a new SSD (WD black sn770 2 TB) for my laptop and I also got a USB-C hub which includes a slot for an SSD. My old SSD is 512 GB

So here is what I want to do: I want to change to Linux from Windows 11. I want to keep my old SSD in the USB-C hub with Windows still installed in case I need it for some software/games but Linux will now be my main OS.

Are there any tips or recommendations on things I should look out for when doing this?

I also don't know if I can just install Linux in what is ATM the external SSD and then swap it out afterwards with the SSD inside the laptop without having to do anything extra and if it will just work like that.

I plan on following this tutorial: https://www.youtube.com/watch?v=bfWdnCIrcxk.

Also any recommendations on how I can safely transfer some files? Do I need a special software?

In case interested this is the distro that I plan on using: https://garudalinux.org

As a side note, I did check that the SSD is compatible with my computer and has everything right.

top 10 comments
sorted by: hot top controversial new old
[–] [email protected] 10 points 4 months ago (2 children)

I wouldn't recommend swapping afterwards, moving devices around is a good way to confuse a bootloader and run into problems.

I think you should create your installation medium, remove the Windows SSD from laptop, install your new one, then install Linux.

You won't need anything special to transfer files, but keep in mind windows 11 uses bitlocker by default, you'll probably want to disable that while windows SSD is still in the laptop, otherwise that drive will remain encrypted and inaccessible by Linux.

Good luck!

[–] [email protected] 6 points 4 months ago (1 children)

As a side note: the grub and root filesystem issues are mostly an issue of the past. If you're on a modern distro (and haven't mucked with things) they no longer use device names, but rather rely on UUIDs, which is good: those don't change even if you move the drives around.

As long as grub is in the boot sector and you're using UUIDs in your grub.conf and fstab, you should almost never have any issues moving drives around the same system.

[–] [email protected] 3 points 4 months ago* (last edited 4 months ago) (1 children)

Yeah I debated mentioning it because fully agree - UUID should cover it. But idk what bootloader Garuda uses or how it configures it, and I have no experience going from an external USB-C enclosure to internal drive, is it really seamless?

I just trying to advise on the side of cautiousness.

[–] [email protected] 4 points 4 months ago

I've recently moved drives between m2 slots and usb-c enclosures and everything worked, but that's also why I used the word 'should' a lot.

I've had zero issues in the past few years moving drives around (even between different systems!) and my experience has been nothing but 'shit just works', but yeah, I know that there's probably edge cases where that's not true.

For what they're doing, though, it should be fine, since there's a relatively low amount of complexity and grub really doesn't care where the drive is as long as it has the UUID at this point.

[–] [email protected] 1 points 4 months ago (1 children)

I would only be swapping once and then having the windows SSD in the USB C hub. Would you still recommend that I install the SSD straight away in the laptop and set it up from there?

[–] [email protected] 3 points 4 months ago (1 children)

Well, if Garuda's installer does what it's supposed to do and assigns your boot drive by UUID, it really shouldn't matter. I still think swapping before install and having the system in the planned final configuration minimizes the risk of failure.

Some background: There was a time in history where boot devices were defined by their physical port location, so if you reordered or moved drives, it was up to the user to update the boot config to align it to the new location. If the user didn't know to do that step, the computer would fail to boot. Modern linux distros should use the drive's unique hardware identifier to find the device, wherever it's plugged in.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

Linux bootloaders discover the correct linux volume by UUID (which is in the filesystem), or PARTUUID (which is in the GPT table). It'll look at every drive, and when it sees the matching one it'll look in that partition, find the kernel & initrd, suck them into ram, and launch the kernel.

The main problem with moving drives around is - where is the EFI firmware looking for the bootloader in the first place? If you read efibootmgr, the efi data is pretty simple and very much tied to a hardware port. The EFI takes the most preferred bootloader entry, goes to that drive, and runs a file like "\EFI\grub\grubx64.efi". If that file isn't right there, the EFI isn't going to look elsewhere for it.

There is one bootloader name that EFI will pluck out of the blue and (smash the Fx key) offer to you as a boot option - "\EFI\BOOT\BOOTX64.EFI". Self booting usb installers use that, but you could use it too. Put all the other files that go along with the bootloader in with that boot folder, and rename the appropriate .efi to bootx64.efi.

One thing that I've done on odd setups is to put rEFInd on the efi partition as the boot\bootx64.efi loader. It'll do a pretty fancy job of detecting what's bootable (may need an additional filesystem_driver.efi), or even chain into grub to finish the startup.

[–] [email protected] 3 points 4 months ago

It may work to swap drives, but you should definitely minimize physical swapping if possible. Pick where the drives will live, then try to stick with that (or be ready to do some troubleshooting). Create a Linux install media for your chosen distro, put the empty drive in the laptop, and boot from the install media. Most distros come with a graphical installer, so you should be able to navigate from there.

Also, for the best experience, the drive inside the laptop should be your daily driver, anyway. USB-C is great, but you'll have the best I/O with the slot on the mainboard, which is both physically closer to the CPU and likely uses NVMe. If you plan on making Linux your daily driver, that should be the drive in the laptop.

Lastly, try booting from a live ISO where you can give it a test run before you install. Might identify any glaringly obvious issues with your hardware before you go through the trouble, though not all distros have live media.

Good luck, OP! I'm right there with you, making the switch to Linux, though I'm just going to relegate Windows to a VM.

[–] [email protected] 3 points 4 months ago

You can probably just swap the SSD if your dock uses a protocol that Windows' bootloader can understand. Some USB 3.2/Thunderbolt docks just seem to work with Windows, albeit a bit slower because of hubs and such that aren't always top quality.

Just try it. It either boots or it doesn't. If it doesn't, it's probably a massive pain to get working in the dock (best of luck to you if you'll still try).

You should also check for updates/update your new SSD's firmware, probably under Windows. Not a lot of brands make Linux installers and the automatic tools that check compatibility generally aren't part of the Linux firmware downloads.

Re: file transfer: make sure you have your Bitlocker recovery key, or disable encryption on the Windows partition so you can access it in Linux. Other than that, just copy over the files. Linux can read Windows' file system just fine. If you load the right drivers, Windows can also read file systems like btrfs or ext4 just fine.

[–] [email protected] 2 points 4 months ago

I've got an Asus expertcenter d700sa-xb501 desktop that I bought not long ago hoping to install kubuntu on it like I had on my old Dell computer. The Asus has Windows 10, with secure boot, fast boot on it. It's also an M.2 nvme ssd. After disabling secure boot and fast boot, I still couldn't get it accept Kubuntu. I think its got something to do with grub from what I've read. Anyway, I finally had to give up and I ended up installing Kubuntu on an external ssd by first creating an installation medium on a flash drive and to use it I have to boot my windows to the login screen, then hit shutdown, turn the cpu back on and go into bios settings and change my boot order to the external ssd. Then it works fine but if I go to the bios screen the first time I power on the computer my external ssd doesn't show up in the list. Just thought I'd let you know the trouble I had with it, but maybe you'll have better luck.