Desktop Setup: Windows + Ubuntu 24.04 + RAM Upgrade

This is the process I followed to set up the company desktop, upgrade the RAM, and install Ubuntu alongside Windows. You don’t have to follow it exactly, but it should be a good baseline.

1. Windows setup

  1. Connect keyboard, mouse, monitor and power, then start the PC.
  2. During Windows setup:
  3. Skip Wi‑Fi to avoid being forced into a Microsoft account.
  4. Create a local user account.
  5. After reaching the desktop:
  6. Connect to the network.
  7. Run Settings → Windows Update repeatedly until there are no pending updates.
  8. Some devices (camera, audio, etc.) may only start working after these updates.

2. Quick hardware check on Windows

Before opening the case, verify that the machine looks healthy:

  • Task Manager (Ctrl + Shift + Esc) → Performance:
  • Check that CPU, GPU and RAM are detected.
  • Device Manager:
  • Confirm the GPU appears under Display adapters.
  • Check that there are no devices with a yellow warning icon.
  • Optionally run msinfo32 (Win + R) to see total RAM and BIOS version.

If anything looks wrong, fix it first (usually by letting Windows finish driver updates).

3. RAM upgrade

Safety and opening the case

  1. Shut down Windows completely (no sleep/hibernate).
  2. Switch off the power supply if it has a rear switch, then unplug the power cable.
  3. Press the power button once to discharge any residual power.
  4. Move the case onto a non‑static surface (avoid carpet). Touch the metal case occasionally to discharge static.
  5. Remove the glass side panel:
  6. Loosen the thumb screw(s) on the back.
  7. Slide and lift the panel off. If unsure, a short case‑specific video helps. You can generally find these for most computers on YouTube.

Swapping the RAM

  1. Identify the four RAM slots near the CPU.
  2. Remove the existing sticks:
  3. Push the plastic clips at the end(s) of each slot outward.
  4. The stick will pop up; pull it straight out.
  5. Install the two new sticks:
  6. Check the notch on the stick and match it to the slot so you do not force it in backwards. I cannot overemphasize how easy it is to put them in backwards.
  7. Use the slot pairing recommended for dual channel (usually 1 & 3 or 2 & 4; it is printed on the board or in the manual).
  8. Push down firmly until both clips click into place.

If the PC does not boot

  • No worries, this happens all the time.
  • Power off, unplug, and reseat the sticks (remove and reinstall).
  • Try the other matching pair of slots (e.g. move from 1 & 3 to 2 & 4).
  • As a sanity check, put the original RAM back in:
  • If it works with the original RAM, the PC is fine and the issue is with seating, slot choice or (less likely) BIOS support for the new kit.
  • In case the new RAM is seen but runs at a very low speed, you can later:
  • Update the BIOS, and/or
  • Enable the XMP/DOCP profile for that kit in BIOS. The machine should still boot at a safe default even without these changes.

Verify RAM in Windows

Boot into Windows and check:

  • Task Manager → Performance → Memory:
  • Confirm the total amount (e.g. 128 GB).
  • Note the reported speed and let me know what you see.

4. Prepare disk space for Ubuntu

Before changing partitions, make sure there is nothing important on the disk that is not backed up.

  1. Open Disk Management (right‑click Start → Disk Management).
  2. On the main Windows disk:
  3. Right‑click the C: partition → Shrink Volume.
  4. Shrink so that:
    • Windows C: ends up around 400 GB.
  5. From the newly freed space:
  6. Create an ~1.2 TB NTFS partition.
  7. Assign it a drive letter (e.g. D: ) and a simple label like Data.
  8. Leave the remaining ~400 GB as unallocated (do not create a partition there).
  9. Ubuntu will later install itself into this unallocated space.

At this point you should have: - C: ~400 GB (Windows) - D: ~1.2 TB (shared data) - ~400 GB unallocated (for Ubuntu)

5. Install Ubuntu 24.04 LTS

You will need a USB stick (8 GB or larger).

  1. Follow the official Ubuntu desktop installation tutorial:
    https://ubuntu.com/tutorials/install-ubuntu-desktop
  2. Download Ubuntu 24.04 LTS.
  3. Use the tutorial to create a bootable USB and boot from it (via the boot menu key).
  4. In the installer:
  5. Choose Install Ubuntu.
  6. Tick Download updates while installing.
  7. Tick Install third‑party software (this pulls in NVIDIA drivers).
  8. When asked about installation type / partitioning:
  9. Choose the option that uses the largest available free space or similar wording.
  10. Make sure it is targeting the ~400 GB unallocated space and not the Windows (C:) or data (D:) partitions.
  11. If the installer view looks confusing, do not guess. Check with the LLM of your choice to debug the issue. If that doesn't work, cancel the install and ping me (Berk).

After installation finishes, reboot. You should see a menu that lets you choose between Ubuntu and Windows.

NB: You can choose the default behavior of the computer (which OS it boots into by default, how long it waits for a choice, etc.). I stay in Ubuntu and never sign into Windows, but since we’re deeply integrated into the Microsoft ecosystem, it’s useful to keep a working Windows install around in case you need it.

6. Checks in Ubuntu

After the first boot into Ubuntu:

  1. Update the system: bash sudo apt update sudo apt upgrade -y
  2. Check that the hardware is visible: bash free -h # total RAM lsblk # disks and partitions
  3. If you have an NVIDIA GPU:
  4. Open Settings → About or Additional Drivers to confirm a proprietary NVIDIA driver is in use, or
  5. From a terminal, run: bash nvidia-smi If it fails, you can run: bash sudo ubuntu-drivers autoinstall sudo reboot
  6. You should also see the NTFS data partition in the file manager; you can mount it from there when needed.

7. Python / development setup

Treat Ubuntu like a clean EC2 instance:

  • Avoid using the system Python for projects.
  • Use pyenv to install the Python versions you actually need.
  • Use a project‑level tool such as PDM (what I used), poetry, uv, or similar to manage dependencies per project.

One simple way on Ubuntu:

# Basic build tools and git
sudo apt install -y build-essential git

# Install pyenv
curl https://pyenv.run | bash

# Add pyenv to your shell (bash example)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d "$PYENV_ROOT/bin" ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

# Example: install and use a specific Python version
pyenv install 3.12.11
pyenv global 3.12.11

# Install PDM
curl -sSL https://pdm-project.org/install-pdm.py | python

# Verify
python --version
pdm --version

From there you can recreate whatever you normally use on EC2 (libraries, tools, etc.) inside project‑specific environments.


If anything looks different from what you see on your machine, you can try to resolve it with Claude/ChatGPT/Gemini. If that doesn't work, feel free to send me (Berk) a screenshot rather than guessing; most problems are small details around partition selection or RAM seating etc.