Changing Seagate EXOS sector size on Linux

Credit goes to https://www.synoforum.com/resources/upgrading-firmware-and-changing-sector-size-on-seagate-hdds-while-installed-in-your-synology-nas.182/External link

NOTE: Do not use USB enclosures - they mostly do not support 4k sector sizes.

Updating the firmware is optional (if it's up-to-date for example), in which case skip steps 3-8.

1.) Download latest Seagate SeaChest application: We only need the SeaChest Lite edition.

Website: https://www.seagate.com/au/en/support/software/seachest/External link
Direct: https://support.seagate.com/seachest/SeaChestLite.zipExternal link

2.) Extract Linux application from SeaChest zip file: Open the "SeaChestLite.zip" file, go to the "Lin64\Non-RAID" folder, and copy "SeaChest_Lite_x86_64-alpine-linux-musl_static".

3.) Download latest firmware for Seagate HDDs: Go to the following URL, and enter the serial number off your Seagate HDD to search for the latest firmware for your drive model.

Website: https://apps1.seagate.com/downloads/request.htmlExternal link

4.) Extract firmware files: Open the firmware zip file you downloaded, and go to the "Firmware" folder. Copy the firmware files to the same folder:

EN-SN04.CFSEvansExosX16SATA-STD-512E-SN04.LOD
5.) Scan / list the drives:

sudo ./SeaChest_Lite -s
6.) Upgrade firmware on installed Seagate HDDs:

sudo ./SeaChest_Lite -d /dev/sg0 --downloadFW EvansExosX16SATA-STD-512E-SN04.LODsudo ./SeaChest_Lite -d /dev/sg1 --downloadFW EvansExosX16SATA-STD-512E-SN04.LOD...
7.) Check the Seagate HDDs are displaying firmware installed:

sudo ./SeaChest_Lite -s
8.) Shutdown, power-off then start again.

9.) Check the Sector Size on your Seagate HDDs.

sudo ./SeaChest_Lite -d /dev/sg0 -i | grep Sizesudo ./SeaChest_Lite -d /dev/sg1 -i | grep Size...
10.) Do a quick check to ensure your Seagate drives support both 512 and 4096 sector sizes:

sudo ./SeaChest_Lite -d /dev/sg0 --showSupportedFormatssudo ./SeaChest_Lite -d /dev/sg1 --showSupportedFormats...
11.) BEFORE converting sector size, do a quick health check on each of the Seagate drives:

sudo ./SeaChest_Lite -d /dev/sg0 --shortDST --pollsudo ./SeaChest_Lite -d /dev/sg1 --shortDST --poll...
12.) Convert the 512 byte sector size to 4096 bytes:
sudo ./SeaChest_Lite -d /dev/sg0 --setSectorSize 4096 --confirm this-will-erase-datasudo ./SeaChest_Lite -d /dev/sg1 --setSectorSize 4096 --confirm this-will-erase-data...WARNING: The process will wait 30 seconds in case you want to cancel the operation - it is destructive.

13.) Shutdown, power-off then start again.

14.) It is recommended to do another health check on your drives before copying your data back and moving into production mode.

sudo ./SeaChest_Lite -d /dev/sg0 --shortDST --pollsudo ./SeaChest_Lite -d /dev/sg1 --shortDST --poll...

January-05-2024
linux, seagate

Leave a comment

Comments (if any)

Don't know what will come here, let's wait and see... But in the first instance it will be a login box (for myself):

Login