Transferring windows 10 to new hard drive?

I got a new laptop and it's got Windows 10 pre installed...and before I even so much as access the internet I want to rip out the HDD and install a Solid State drive I have coming...so what should I do?....1) download all the security updates and new drivers (using iobit driverbooster) to the original hard drive and then created a "backup" on USB using windows recovery thing...or should I install the drivers after I swap out the hard drive or what....or do I need to use the SSD "cloning" software to reinstall windows on the SSD drive?


Here's how I do it using open-source software, a USB stick, and an external drive enclosure to temporarily host your new SSD. Will take you about an hour or so.

  1. Start your PC and log in normally with both new and old drives attached.

  2. Download GParted Live ISO image.

  3. Download unetbootin.

  4. Plug in your USB stick and then run unetbootin to install the downloaded ISO to your USB stick.

  5. Now reboot your computer using the advanced restart options (start menu → power menu → hold the shift key + press restart) to get into your UEFI options and change your boot options (from the advanced restart options, choose Troubleshoot → Advanced options → UEFI firmware settings). Once the computer restarts and you are in the UEFI settings, you should be able to set an option to make the computer boot from the USB stick.

  6. Exit UEFI and you will boot into GParted Live. During startup, you might be prompted about keymaps, language, etc. In most cases, you can just press enter to accept all of the defaults.

  7. Once GParted Live has started up its graphical interface, you will see icons for the terminal and GParted program (there's also an option to change the resolution to something more readable if you have a hi dpi screen). Plug in your external drive. Double click GParted to start it up and use the File -> Devices menu to verify the device name of each drive (usually /dev/sda for the internal drive and /dev/sdb for the external drive, but you should verify this or you could write over the wrong drive).

  8. If your current drive is bigger than the new one, you should now use GParted to shrink its partition and move any other partitions so that the sectors from the first through the last partition can fit on the new disk. (I suggest that you do NOT MOVE your main partition, just SHRINK it or you may be unable to boot from the drive again.)

  9. Now open the terminal and use the dd command to copy your old drive to your new drive. This will take a long time (but less time the more you can shrink the partition on the original drive). Enter the following command:

    # Double-check the device locations or you could corrupt your drives!
    sudo dd if=/dev/sda of=/dev/sdb bs=16M status=progress
    
  10. If your new drive is smaller than the original drive then the dd command will end with a disk full error. This is fine, but it will probably mean your new main partition is corrupted. You can fix this in the terminal using the gdisk tool (see here). Depending on the drive configuration you may need to follow these steps even if you don't get a disk full error.

    sudo gdisk /dev/sdb 
    #will start interactive tool and warn you about corrupted partition
    #if it is corrupted enter the following commands
    x   #for expert mode
    e   #copy partition structures to end of disk
    w   #write the change`
    
  11. Go back to the GParted program and select the reload devices menu option and verify the copied drive shows up correctly. You can now use GParted to resize the main windows partition to use all of the space on the new disk if necessary.

  12. You should now have a copy of the drive that you can install into the machine. Note that windows may report a conflict or have other issues if it detects the presence of the new and old drives because they share the same GUID so you should remove the old one (or format it if you don't need the backup).