A moment ago I unmounted my 1TB HDD with 400GB of content and I partition it into two different partitions, obviously keeping the space that was already occupied. I did because I don’t care if the content get corrupted, but after I did it everything is still working perfectly, when I thought everything would be corrupted.

I am possibly a complete ignorant on this subject, but due to the nature of the HDD and how it writes and reads data I expected it to corrupt everything, why didn’t it happen? On an SSD on the other hand I would not consider that possible because it is not even a mechanical part where the information is stored.

  • Discover5164@lemm.ee
    link
    fedilink
    arrow-up
    24
    arrow-down
    1
    ·
    1 year ago

    when you resize a partition with data, gparted will move the data inside the partition to fit the new size.

    imagine you have a 100gb partition with 50gb occupied. now you want to shrink it to 80, if there is stuff in the last 20gb, gparted will move them to available space in the first 80gb, and then make the partition.

    still i definitely will not trust it and have backups

    • Xirup@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      It is incredible that it does all that in a matter of seconds, I mean, it moves so much data without problem in jusr seconds, although in fact that is something curious that I have noticed in Linux. If I move something to the same storage even if it is in a different partition, it makes it instantaneous.

      • Mindlight@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        1 year ago

        Essentially it only moves the borders of the partitions and “repairs” the filesystem inside each affected partition.

        If there is data in an area inside the partion you are manipulating gparted has to move the data to an area inside the partition that is unaffected or move it to the new parts of the partition. This can take a long time even if modern PCs easily move 100MB/s

        Also, even if gparted is mature software and the devs probably have implemented a lot of security measures you should always backup your data before manipulating the partitions. Especially when you’re playing around with filesystems that aren’t native like NTFS or more complicated filesystems like ZFS. I know people often nag about this but trust me… Blow 2TB of your data and you really really regret not spending 10 minutes backing up the essentials.

        I’ve been using gparted for as long as I can remember and only once or twice has it caused dats loss. Since I’m very old school (started playing with PCs when 386DX 16MHz was fairly hot and RLL disks were a thing) and nerdy I was able to use data rescue software that looked for filesystems over the whole disk and guessed where partition borders should be.

        Avoid this type of anxiety by backing up all data or at least backing up the data you can’t live without.

        Also, if you have a spare disk, it’s faster and much safer to partition the spare one and just clone each partition. Sometimes it’s even faster to clone the disk this way and then clone it back.

  • wmassingham@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Storage media doesn’t make a difference here. You can partition a spinning drive, an SSD, NVRAM, phase change storage, hell even magnetic core if you have enough of it.

    It also depends on how you did the partitioning. A full partitioning program like gparted will intelligently move and resize partitions. But even if you blindly rewrote a partition table, if you did something like take a 100gb partition, changed it to 50gb, and added a 50gb partition after it, as long as the filesystem has only used that first 50gb, nothing bad will happen. A partition table just says “partition starts here, ends here”.

    Just look at the output of fdisk:

    Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
    Disk model: Virtual disk
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xaf179753
    
    Device     Boot     Start       End   Sectors Size Id Type
    /dev/sda1  *         2048 192944127 192942080  92G 83 Linux
    /dev/sda2       192944128 209715199  16771072   8G  5 Extended
    /dev/sda5       192946176 209715199  16769024   8G 82 Linux swap / Solaris