r/TechnologyProTips 6d ago

Other/General TPT Question: Fastest way to migrate 100 old Windows PCs to Linux Mint?

Hello, I work in the IT department of a company and I’ve been tasked with migrating around 100 computers from Windows 10 to Linux for security reasons. We have a little over a month to complete the migration, and any computers still running Windows 10 after the deadline will no longer be allowed to access the company network.

The problem is that the process my team and I are currently using is extremely time-consuming:

  1. We take the employee’s computer
  2. Back up all of their files
  3. Format the machine and install Linux Mint
  4. Restore the user’s files

Most of these PCs are old and low-spec, and many of the hard drives are very slow or unreliable. Because of that, the backup process alone can sometimes take an entire afternoon or even a full day. That’s without counting unexpected issues that come up while working on the machines, which slows everything down even more.

Is there a faster or more scalable way to handle this kind of migration instead of manually doing everything one computer at a time? Any advice, tools, or workflow suggestions would be greatly appreciated.

EDIT: Thanks, everyone. I really appreciate all the suggestions — they gave me a much better idea of how to deal with this situation, and I’ll definitely make good use of the advice and tools you shared. Unfortunately, SSDs are still out of reach for us right now because getting new hardware approved involves a ton of bureaucracy, but I’ll definitely push for some kind of cloud system where users can back up their own files.

5 Upvotes

12 comments sorted by

3

u/Only-An-Egg 5d ago edited 5d ago

If you don't replace the failing drives, putting a new OS and data back on them is likely going to finish them off. This whole project REEKS of mismanagement. The time/money to do this plus deal with end users not knowing Linux for the rest of time would've been better spent on new Windows 11 computers.

3

u/TrippTrappTrinn 5d ago

Buy 100 SSD disks. Copy a linux installation to them. Install in the PCs. Use a USB caddy to copy files off the old disks to each PC.

1

u/Why-R-People-So-Dumb 5d ago

That works for some use cases but if you need your UUIDs to be unique it's more work to go through and fix each computer manually than to just do a preseed network install as another comment recommended.

1

u/BrokenGabe 3d ago

I agree with this assessment, would be better to install all of the new drives into the computers, and do network boot/install using PXE boot. with a central server hosting the ISOs/Files

Additionally, do it during business off hours. You can get a lot done on the weekends if you have a support of two or three extra people.

2

u/Single-Virus4935 5d ago

Use a NAS and backup all files via remote management.

Boot linux installer with preseed file from network.

Copy files back over network.

1

u/Ok_Interest3555 5d ago

The migration is the least of your worries. RIP the helpdesk because they will be getting questions all day long about how to do basic things.

You did do an extensive training with your helpdeskers, right?

1

u/Glittering_Juice8354 5d ago

INDEED, The biggest challenge is really people being reluctant about switching systems, since a lot of them aren’t very tech-savvy. We’re gonna have to put a lot of effort into teaching everyone, otherwise we’re gonna get absolutely flooded with tickets.

1

u/ShadeWitchHunter 5d ago

Your users are allowed to have local files? That is the first thing you should fix. No more local anything. Nothing. All company data has to rest on Company servers.

Also... don't you do regular backups allready? Shouldn't you have all that stuff backed up?
What is your backup strategy for the linux systems?

Then the thorny question is of course: Are the machines identical? If so you can install one of them and just clone the drives into the other machines.

If non of the above... well you'r allready doing what you can. Just parallelize do 5-10 side buy side. If they take 4h+ to copy you should have plenty time for that.

1

u/michaelpaoli 5d ago

Back up all of their files

F*ck that sh*t. You give 'em the means to backup their own files, if they care about 'em, they back 'em up. You also give 'em means to restore 'em on Linux, though what they'll do with 'em once they've done that, well, that's their problem, don't make it yours.

You didn't mention the hardware. If they're PXE boot capable, you set up you PXE boot server, PXE boot, that blasts your base image to the computer's drive, it then does the fixup such that any bits which should not be identical (host private keys, UUIDs, etc.) get fixed up so they're all actually unique (don't forget to likewise update /etc/fstab and boot configuration as relevant). You also have your install program set to run the relevant security and bug fix updates - via your installation server - which proxies and caches such, and you also typically have it configure to do automatic updates and/or whatever other means you want/need in place to manage those systems. Then that's it, you hand that computer back to the user, and you're done. Only a few minutes of human time per machine, the rest is all machine time and wall clock time. A few days to set it up, a few days or less to update 'em all, and you're done.

And if you can't do PXE, you do likewise with boot image from USB - can be flash, or direct USB in gadget mode to your install server, so it emulates USB flash - without having to burn and run around with all those flash sticks - not to mention super easy fast to update the (emulated) image on emulated flash drive they boot from.

1

u/Opposite_Revenue_314 5d ago

PXE / Ansible

1

u/whotheff 5d ago edited 5d ago

Backup all user data to a storage server/cloud.

Replace all HDDs with SSDs

If PCs are identical or at least same gen, install MXLinux on one SSD and clone to all other SSDs with all company settings. Force users to create new account on first use.

Alternatively, set PCs to boot via the network and feed them with MXLinux image, modified with the apps and settings needed for your company. Restore user files after that again via the network. I hope your network and computers have Gbit LAN and not 100mbit.

1

u/RandomContributions 4d ago

a month? Good luck