Cross Device Link

Under Unix, each file in a file system has an inode number. This inode stores the various times (creation, modification, access), permissions, and where the actual data for a file is physically stored on the disk. Each instance of a filesystem has a set of inodes and these are numbered. A directory is a "normal" file that contains a filename and an inode number, which refers to the inode of that number on the same filesystem. More than one filename can point to a specific inode. Or, in special cases, no directories can point to an inode (but that file will still exist), for instance if the file is open but has been removed. Having more than one filename refer to one inode is called a HardLink.

Now, since inode numbers are only unique on the filesystem that they exist, you cannot create a HardLink across a filesystem boundary, if you do you will get a EXDEV.