search

How to format a 3TB GoFlex Home

Maybe you want to reformat the drive to start over or maybe you're upgrading to a larger drive, but the seagateshare web interface format option won’t work with 3TB drives and you can't use the USB adapter off a GoFlex Desk or Backup Plus, so how do you format a 3TB drive?

Seagate Support says they use “special software in the factory” to format these drives but that’s not very helpful. They also say you have to use MBR partitioning without explaining just how you’re supposed do that on a 3TB drive with 512 byte sectors.

If you have desktop PC you can use the great tip from David Vielmetter http://davidvielmetter.com/tricks/seagate-goflex-home-disk-maintenance/ to hook up the drive with SATA and partition the drive with a single 3TB GPT partition and format as NTFS with 4096 byte allocation unit (cluster) size..

But if, like me, you only have a laptop what are your options?

I had a 3TB Seagate Backup Plus v1 that I wanted to use on my GoFlex Home to replace the original 1Tb drive


Backup Plus 3TB

Why can't you use a GoFlex Desk USB adapter (or most USB-SATA adapters)?

Using a GoFlex Desk base (or Backup Plus v1) works great for sub 2.2TB drives, but for 3TB drives the USB-SATA bridge changes the logical sector size to 4k.

The GoFlex Home's native SATA connection has a sector size of 512 byte but if the drive is formatted on a USB dock all the addresses in the Master File Table are based on 4096 byte references and the filesystem can't be mounted. 
That's also the reason why a 3TB+ GoFlex Home drive can't be read in Windows using a USB dock. When you connect with USB using 4k sectors everything is in the wrong place so the OS says the drive needs to be formatted.

MBR just doesn't have enough "digits" for numbers over 2,199,023,255,040 so manufacturers get around that by messing with sector size. The GUID Partitioning Table (GPT) was invented to solve the large capacity problem without messing with sectors sizes and fortunately the GoFlex Home's Linux OS handles GPT.

Update: (Sep 2019) I came across a USB dock which supports both 512 byte and 4096 byte sectors. I am not recommending it, but if you are thinking of buying a USB dock to work with your GoFlex Home drive then one that does what this one claims is what you need. If you come across any other USB docks that support 512 byte sectors let me know in the comments and I'll add them to the list.
Use the 512B setting to have any hope of reading your GoFlex Home hard drive or to format your drive to work with your GoFlex Home.


How to use the GoFlex Home Linux operating system to partition and format the drive.

Log in with SSH and become root. Then use the Linux parted command to partition and format the drive (the commands you enter are in blue).

bash-3.2# /sbin/parted /dev/sda
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary NTFS 0TB 3TB
(parted)
(parted) print

Model: Seagate ST3000DM001-1CH1 (scsi)
Disk /dev/sda: 3.00TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  3.00TB  3.00TB               primary


Reboot the GoFlex Home to mount the filesystem and you're done.

3TB GPT NTFS mounted
3TB NTFS GPT partition mounted and ready to use
Note that it only reports 2.73TB, but there's no missing capacity because 3TB is 2.73 TiB. (1 TiB = 1.099511627776 TB)


 UPDATE: If you follow these instructions and find that the msftres flag is set and can't be cleared and the NTFS filesystem won't mount, then click the following link to find out how to reset the msftres flag and create an NTFS filesystem with mkfs
(note: only use this alternative method if  you have the msftres issue because it requires creating a second partition and you lose 100 MB of storage space)

37 comments:

  1. Hi, after the original 3TB drive failed on me, I've just replaced it with a WD 3TB drive (AV drive for 24hr use).

    Before I found this site - I set the drive up using a USB adapter to my laptop - Windows 7 let me set the new drive up with a single GPT partition - I left the cluster size as default initially and then started recovering the lost data to it... then i read your comment about cluster sizes and aborted the recover and tried your SSH guide - everything seemed to work ok (I got a lot of confirmation and warnings) BUT after the reboot I was back to it not recognising the HD??
    I dropped it back into the USB adapter and have used windows again and re done it with a cluster size of 512.

    the Goflex is finding it and all looks ok. do you see any issue with this approach?

    Many thanks.

    ReplyDelete
  2. Hi, Cluster size and Sector size aren't the same thing.
    The sector size is set by the hardware and cluster size (also called allocation unit size) is set by the filesystem (software).

    The default cluster size for NTFS is 4096 byte and setting a smaller cluster size is only useful if you have a lot of tiny (smaller than 4k) files. Each file will use at least one cluster so larger clusters just mean you might waste a bit of disk space.

    Sector size is more critical because
    a) you can't change it in software, it is set by the hardware and
    b) the physical location of data on the disk is calculated by sector.

    If you use the /sbin/parted /dev/sda command and then the print command and it shows a sector size of 512B then it is all good.

    WD's quick format tool interacts with their USB adapter to set the sector size (512B for factory default and 4096B for XP) so your WD drive might be set up OK.
    Seagate doesn't provide a similar tool for their USB adapters so they're stuck on 4096B and that's why the problems arise.

    see this link for info on the WD format tool if you haven't already, cheers http://support.wdc.com/KnowledgeBase/answer.aspx?ID=3868

    ReplyDelete
  3. Thanks for that... its been running over night now recovering data to the newHD - (via the Seagate NAS adapter) - so I hope its OK as it is - or I'll be re doing it fairly soon I guess!I'll let this section of recovery complete and check a little more thoroughly.

    ReplyDelete
  4. i have an issue here, can you help me ? when i complete steps, i am able to see HDD in the goflex home webpage : size NA, Free Space NA.

    Model: Seagate ST3000DM001-9YN1 (scsi)
    Disk /dev/sda: 3.00TB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number Start End Size File system Name Flags
    1 0.00TB 3.00TB 3.00TB primary msftres

    ReplyDelete
  5. The Windows reserved partition flag is set. I don't know how or why this has happened; maybe the origin of the disk from a windows system?
    Apparently the parted Set command won't reset the msftres flag, but you could try that first.
    If you can't reset the msftres flag using Parted then you could try wiping the partition table and starting again with the dd command

    /bin/dd if=/dev/zero of=/dev/sda bs=512 count=1024

    ReplyDelete
  6. Hi, thanks for reply i tried wiping partition using above command,still no luck.

    ReplyDelete
  7. Update : wiped partition ( from windows) using EaseUS. then booted of PC using system rescue cd with hdd attached and all well now.

    ReplyDelete
  8. Great. And thanks for posting back with your solution.
    Hooking up to a Windows PC with SATA is always best as it gives you far more options. My post was really for anyone who doesn't have access to a PC with a SATA port and has to use the GoFlex Home Linux OS.
    cheers

    ReplyDelete
  9. I am really having trouble getting rid of that msftres flag. I have osx and access to the drive over ssh. Any ideas?

    ReplyDelete
  10. I have never come across this one and the suggestion I posted before, of wiping the partition table using the Linux dd command apparently didn't work.
    Another possible solution is to redo the partition mkpart step with the reiserfs filesystem instead of NTFS.
    mklabel gpt
    Unit TB
    mkpart primary reiserfs 0TB 3TB
    This is supposed to reset the mftres flag. You can then redo
    mklabel gpt
    Unit TB
    mkpart primary NTFS 0TB 3TB

    ReplyDelete
    Replies
    1. Okay I tried that and I was able to clear the flag but then it came back when I formatted NTFS again?? Isn't that so strange? Thanks so much. Here is what happened:

      (parted) mklabel gpt
      Warning: The existing disk label on /dev/sda will be destroyed and all data on
      this disk will be lost. Do you want to continue?
      /sbin/parted: invalid token: gpt
      Yes/No? yes
      New disk label type? [gpt]? gpt
      (parted) Unit TB
      (parted) mkpart primary reiserfs 0TB 3TB
      (parted) print

      Model: Seagate ST3000DM001-1ER1 (scsi)
      Disk /dev/sda: 3.00TB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt

      Number Start End Size File system Name Flags
      1 0.00TB 3.00TB 3.00TB primary


      Then I restarted and did this:

      Model: Seagate ST3000DM001-1ER1 (scsi)
      Disk /dev/sda: 3001GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt

      Number Start End Size File system Name Flags
      1 17.4kB 3001GB 3001GB primary

      (parted) mklabel gpt
      Warning: The existing disk label on /dev/sda will be destroyed and all data on
      this disk will be lost. Do you want to continue?
      /sbin/parted: invalid token: gpt
      Yes/No? yes
      New disk label type? [gpt]? gpt
      (parted) Unit TB
      (parted) mkpart primary NTFS 0TB 3TB
      (parted) print

      Model: Seagate ST3000DM001-1ER1 (scsi)
      Disk /dev/sda: 3.00TB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt

      Number Start End Size File system Name Flags
      1 0.00TB 3.00TB 3.00TB primary msftres

      Delete
  11. Thanks for the post. Your drive is a newer firmware ST3000DM001-1ER1 than mine ST3000DM001-1CH1, but I don't know why that should make a difference.
    I was able to repartition and create a filesystem a slightly different way, using mkfs but because of the limited memory on the device you need to create swap space on the hard drive or you will get calloc error.
    What I did was;
    /sbin/parted /dev/sda
    (parted) mklabel gpt (parted) unit GB
    (parted) mkpart primary 0GB 2998GB
    (parted) mkpart swap 2998GB 3000GB
    quit parted. you now have an empty primary partition with no filesystem (or try the reiserfs if the mftres flag is still set) and a swap partition.

    /sbin/mkswap /dev/sda2
    /sbin/swapon /dev/sda2
    /sbin/mkfs.ntfs -Q /dev/sda1

    output of mkfs.ntfs :
    Cluster size has been automatically set to 4096 bytes.
    Creating NTFS volume structures.
    mkntfs completed successfully. Have a nice day

    ReplyDelete
  12. Thank you so much! That worked. I now have a working HD!!

    ReplyDelete
  13. Hi Kenji, Amazing gude, very straight forward, I followed all the procedure, message at end as folows:
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt
    Warning: The existing disk label on /dev/sda will be destroyed and all data on
    this disk will be lost. Do you want to continue?
    /sbin/parted: invalid token: gpt
    Yes/No? yes
    New disk label type? [gpt]? gpt
    (parted) unit TB
    (parted) mkpart primary 0TB 4TB
    (parted)
    (parted) print

    Model: Seagate ST4000VN000-1H41 (scsi)
    Disk /dev/sda: 4.00TB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number Start End Size File system Name Flags
    1 0.00TB 4.00TB 4.00TB primary

    (parted)
    Broadcast message from root (Fri Sep 16 17:59:57 2016):

    The system is going down for reboot NOW!

    after reboot I just get a blinking orange led, any advice on this please. Thanks

    ReplyDelete
  14. You haven't created a filesystem so there is nothing for the OS to mount. You need to include the NTFS part of the command to create the partition.
    mkpart primary NTFS 0TB 4TB

    ReplyDelete
  15. Kenji: Thank you for documenting your experience and knowledge.
    The HDD in my 2TB GoFlex Home hard drive recently died. It spun up but could not be recognized by the GoFlex. Even after removing it from the case I couldn't get any response from it connecting it directly via SATA to a computer.

    I was able to verify that the base was operating properly with a spare 1TB drive I had on hand. Knowing that Seagate sold 3TB versions of the GoFlex Home I purchased a 3TB drive to install in the case. Only after purchasing the replacement hdd did I come across the posting illustrating that only 2TB would be accessible.
    Using your guides I was able to configure the drive properly and reset the msftres flag as well.

    Thank you for your clear, precise and understandable blog.

    ReplyDelete
    Replies
    1. Thanks for the thanks and I'm glad I could help getting your 3TB drive working.

      Delete
  16. will the procedure work for a 4TB HDD?

    ReplyDelete
    Replies
    1. Yes, I don't have a 4TB drive myself but other users have had success.

      Delete
  17. Hi, I don't know if you can help me, but I had an Goflex Home 3TB that died. I try replacing it with an old 500GB HDD and worked fine (I could see the pre-existing files and all). So I purchased a 2TB HDD and formated it (as the 500GB) but the disk is not even visible!
    Do you have any ideas how I can make the 2TB work?

    Thank you in advance!!

    ReplyDelete
    Replies
    1. Hi, that is strange. 2TB and smaller drives should be no problem at all, just like your old 500GB drive. If it is formatted NTFS then it should work.
      If you formatted the drive from your PC, connected with USB then try running chkdsk /R to fix any errors.
      Or you can run pchkntfs as described in my other post
      http://goflexhome.blogspot.com/2015/11/fixing-211mb-issue.html

      Delete
  18. Thank you so much for sharing this information. I was able to upgrade my 1TB goFlex hone to 3TB.

    I did try to use 4TB but there is some kind of limitation with NTFS due to number sectors that are generated when you try to format a 4TB HDD with 512Bytes sectors. Windows 7 does not even give you option to choose 512 bytes as sector size for any partition above 3TB.

    I am happy with 3TB upgrade.

    Thanks again for keeping post active even after so many years. Appreciate it.

    ReplyDelete
    Replies
    1. Thanks for the feedback. I think you may be mixing up sector size and cluster size. Windows does not give you any option to set sector size as that is fixed by the hardware.

      You can set cluster size which is just the minimum file size. The default is 1024 bytes which means that a file only a few bytes long will still use up a kilobyte of space.
      For a 4TB partition you need to set the cluster size to at least 1024 bytes and for a 16TB partition you need a cluster size of at least 4096 bytes.

      Delete
    2. Oops I should have said the default is 4096 byte, though you can't set a cluster size under 1024 byte for 4TB.
      Either way there shouldn't be any problem with 4TB or even bigger drives, but I am glad you were able to format your 3TB and are happy with it.
      And thanks again for taking the time to provide feedback.

      Delete
  19. Yes, I meant the size of the allocation unit (windows format's term) you choose at the time of formatting the drive. I will try to use my 4TB HDD with a larger allocation unit/cluster size and confirm if GoFlex Home handles/recognizes it.

    ReplyDelete
    Replies
    1. Yes, allocation unit size a.k.a cluster size is set by software, Sector size is defined by the hardware.
      I am puzzled though why you are formatting in Windows at all if you are using the procedure I have described in this blog.
      If you are able to connect the drive with SATA or have a USB bridge board that doesn't mess with the sector size and can format the drive in Windows then that is easier and you don't need to mess around with SSH.
      Otherwise whatever filesystem you have formatted the drive with in Windows will be blown away when you run Linux parted mkpart.

      Delete
  20. I feel more at home with Windows, I am formatting the HDD by directly attaching it to a SATA port on the motherboard.

    I was incorrectly assuming that GoFlex Home's firmware/OS mandates a 512 bytes cluster size.
    It appears that I have successfully attached the 4TB HDD (formatted in windows using 4096 bytes clusters).

    location /dev/sda2 is showing up as 3.64TB size.


    ReplyDelete
    Replies
    1. Lol, so you didn't need my blog after all!
      And you haven't lost anything; like I wrote in my blog 1 TiB = 1.099511627776 TB, so 4TB = 3.64Tib. Drive manufacturers like big numbers so they measure on the basis of 1 kilobyte is 1000 bytes whereas in base 2 it is 1024 bytes, which scales up to the difference above.

      Delete
  21. Your blog did help in informing me that I needed to format the new HDD with GPT partition and format it as NTFS files system. Thanks for that.

    Now I can get a lot more out of my two old GoFlex Home NAS systems. :-)

    ReplyDelete
  22. Hi Kenji
    I hope you are well.
    Yesterday I set your access recovery procedure without seagateshare and this worked fine. So, now I want to format my hard disk because I dont know why this says that it has only 273GB free (my hard disk is 2.73TB) and I dont have any file stored in the hard disk. But, when I try to connect by SSH following your procedure, this doesn't work: If I try with any of admin users, the password is never asked and putty says that is inactive. But when I put root in the user, the password is requested but I dont know the root password. So, I appreciate your orientation about if I need to active something for SSH works with admin user.
    I appreciate your comments.
    Thank you in advance,
    BP

    ReplyDelete
    Replies
    1. After reflash to connect with ssh the username is

      admin_hipserv2_seagateplug_AAAA-BBBB-CCCC-DDDD

      Exactly that username until you edit the /etc/oe-release file.
      I recommend editing the oe-release to replace AAAA-BBBB-CCCC-DDDD with your own product key, but unitl you do, the ssh username is the same for everyone who has reflashed with that firmware.

      Delete
    2. If you have created another admin user, say belkisplaza then you can connect with

      belkisplaza_hipserv2_seagateplug_AAAA-BBBB-CCCC-DDDD

      and that user's password

      Delete
    3. Again, thank you. I was able to connect following your instructions. ;)

      Delete
  23. Any ideas on how to mount the Seagate 3TB SATA Drive (removed from plastic case of a GoFlex Home NAS setup) via USB on a Laptop? I purchased a powered SATA-to-USB adapter from Amazon, tried to mount on Windows and while the device was immediately detected, Windows reported it needed to be formatted. I immediately (safely) unplugged it, and thought "this is likely formatted as a Linux partition." I happen to also have a Linux laptop, connected it there, but still cannot see any partition or files. Reason I'm asking, the base station of my GoFlex NAS seems to have died, so trying to mount the drive elsewhere to recover data and subsequently salvage the use of these terabytes of storage.

    Thanks in-advance for any suggestions.

    ReplyDelete
    Replies
    1. Short answer is no I don't have any ideas how to mount the 3TB SATA Drive (removed from plastic case of a GoFlex Home NAS setup) via USB on a Laptop.

      Did you read my post at all? The GoFlex Home drive filesystem is NTFS.
      The reason that you can't read the drive when it is connected to a laptop with a USB-SATA adapter is that most, if not all USB-SATA bridge chips change the sector size to 4096 byte. They do that so that Windows XP can use a 3TB drive, otherwise Windows XP is limited to 2TB.

      The GoFlex Home's native SATA connection has a sector size of 512 byte so all the addresses in the Master File Table are based on 512byte references. When you connect with USB-SATA 4k sectors everything is in the wrong place so the OS says it needs to be formatted.

      The base station is solid state, and with no moving parts it is much less likely to fail than the hard drive, unless you plug in a power supply more than 12V.

      The only way to recover the data is to connect directly with SATA (or find a USB-SATA bridge that doesn't mess with the sector size).

      If you just want to make use of the 3TB storage then go ahead and format it with the USB-SATA adapter.

      Delete
    2. Update: I found a USB hard drive docking station which supports both 512 byte AND 4096 byte sectors (switchable).

      https://www.ezdiskonline.com/ez0330

      Delete