guidox / Hardware

Check If Your Laptop Can Take a Second Drive

TL;DR

Read the model and board with **Get-CimInstance**, then check the manual for the slot list. In Windows, look for an unused SATA or PCIe controller before you open the machine.

Before you start

Requirements

  • The laptop model
  • 5 minutes of reading, later a screwdriver
  • 15 minutes
Step by step

Instructions

01

Identify the exact model

The marketing name is not enough. The board product and the model string on the vendor's support page list the slots and the supported drive types.

Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer,Model,SystemSKUNumber
Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer,Product,Version
Get-CimInstance Win32_ComputerSystemProduct | Select-Object Name,Version
02

List the storage hardware Windows sees

An unused controller or an empty slot shows up as a controller without a disk. That is the checklist before opening the case.

Get-PhysicalDisk | Select-Object DeviceId,FriendlyName,MediaType,BusType,Size
Get-Disk | Select-Object Number,FriendlyName,BusType,Size,PartitionStyle
Get-PnpDevice -Class SCSIAdapter,HDC | Select-Object FriendlyName,Status,InstanceId
03

Count the slots from the firmware data

The SMBIOS type 9 records physical slots, and the storage controllers report their ports. A PCIe slot that lists an M.2 device type is the second drive slot.

Get-CimInstance -Namespace root\wmi -ClassName MSFT_PhysicalDisk -ErrorAction SilentlyContinue | Select-Object FriendlyName,MediaType,BusType
Get-CimInstance Win32_SystemSlot | Select-Object SlotDesignation,CurrentUsage,SlotType
Get-CimInstance Win32_PnPEntity | Where-Object { $_.Name -match 'NVMe|SATA' } | Select-Object Name,DeviceID
04

Check the power and the thermal budget

A second drive adds heat and a few watts. On a thin laptop that is the real constraint, and the manual states the supported capacity per slot.

Get-CimInstance Win32_Battery | Select-Object Name,DesignVoltage,EstimatedChargeRemaining
Get-CimInstance Win32_BIOS | Select-Object SMBIOSBIOSVersion,ReleaseDate
Get-CimInstance Win32_ComputerSystem | Select-Object TotalPhysicalMemory,SystemFamily
05

Confirm with the vendor's own documentation

The maintenance manual shows whether the slot exists, what length it takes and whether the drive needs a bracket. That is the document that decides the purchase.

Get-CimInstance Win32_ComputerSystemProduct | Select-Object IdentifyingNumber
Start-Process 'https://support.microsoft.com'
# search: <model> maintenance manual  M.2 slot  supported capacity
06

Prepare the drive once it is installed

A new drive arrives unallocated. Windows needs it initialised and formatted before it appears as a letter.

Get-Disk | Where-Object PartitionStyle -eq 'RAW' | Select-Object Number,FriendlyName,Size
Initialize-Disk -Number 1 -PartitionStyle GPT -PassThru
New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -NewFileSystemLabel 'Data' -Confirm:$false
Get-Volume | Select-Object DriveLetter,FileSystemLabel,FileSystem,Size
Troubleshooting

Common issues

The drive does not appear after installation

Reseat it and check the slot keying. A SATA-only slot does not accept an NVMe drive at all.

It appears in the firmware but not in Windows

The controller needs a driver, or the disk is offline. Check Get-Disk and bring it online.

Only one M.2 slot is usable

The second slot may share lanes with a SATA port or be disabled when the first is populated. The manual states which combination works.

The laptop will not boot after the install

The boot order changed, or the new drive has a boot flag. Remove the drive and check the firmware settings before trying again.

FAQ

Frequently asked

Does a second drive void the warranty?

Opening the case can, in some regions. Check the vendor's upgrade policy before you start.

Can I add a drive to a laptop with no slot?

Only with an external USB or Thunderbolt enclosure. There is no internal workaround.

Do I need to clone Windows to the new drive?

No. Use it as a data drive, or clone deliberately if you want it to boot.

How to undo this

Nothing is changed by reading. If you initialised a disk, remove the partition with Clear-Disk -Number 1 -RemoveData -Confirm:$false.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress