Espero que eu possa responder de uma maneira que faça sentido para você. Um sistema de arquivos no Linux geralmente é composto de uma partição formatada de uma das várias maneiras (tem que escolher!) Em que você armazena seus arquivos. Seja seus arquivos de sistema ou pessoais ... todos eles são armazenados em um sistema de arquivos. Esta parte você parece entender.
Mas e se você particionar o disco rígido para ter mais de uma partição (pense em torta de maçã cortada em pedaços) ou adicionar um disco rígido adicional (talvez um pendrive?). Por uma questão de argumento, todos eles também têm sistemas de arquivos.
Quando você olha os arquivos no seu computador, vê uma representação visual dos dados no sistema de arquivos da sua partição. Cada nome de arquivo corresponde ao que é chamado de inode, que é onde seus dados, nos bastidores, realmente vivem. Um link físico permite que você tenha vários "nomes de arquivos" (por falta de uma descrição melhor) que apontam para o mesmo inode. Isso funciona apenas se esses links físicos estiverem no mesmo sistema de arquivos. Um link simbólico aponta para o "nome do arquivo", que é vinculado ao inode que contém seus dados. Perdoe minha arte bruta, mas espero que isso explique melhor.
image.jpg image2.jpg
\ /
[your data]
aqui, image.jpg e image2.jpg apontam diretamente para seus dados. Ambos são hardlinks. Contudo...
image.jpg <----------- image2.jpg
\
[your data]
Neste exemplo (bruto), image2.jpg não aponta para seus dados, mas sim para image.jpg ... que é um link para seus dados.
Os links simbólicos podem funcionar além dos limites do sistema de arquivos (assumindo que o sistema de arquivos esteja conectado e montado, como o seu pendrive). No entanto, um link físico não pode. Ele não sabe nada sobre o que está no seu outro sistema de arquivos ou onde seus dados estão armazenados.
Espero que isso ajude a fazer melhor sentido.