Installation crash on Samsung T9 SSD: sfdisk --no-reread /dev/sda failed with Exit code 1

Ubuntu Version:
Ubuntu 24.04.4 LTS

Desktop Environment (if applicable):
Installing on external SSD

Problem Description:
I am trying to install Ubuntu 24.04.4 LTS onto an external Samsung T9 Portable SSD. However, the installation fails during the partitioning stage with a “curtin command install” error.

Steps to reproduce:

  1. Boot from the Ubuntu Live USB.

  2. Select the installation type (Manual or Erase disk).

  3. Target the Samsung T9 SSD (/dev/sda).

  4. The installer starts copying/partitioning but crashes shortly after.

Relevant System Information:
Target Drive: Samsung T9 Portable SSD (Connected via USB-C).

  1. Current OS: Windows 10/11.
  2. Note: The error seems related to sfdisk failing to write the partition table to the external drive.

Screenshots or Error Messages:
The installer logs show a ProcessExecutionError during the sfdisk command:

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: util.subp(cmd,data=sfdisk_script.encode(‘ascii’))

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: File “/snap/ubuntu-desktop-bootstrap/494/lib/python3.10/site-packages/curtin/util.py”, line 331, in subp

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: return _subp(*args, **kwargs)

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: File “/snap/ubuntu-desktop-bootstrap/494/lib/python3.10/site-packages/curtin/util.py”, line 175, in _subp

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: raise ProcessExecutionError(stdout=out,stderr=err,

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: curtin.util.ProcessExecutionError: Unexpectederror while running command.

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Command: [‘sfdisk’, ‘–no-reread’, ‘/dev/sda’, ‘–no-tell-kernel’]

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Exit code: 1

Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Reason: -
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Stdout: ‘’
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Stderr: ‘’
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Unexpected error while running command.
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Command: [‘sfdisk’, ‘–no-reread’, ‘/dev/sda’, ‘–no-tell-kernel’]
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Exit code: 1
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Reason: -
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Stdout: ‘’
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Stderr: ‘’
Mar 19 19:10:03 ubuntu subiquity_log.2843[6508]: Stderr: ‘’
Mar 19 19:10:03 ubuntu subiquity_event.2843[2843]: executing curtin install partitioning step
Mar 19 19:10:03 ubuntu subiquity_event.2843[2843]: installing system
Mar 19 19:10:03 ubuntu subiquity_event.2843[2843]: curtin command install

What I’ve Tried:
Disabled Fast Boot and Secure Boot in BIOS.
Tried different USB ports (USB 3.0 and USB-C).
Checked the drive on Windows; it works fine for data storage.

1 Like

Did you verify the download of Ubuntu with the checksum on the Ubuntu download page?

Run the following command from the Ubuntu usb to collect data to post here and indicate which drive you are installing TO.:

sudo fdisk -l | sed -e '/Disk \/dev\/loop/,+5d'




3 Likes

The failure of sfdisk with Exit Code 1 typically indicates a low-level device write failure rather than a syntax or user error. On external USB SSDs (especially UASP-enabled devices like the Samsung T-series), this is commonly caused by a device-state or kernel synchronization issue, often observed during partition table updates.

The installer uses --no-tell-kernel, which delays kernel notification of partition changes. On some USB bridge controllers, this can result in the device not being ready when subsequent operations occur, leading to silent failures from sfdisk.

To resolve this, use the following clean and controlled workflow:

1. Force-clear all disk metadata (required)

Before running the installer, completely wipe any existing filesystem signatures and partition tables:

Bash

sudo wipefs -a /dev/sda

sudo sgdisk --zap-all /dev/sda

This removes corrupted GPT headers or leftover metadata that may prevent partition writes.

2. Verify the device is writable (critical check)

Bash

lsblk -o NAME,RO,MODEL,TRAN

Ensure:

RO=0 (not read-only)

Device is correctly detected over USB

If the device is read-only (RO=1), the installation will fail regardless of method.

3. Use GParted pre-staging (bypass sfdisk)

Instead of using “Erase disk”:

Open GParted

Create a new GPT partition table

Create:

EFI partition (FAT32, ~512MB, flags: esp/boot)

Root partition (ext4)

Apply changes, then run the installer → choose Manual Partitioning and assign mount points.

This avoids the failing sfdisk step entirely.

4. Apply UASP quirk (if instability persists)

Some Samsung USB bridges have known issues with UASP under Linux.

At the GRUB menu, press e and append:

Bash

usb-storage.quirks=VID:PID:u

Get the correct values using:

Bash

lsusb

Example:

ID 04e8:xxxx Samsung Electronics

Then use:

Bash

usb-storage.quirks=04e8:xxxx:u

Note:

04e8 is the Samsung vendor ID

The product ID varies by model and firmware (not universal)

This forces the device into a more stable USB mass storage mode.

5. Reduce external interference

  • Disable Wi-Fi/Ethernet during install
  • Avoid USB hubs/adapters
  • Use direct motherboard USB ports

This minimizes timing and power-related instability during partitioning.

Note: for the bash command and Samsung ID Number I took the information and opinion from Gemini AI, because I never experienced this problem, because I don’t have a Specific Samsung SSD, But some of it is my opinion

Thank you @marcelstevano for the detailed suggestions! The GParted pre-staging method worked perfectly for me. Here’s exactly what I did:

  1. Disabled Security on the T9 using Samsung Magician on Windows
  2. Booted from USB → selected Try Ubuntu
  3. Opened GParted → selected the T9 drive (/dev/sda)
  4. Device → Create Partition Table → chose gpt → Apply
  5. Created partition 1: ~1130 MiB, FAT32
  6. Created partition 2: remaining space, ext4
  7. Right-clicked the FAT32 partition → Manage Flags → ticked esp → Apply all
  8. Opened the Ubuntu installer → chose Manual installation
  9. Assigned /boot/efi to the FAT32 partition and / to the ext4 partition
  10. Did NOT click “New partition table” in the installer
  11. Installation completed successfully!

The key takeaway is that the Ubuntu installer’s sfdisk doesn’t work with the T9’s USB controller, but GParted (which uses libparted) handles it fine. So the workaround is simply to create partitions in GParted first, then skip the partition table creation step in the installer.

Hope this helps anyone else with the same issue on a Samsung T9.

1 Like