Existem três conceitos separados aqui:
- Um dispositivo de bloco , que é um dispositivo físico ou virtual que representa uma série de blocos de dados de tamanhos iguais. Os HDDs são dispositivos de bloco. Assim são os CDs de dados.
- Um sistema de arquivos , que define uma maneira de armazenar dados em um dispositivo de bloco que representa uma série de arquivos e diretórios e outras informações do sistema de arquivos. O ext3 é um sistema de arquivos, assim como o ISO9660.
- Um arquivo de imagem é uma cópia dos dados em um dispositivo de bloco, na forma de um arquivo (em outro sistema de arquivos). Arquivos de imagem podem ter qualquer extensão;
.img
é comum.
Um arquivo .iso
é geralmente um arquivo de imagem de um dispositivo de bloco contendo um sistema de arquivos ISO9660 . Ele contém uma representação exata dos dados armazenados em um CD. Analogamente, você poderia ter um arquivo .img
(chame de .ext3
se você preferir) que é um arquivo de imagem de um dispositivo de bloco contendo um sistema de arquivos ext3 . Esta é uma maneira comum de distribuir imagens de disquete ou USB inicializáveis. O nome é arbitrário, .iso
é exatamente o que chamamos de arquivos de imagem contendo um sistema de arquivos ISO9660 (ou, às vezes, um sistema de arquivos UDF, que é mais moderno).
Você não pode montar diretamente os arquivos de imagem, pois eles não são dispositivos de bloco, mas meramente uma cópia dos dados em um dispositivo de bloco. No entanto, o Linux e outros sistemas operacionais possuem um recurso chamado loop devices que permite que um arquivo de imagem seja acessado como um dispositivo de bloco. Para montar um arquivo ISO, você primeiro cria um dispositivo de loop que representa um dispositivo de bloco virtual com o mesmo conteúdo do arquivo ISO. Então você pode montá-lo como se fosse um CD físico, ou como se fosse um drive USB contendo um sistema de arquivos ext3, ou qualquer outra coisa. O comando mount
pode fazer isso para você automaticamente, mas sob o capô são etapas separadas.
As partições são uma maneira de dividir um dispositivo de bloco em vários dispositivos de bloco lógicos menores. Partições são opcionais. Um CD é análogo a uma unidade USB não particionada ou a um disquete nesse aspecto, em que o sistema de arquivos é armazenado em todo o dispositivo sem tabela de partições. Os arquivos ISO, portanto, não contêm uma tabela de partição. Nada impede você de, digamos, criar um sistema de arquivos ISO9660 em uma partição HDD. Quando você faz partições, um arquivo de imagem pode ser de uma única partição ou de todo o dispositivo físico, incluindo a tabela de partições, mas os CDs não são particionados, portanto a distinção é irrelevante para imagens ISO. / p>
Você não tem para montar um dispositivo - ou um arquivo de imagem - para acessar os arquivos contidos nele. Alguns aplicativos e bibliotecas têm a capacidade de acessar os dados diretamente, sem envolver o sistema operacional. Eles simplesmente entendem o sistema de arquivos diretamente e têm código que imita o que o SO faz quando acessa arquivos em um sistema de arquivos. É por isso que existem ferramentas que podem mostrar o conteúdo de um arquivo ISO, sem realmente montá-lo através do sistema operacional. A montagem é um conceito de sistema operacional, mas não é a única maneira de acessar dados em um dispositivo de bloco. Algumas pessoas podem considerar a simples ação de fazer isso "montagem" de uma forma.
O que você monta um dispositivo (ou um arquivo ISO através de um dispositivo de loopback) é irrelevante. É exatamente aí que na hierarquia de caminho você pergunta ao sistema operacional para mostrar o conteúdo de um dispositivo. No Linux, você normalmente escolheria um diretório em algum sistema de arquivos já montado. Mas nada impede que você, digamos, inicialize de um CD e peça ao kernel para montá-lo como o sistema de arquivos raiz. É claro que, como um arquivo ISO é, bem, um arquivo, ele provavelmente existe em algum sistema de arquivos para começar, o que você precisa ter montado em algum lugar para acessar o ISO.