i have a 32 gigs usb drive and, given that most isos are around 2-5 gigs, it’s such a shame to see nearly 30 gigs of perfectly good free space go to waste whenever i need to use it as a bootable drive. is there any way i can burn an iso image to the usb drive while still being able to use its free space?

  • monovergent@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    3 hours ago

    If you don’t want Ventoy:

    1. Wipe the USB: wipefs -a /dev/sdb
    2. Copy the ISO image to the USB: dd of=/dev/sdb if=/path/to/image/linux.ISO bs=1M status=progress
    3. Make the data partition in the free space: cfdisk /dev/sdb, don’t remove the iso9660 signature, create partition in the free space, and Write.
    4. Format the partition with filesystem of your choice: mkfs, cryptsetup, etc.

    (everything as root, replace /dev/sdb with the location of your USB)

    As is, this only leaves exactly enough for the ISO you are currently working with, sealing the fate of the data partition if you need to swap out the ISO. I suspect there is a workaround in theory, but I haven’t gotten around to that yet.

    Also see https://github.com/thias/glim, a GRUB-based alternative to Ventoy, albeit with less compatibility.

    Edit: this will not work with Windows ISOs and the data partition won’t show up in certain versions of Windows, in case anyone is wondering

    For posterity, what I originally thought, don't do this

    Wipe the drive and partition it so the first partition is large enough for your ISO, then the second partition for your data spans the remaining space. I chose MBR over GPT so I could boot on both modern and legacy BIOS machines. Then dd your ISO to the first partition. Set the bootable flag on that partition if it isn’t already. Format the second partition with whatever filesystem you’d like.

    My Clonezilla recovery drive is set up like this, but it’s been a while so I might have forgotten something. Let me know if I did.

    • beleza pura@lemmy.eco.brOP
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      21 hours ago

      it didnt work sadly. all i got was a blank screen

      edit: actually i think i got it right this time, i just needed to format it as an empty partition on gparted. brb edit 2: nope. blank screen again (even though the dd’d partition got recognized by gparted this time)

      • monovergent@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        Sorry about that, you are right. The way I originally envisioned would have disrupted the partitioning of the original ISO. Tried it myself and ran into the same issue, then finally recalled how I actually did it. See my edited comment above. Unfortunately, changing out the ISO non-destructively might be harder than I originally thought.

      • groet@feddit.org
        link
        fedilink
        arrow-up
        2
        ·
        6 hours ago

        If it shows up in gparted correctly it sounds like you did it correctly but just to make sure, don’t dd the iso to the mounted partition, you don’t want to have a filesystem with a .iso file on it. dd directly to the device (like /Dev/sda1 or whatever). BTW you don’t need dd just use cp.