Skip to content

[issue]: Ventoy2Disk.sh install fails on immutable Linux distros — partx -u needed after partition creation #3537

Description

@chadwjames

Official FAQ

  • I have checked the official FAQ.

Ventoy Version

1.1.10

What about latest release

Yes. I have tried the latest release, but the bug still exist.

Try alternative boot mode

N/A — this is an install-time failure, not a boot issue.

BIOS Mode

UEFI Mode

Partition Style

MBR

Disk Capacity

29

Disk Manufacturer

Generic USB

OS

Bazzite 43 (based on Fedora Silverblue / ostree immutable filesystem)

Describe the bug

Running Ventoy2Disk.sh -I /dev/sdX fails during installation with:

install Ventoy ...
/dev/sdb2 not exist

After parted creates the two Ventoy partitions, the script calls udevadm trigger --name-match=$DISK and partprobe to notify the kernel of the new partition table. On immutable/ostree-based distros (Bazzite, Fedora Silverblue, etc.), these calls do not reliably cause the new partition devices (/dev/sdb1, /dev/sdb2) to appear in /dev. As a result, wait_and_create_part times out and the install fails.

Steps to Reproduce

  1. Run sudo ./Ventoy2Disk.sh -I /dev/sdX on Bazzite 43 (or any Fedora Silverblue/ostree-based distro)
  2. Installation reaches the partitioning step and exits with /dev/sdb2 not exist

Fix

Adding partx -u $DISK after the existing partprobe call in ventoy_lib.sh resolves the issue. partx directly tells the kernel to add/update partitions for the given device and works correctly where partprobe/udevadm do not on these distros.

In tool/ventoy_lib.sh, in the format_ventoy_disk_mbr and format_ventoy_disk_gpt functions, change:

udevadm trigger --name-match=$DISK >/dev/null 2>&1
partprobe >/dev/null 2>&1
sleep 3

to:

udevadm trigger --name-match=$DISK >/dev/null 2>&1
partprobe >/dev/null 2>&1
partx -u $DISK >/dev/null 2>&1
sleep 3

This was tested and confirmed working on Bazzite 43 (x86_64, Fedora Silverblue base, GNOME, ostree immutable filesystem).

Note on mkexfatfs

On Bazzite 43, the mkexfatfs tool check also fails because the system provides mkfs.exfat (from exfatprogs) instead of mkexfatfs. The bundled check runs mkexfatfs -V which exits non-zero with mkfs.exfat. A fallback to mkfs.exfat would also help these distros.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    FixedThis issue has been fixed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions