Clone Windows Hard Drive To A New Drive Using DD

Using dd to copy a Windows installation to a larger drive can work and must be done very carefully, as mistakes can result in data loss or an unbootable system.

Be Very Careful:

  • dd is dangerous – it will overwrite anything you point it at.
  • This method copies sector-by-sector, including partition table and unused space.
  • Windows may require repair or partition extension after cloning.
  • Ensure the target drive is larger than or equal to the source drive.
  • Back up your data first.

Requirements:

  • A Linux live USB like Ubuntu
  • Source drive with Windows installed
  • Destination (larger) drive
  • A backup of important data

Step 1: Boot into a Linux Live Environment

  1. Boot your system using a Linux live USB.
  2. Open a terminal.

Step 2: Identify Source and Destination Drives

Use lsblk or fdisk -l to identify your drives:

sudo lsblk

Look at sizes and labels. Let’s assume:

  • /dev/sda = original Windows drive (source)
  • /dev/sdb = new larger drive (destination)

Double check! A mistake here can erase your data permanently.

Step 3: Ensure Target Drive is Unmounted

Unmount all partitions of the destination drive:

sudo umount /dev/sdb*

Just to be safe, disable automounting (if using a GUI environment).

Step 4: Clone the Drive Using dd

Run this command:

sudo dd if=/dev/sda of=/dev/sdb bs=64K status=progress conv=noerror,sync

  • if= is the input file (source drive)
  • of= is the output file (destination drive)
  • bs=64K = block size
  • status=progress = shows progress
  • conv=noerror,sync = continues on read errors, pads with zeros

This may take a long time depending on drive size.

Step 5: Shut Down and Replace the Drive (if needed)

Once cloning is complete:

sudo sync

sudo shutdown now

  • Physically replace the old drive with the new one if necessary.
  • Boot into Windows from the new drive.

Step 6: Extend Windows Partition (to use full drive space)

If the cloned partition doesn’t use the full disk:

  1. Boot into Windows.
  2. Open Disk Management (diskmgmt.msc).
  3. Right-click the Windows partition (usually C:) → Extend Volume.
  4. Follow the wizard to allocate the unused space.

Repair the Bootloader (if system doesn’t boot)

If Windows doesn’t boot:

  1. Boot from a Windows installation USB.
  2. Choose Repair your computerTroubleshootStartup Repair.
  3. If that fails, open Command Prompt and run:

CopyEdit

bootrec /fixmbr

bootrec /fixboot

bootrec /scanos

bootrec /rebuildbcd

Similar Posts