This tool was really helpful in a bootable USB 1TB -> USB 4TB clone.
I write the procedure here if it's helpful for others.
I first cloned as-is the 1TB drive to the 4TB one using MacriumReflect (in copy mode, so that everything is copied).
At this point I could not boot on the 4TB clone.
To fix this, boot from a sd card (it can also work with the 1TB drive, but be sure to not mixup as you could erase it by accident), plug the 4TB drive and get the PARTUUID with the blkid command (give it the path to the rootfs partition, here /dev/sda2)Then on the bootfs, edit command.txt and change the PARTUUID
it should look like this:It indicates to the boot loader which partition to use to load the system.
But it's not enough, because once the system is loading it must mount these partitions.
In the rootfs parition, edit the /etc/fstab files.
It should look likeHere you must change the the PARTUUID of both partitions using the ones you got with blkid (there are two different PARTUUID, one by partition, and don't touch the rest). This way the system will mount them correctly (otherwhise you'll get a cannot mount Kernel error)..
After this, you should be able to boot from the new drive.
However, It is still only using 1TB. This is where usb-tools and mbr2gpt are usefull.
Boot from the sd card again and unmount the bootfs and rootfs partitions:Then run mbr2gpt to update to gpt and expand disk (don't forget to to be able to run it):There are several questions:
* answer Yes to expand it,
* No to keep booting from sd (I wanted to boot directly from USB drive)
at this point, everything is ready. Remove the sd card, and restart. The Raspberry pi should boot from the USB drive which is correctly sized to 4TB.
I write the procedure here if it's helpful for others.
I first cloned as-is the 1TB drive to the 4TB one using MacriumReflect (in copy mode, so that everything is copied).
At this point I could not boot on the 4TB clone.
To fix this, boot from a sd card (it can also work with the 1TB drive, but be sure to not mixup as you could erase it by accident), plug the 4TB drive and get the PARTUUID with the blkid command (give it the path to the rootfs partition, here /dev/sda2)
Code:
sudo blkid /dev/sda2it should look like this:
Code:
console=serial0,115200 console=tty1 root=PARTUUID=ee144693-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=FRBut it's not enough, because once the system is loading it must mount these partitions.
In the rootfs parition, edit the /etc/fstab files.
It should look like
Code:
proc /proc proc defaults 0 0PARTUUID=ee144693-01 /boot/firmware vfat defaults 0 2PARTUUID=ee144693-02 / ext4 defaults,noatime 0 1After this, you should be able to boot from the new drive.
However, It is still only using 1TB. This is where usb-tools and mbr2gpt are usefull.
Boot from the sd card again and unmount the bootfs and rootfs partitions:
Code:
sudo umount /dev/sda1sudo umount /dev/sda2Code:
sudo chmod +x mbr2gptCode:
sudo ./mbr2gpt /dev/sda* answer Yes to expand it,
* No to keep booting from sd (I wanted to boot directly from USB drive)
at this point, everything is ready. Remove the sd card, and restart. The Raspberry pi should boot from the USB drive which is correctly sized to 4TB.
Statistics: Posted by thinkbeforecoding — Fri Mar 28, 2025 3:56 pm