# [Solved]NTFS signature missing

## Rr2516

I'm trying to mount my media hard drive that I share between windows and linux. This was not an issue with ubuntu so I know it can be done, I'm just not sure how. 

The drive is detected by fdisk.

Here is the output of fdisk -l

```

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xec79d9c0

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1      121601   976757760    7  HPFS/NTFS

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xa8a8a8a8

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         393     3156741   83  Linux

/dev/sdc2             394        3005    20980890   83  Linux

/dev/sdc3            3006       29114   209720542+  83  Linux

/dev/sdc4           29115       31465    18884407+  83  Linux

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xda62bc3f

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1      121602   976761528+  42  SFS

```

I'm trying to mount the /dev/sdb1. The fact that it's detected as SFS is a little odd to me. While in Windows 7 the drive is detected as NTFS and Ubuntu detected it as NTFS as well. I've searched for information on what it means for it to be designated SFS and found nothing.

I would really appreciate any advice,

Some more information:

Both Fuse and NTFS-3g are installed.

running 

```
mount -t ntfs-3g /dev/sdb1 /mnt/media
```

is what generates the error NTFS signature missing.

This prompted running fdisk -l

Does anyone know what SFS means? Is the drive being detected as a different file system?

Thanks,

RrLast edited by Rr2516 on Fri Feb 25, 2011 4:54 pm; edited 1 time in total

----------

## NeddySeagoon

Rr2516,

```
   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1      121602   976761528+  42  SFS 
```

fdisk looks up the partition type from the ID byte (0x42) in this case and finds its SFS.

Nothing other than fdisk cares as the partition ID in the partition table is ignored by everything else, except in one corner case. If its 0xfd, that Linux raid autodetect ans is used by the kernel to detect raid components that its should attempt to assemble into working raid sets.

Try using fdisk to change the partition type to 7.  Thats totally harmless to your data and is what an NTFS partition should be.

I'll be interested to know the result.

----------

## Rr2516

As you can see I successfully changed the ID to 7...but I still can't mount the drive.

```

fdisk -l

...

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xda62bc3f

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1      121602   976761528+   7  HPFS/NTFS

 ~ # mount -t ntfs /dev/sdb1 /mnt/media

mount: wrong fs type, bad option, bad superblock on /dev/sdb1,

       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try

       dmesg | tail  or so

~ # mount -t ntfs-3g /dev/sdb1 /mnt/media

NTFS signature is missing.

Failed to mount '/dev/sdb1': Invalid argument

The device '/dev/sdb1' 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?
```

----------

## Rr2516

So I started to think about other issues that could be causing this.

/dev/sdb is a Western Digital Caviar Green drive with sector sizes of 4096.

fdisk does not detect this. Is it possible to make it aware of this fact?

----------

## Rr2516

After booting back into windows I was unable to access the disk with id = 7 and so I had to set it back to 42.

is there anyway I can adjust settings in linux to allow reading a disk with this setting?

----------

## NeddySeagoon

Rr2516,

Most HDD with 4k physical sector sizes lie to the operating system becase most operating systems expect a 512b physical sector size.

To make up for this, the drive will fake a 512b sector size by doing read/modify/write operations.  This is very slow, which is why its important to partition drives like this so that partitions are aligned on 4kb boundaries. I  have head of factors of 30x speed differences.

fdisk did not used to do this and I am not totally sure of what your    

```
Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1      121602   976761528+  42  SFS 
```

really means.  Anyway, thats not an immediate issue.  Repartitioning is destructive to the data, so put alignment chechs on the back burner until the partition mounts. When the partition mounts, its easy enough to test.

You appear to have proved that Windows does use the Partition ID byte and insists on it being 42 for that partition.

Google says 

```
42 Windows 2000 dynamic extended partition marker

    If a partition table entry of type 0x42 is present in the legacy partition table, then W2K ignores the legacy partition table and uses a proprietary partition table and a proprietary partitioning scheme (LDM or DDM). As the Microsoft KnowledgeBase writes: Pure dynamic disks (those not containing any hard-linked partitions) have only a single partition table entry (type 42) to define the entire disk. Dynamic disks store their volume configuration in a database located in a 1-MB private region at the end of each dynamic disk.

```

This means you need Windows Dynamic Disks support in your kernel. Thats under 

```
Advanced partition selection
```

 choose 

```
Windows Logical Disk Manager (Dynamic Disk) 

support 
```

Read the in kernel help on that option. The partition ID of 42 is correct.

----------

## Rr2516

NeddySeagoon,

I'm in love with you. It worked! Thank you so much for helping me!

----------

