Attaching an external Windows/DOS 3 TB hard drive via USB

I'm trying to figure out how to mount a Seagate external USB hard drive. This is a 3 TB external USB drive formatted in Windows. when I plug the drive into the USB port I get:
Code:
ugen0.2: <Seagate> at usbus0
umass0: <Seagate Backup+ Desk, class 0/0, xxxx> on usbus0
umass0: SCSI over Bulk-Only; quirks=0x4101
umass0:4:0:-1: Attached to scbus4
da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
da0: <Seagate Backup+ Desk 050B> Fixed Direct Access SCSI-6 device
da0: 1.000MB/s transfers
da0: 2861588MB (732566645 4096 byte sectors: 255H 63S/T 45600C)
da0: quirks=0x2<NO_6_BYTE>
I want to be able to mount this drive and copy files to it. In /dev is
Code:
/dev/da0
/dev/da0s1
Under DOS the whole drive is one main 3 TB piece.

Can someone give me an appropriate mount command to make it accessible? I don't want to reformat it.
 
mount /dev/da0 /mnt says "invalid argument". I've tried different -t xxx options and still had problems.
 
MBR can't handle partitions larger than 2 TB. There is probably something funny going on. The drive may be GPT and you're seeing the PMBR. It could be formatted with NTFS. Please show the output of gpart show da0.
 
When plugged in:
Code:
ugen0.2: <Seagate> at usbus0
umass0: <Seagate Backup+ Desk, class 0/0, rev 2.10/1.00, addr 2> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x4101
umass0:4:0:-1: Attached to scbus4
da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
da0: <Seagate Backup+ Desk 050B> Fixed Direct Access SCSI-6 device
da0: 1.000MB/s transfers
da0: 2861588MB (732566645 4096 byte sectors: 255H 63S/T 45600C)
da0: quirks=0x2<NO_6_BYTE>

Run command:
Code:
 gpart show da0
=>       63  732566582  da0  MBR  (2.7T)
         63       1985       - free -  (7.8M)
       2048  732563456    1  ntfs  (2.7T)
  732565504       1141       - free -  (4.5M)
 
So what's the prognosis? I would think hooking up a 3 TB PC hard drive would be easy.
 
Here's what happened:
Code:
# ntfs-3g /dev/da0s1 /usbd

Did not find any restart pages in $LogFile and it was not empty.
The file system wasn't safely closed on Windows. Fixing.
Failed to reset $LogFile: Invalid argument
Failed to sync device /dev/da0s1: Invalid argument
Failed to mount '/dev/da0s1': Invalid argument
The device '/dev/da0s1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

# dmesg

ugen0.2: <Seagate> at usbus0 (disconnected)
umass0: at uhub0, port 1, addr 2 (disconnected)
(da0:umass-sim0:0:0:0): got CAM status 0x44
(da0:umass-sim0:0:0:0): fatal error, failed to attach to device
(da0:umass-sim0:0:0:0): lost device - 0 outstanding, 5 refs
(da0:umass-sim0:0:0:0): removing device entry
ugen0.2: <Seagate> at usbus0
umass0: <Seagate Backup+ Desk, class 0/0, rev 2.10/1.00, addr 2> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x0100
umass0:4:0:-1: Attached to scbus4
da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
da0: <Seagate Backup+ Desk 050B> Fixed Direct Access SCSI-6 device
da0: 1.000MB/s transfers
da0: 2861588MB (732566645 4096 byte sectors: 255H 63S/T 45600C)
da0: quirks=0x2<NO_6_BYTE>

# ntfs-3g /dev/da0 /usbd

NTFS signature is missing.
Failed to mount '/dev/da0': Invalid argument
The device '/dev/da0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
 
The disk is recognized as having 4 KB physical sectors so the MBR is actually correct, 732563456 times 4 KB is roughly 2.73 TB. It's possible the something in the MBR handling in FreeBSD refuses to believe that an MBR partitioned disk could have anything else but 512 B sectors.

It's also possible that such MBR partitioning on a 4 KB sector disk is a custom partitioning format that is not widely supported. GPT is certainly the standard way of handling such large disks. Does the disk need any special drivers installed on windows?
 
The filesystem is dirty, and ntfs-3g could not fix it. Connect it to a Windows machine and fix it there.

If you are planning on using this disk to move data, consider a different filesystem.
 
This is a standard Seagate "Backup Plus" 3 TB drive. I didn't install any special drivers. I am not using any proprietary software - I'm just plugging it in and using it to backup data from a number of different computers and OSes. It's mainly a Windows drive but I also wanted to hook it up to one of my FreeBSD servers and copy a directory tree from that machine onto the drive as well.

I had no idea this would be so complicated. Any help would be appreciated. I've got it in my Windows machine running CHKDSK on it now but it seems to be fine under Windows.
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

No luck. I plugged the disk back into my Windows machine, ran checkdisk and scandisk, ejected it and tried again:

Code:
 # ntfs-3g /dev/da0 /usbd
NTFS signature is missing.
Failed to mount '/dev/da0': Invalid argument
The device '/dev/da0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

 # ntfs-3g /dev/da0s1 /usbd
The disk contains an unclean file system (0, 0).
The file system wasn't safely closed on Windows. Fixing.
Failed to reset $LogFile: Invalid argument
Failed to sync device /dev/da0s1: Invalid argument
Failed to mount '/dev/da0s1': Invalid argument
The device '/dev/da0s1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

Any ideas?

Is this common hard drive not compatible? Is it being 3 TB the problem? Would a 2 TB drive work instead? I don't want to re-format the drive. I want it to be in native/Windows format and simply copy some files from my server to it as a backup.
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

Convert the disk into a GPT partitioned disk in Windows. That's probably the only way to get it working on FreeBSD.
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

Can that be done without wiping the data that is on there now?

Will 2 TB disks work without this hassle?
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

GPT or 2 TB disks may fix one of the problems. The big one is that NTFS is proprietary. Details of how it works are not available to open source authors, so supporting it is reverse engineering and guesswork. Reading it is one thing, writing to it a whole different matter. People do it, and it usually works, but...

If you have to use NTFS, a much safer way is to connect the drive to the Windows system, share it, and mount the share on the FreeBSD system. Then Windows will still do the writing.
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

My experience from one to two years ago is that NTFS support via ntfs-3g (FUSE) on FreeBSD is VERY marginal. It is maybe 90% for reading but only 50% for writing, i.e. if you want to read some files, or write a few files, it is passable (check for silent errors). If you want to bulk read or (horrors) bulk write, forget it. FAT32 support seems to be a little better.
If you have to use NTFS, a much safer way is to connect the drive to the Windows system, share it, and mount the share on the FreeBSD system. Then Windows will still do the writing.
Agreed. Or partition the disk and build a UFS filesystem on it for FreeBSD use. USB drives formatted with UFS work fine on FreeBSD, in my experience.
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

mabu said:
No luck. I plugged the disk back into my Windows machine, ran checkdisk and scandisk, ejected it and tried again:

Code:
 # ntfs-3g /dev/da0 /usbd
NTFS signature is missing.
Failed to mount '/dev/da0': Invalid argument
The device '/dev/da0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

 # ntfs-3g /dev/da0s1 /usbd
The disk contains an unclean file system (0, 0).
The file system wasn't safely closed on Windows. Fixing.
Failed to reset $LogFile: Invalid argument
Failed to sync device /dev/da0s1: Invalid argument
Failed to mount '/dev/da0s1': Invalid argument
The device '/dev/da0s1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

Any ideas?

Is this common hard drive not compatible? Is it being 3 TB the problem? Would a 2 TB drive work instead? I don't want to re-format the drive. I want it to be in native/Windows format and simply copy some files from my server to it as a backup.

Windows 7 or Windows 8?

It sounds like it has the "quick shutdown" feature enabled in Windows which doesn't actually unmount the NTFS filesystem when the computer shuts down. Accessing the disk in that mode can actually corrupt the disk and make it inaccessible in Windows.

http://www.dpreview.com/forums/post/51441960
http://superuser.com/questions/495240/h ... t-shutdown

Boot into Windows, mount the NTFS filesystem, disable fast shutdown, shutdown Windows, and then try to access the NTFS filesystem from FreeBSD. See if that improves the situation.
 
Re: Attaching an external Windows/DOS 3 TB hard drive via US

I had no idea this would be so complicated.

Is this common hard drive not compatible? Is it being 3 TB the problem? Would a 2 TB drive work instead? I don't want to re-format the drive. I want it to be in native/Windows format and simply copy some files from my server to it as a backup.

I agree with @kpa's comments on this one. It looks like it's a non-standard setup. MBR really isn't designed for disks > 2 TB.

I'd hazard a guess that Seagate have managed to find a specification-bending way to configure these disks so that the full 3 or 4 TB is available using standard MBR, which just so happens to work on all versions of Windows. They also list Mac support, although it talks about an included driver - which they may have had to tweak. Microsoft claim that only Windows XP 64bit supports GPT, but the product page for this drive says it supports XP 32bit. So If they'd done it the 'proper' way and used GPT on the >2 TB disks, they would of had to forfeit XP 32bit support, which is probably still a reasonable market. (Even if they listed only Vista+ support, they'd probably still end up with a headache from all the people who have XP and didn't check the requirements closely enough)

It generally isn't too difficult to mount an NTFS drive on FreeBSD and although I've only done it once or twice, I've found ntfs-3g pretty good as long as you don't use any of the more obscure NTFS features.

If the disk was converted to GPT I would expect it to work fairly painlessly. However, while I know Disk Management in Windows has a 'Convert to GPT' option, I don't know if it keeps the file system intact when you do it, so you may end up having to wipe the disk to do this.
 
Last edited by a moderator:
Back
Top