fdisk - preciso ou posso criar um sistema de arquivos diretamente?

9

Eu li sobre o fdisk ser capaz de criar partição / que é dividir um disco físico em várias partições lógicas.

Se pretendo utilizar todo o disco como um todo, ainda é necessário para mim

1) para fdisk e criar uma partição primária que ocupe o tamanho de todo o disco ou

2) posso apenas ir em frente e mkfs.ext4 sem fazer nenhum fdisk?

3) E por que ->

Editado -> Depois de ler todos os comentários (de alguns sim e não), estou pensando que seria bom se alguém pudesse me apontar o que realmente faz o fdisk? para que eu possa entender mais sobre por que realmente precisamos dele em comparação com o que não precisamos.

Eu tentei pesquisar no Google, mas a maioria dos sites está ensinando como fdisk, mas não o porquê (ou a maior parte do porquê é criar um sistema de inicialização dupla), mas quero saber por que é necessário mesmo para uma única partição.

Também tentei o mkfs em um disco diretamente e montei-o para armazenar dados e arquivos (não parece ter nenhum problema) - então isso me deixa ainda mais curioso sobre o que o fdisk realmente faz no disco de armazenamento.

Novato
fonte

Respostas:

5

Não, você não precisa disso. Seu disco e sistema de arquivos funcionarão bem sem a tabela de partição. Alguns BSDs mais antigos ainda faziam isso por padrão se você selecionava perigosamente dedicado .

No entanto, é altamente recomendado por razões de compatibilidade.


Um pouco mais detalhado:

Você pode executar o mkfs.ext4 diretamente em / dev / sdb. Isso vai funcionar. Você pode montar isso sem problemas. ( mkfs.ext4 -F -F /dev/sdb)

Você pode configurar um disco inicializável dessa maneira. Ainda será necessário algum código para inicializar. O que significa que você precisa pular o primeiro bit dos discos. (por exemplo, o espaço usado classicamente pelo MBR e os poucos setores tradicionais além dele). Tecnicamente, ainda não está usando o MBR, embora você perca espaço equivalente.

Para qualquer configuração moderna, porém, esses poucos setores são uma pequena fração da capacidade da unidade. Por isso, recomendo usar o GPT (ou em sistemas antigos MBR). Mas você pode prescindir.

Hennes
fonte
Parece que o mkfs.ext4 usa um parâmetro -F para forçar a criação do sistema de arquivos, mesmo que pareça que o destino não seja uma partição ou mesmo que o dispositivo de destino pareça estar montado! Eu acho que o que aponta para os riscos inerentes ao fazê-lo ...
David W
Acordado. E "esta opção deve ser especificada duas vezes" é uma precaução secundária.
Hennes
@Hennes Eu atualizei meu post original, espero que você dê uma olhada
Noob
11
Compare o fdisk com a escrita de um índice para um livro. As pessoas esperam um índice e ficam confusas quando não há. Um livro sem índice e com uma única história / capítulo ainda funcionará.
Hennes
1

Você precisa criar uma tabela de partição mesmo se quiser usar todo o disco físico. Pense na tabela de partições como o "índice" dos sistemas de arquivos, identificando os locais de início e parada de cada partição, bem como o sistema de arquivos usado para ela.

David W
fonte
mesmo que eu pretendesse usar o armazenamento como um dispositivo bruto? eu ainda preciso fdisk isso? i ler sobre fdisk criação de partição, mas eu não entendo por que ele é necessário
Noob
11
Se eu entregar a você um disco com apenas bytes brutos e nenhuma outra informação, como você o interpretaria para extrair dados dele? Você não pôde. É uma simplificação excessiva, mas é o que uma tabela de partição faz. Ele diz: "Aqui é onde os dados são armazenados no disco (start / stop localização / cilindro / faixa), e aqui está como ele é organizado (sistema de arquivos)"
David W
Na verdade, você poderia. Pegue um disquete. Assumimos uma partição / volume. Nós especificamos o sistema de arquivos usado (já que não temos MBR para nos dizer o que é usado, precisamos especificá-lo manualmente ou inseri-lo em / etc / fstab) e ler as informações para o sistema de arquivos. Exemplo clássico: Disquetes e FAT12.
Hennes
11
Não há informações na tabela de partições padrão que ainda não estejam, ou poderiam ser facilmente criadas, no registro de inicialização do volume do sistema de arquivos. Qualquer dependência do software em uma tabela MBR / partição para reconhecer e / ou inicializar adequadamente a partir de um sistema de arquivos é totalmente artificial.
kreemoweet
11
Não, você não precisa de uma tabela de partição e não, o tipo de sistema de arquivos conforme indicado na tabela de partição é ignorado. Em vez disso, sequências bem definidas de bytes ("mágicas") são usadas para determinar o tipo de sistema de arquivos. Se você deseja inicializar a partir do disco, é uma coisa diferente, é claro.
Daniel B
0

Você pode criar um sistema de arquivos em uma unidade vazia, mas isso raramente funciona. Alguns pendrives são organizados assim. Mas para o disco rígido você não quer.

Se for sua unidade principal / única, ela não será inicializável se você a criar como tal. O que o BIOS faz é ler o primeiro setor da unidade e executá-lo (também conhecido como salto para o primeiro byte). Você realmente não deseja executar metadados do sistema de arquivos? Felizmente, você não precisará, pois o BIOS contém proteção contra falhas - os dois últimos bytes desse setor precisam ser 0x55 0xaa para que o BIOS considere a unidade inicializável. E se você possui um sistema UEFI, é ainda pior, pois o UEFI exige uma partição FAT distinta para funcionar.

Se for o seu disco rígido secundário, isso pode funcionar, mas ainda é desencorajado - nenhuma detecção automática funcionará, a maioria das ferramentas indicará que a unidade não está formatada e exige particionamento (o que destruirá seus dados).

Por outro lado, às vezes é possível fazê-lo, mas de uma maneira muito imprudente, exigindo um conhecimento intrincado da organização em disco de vários sistemas de arquivos. Uma vez vi uma descrição de uma imagem que poderia ser gravada em um CD inicializável, em uma unidade USB inicializável ou até inicializada por Macs mais antigos, mas isso estava no nível de 'Se eu colocar o comprimento do sistema de arquivos em xxx, quando é executado por outra arquitetura e é executado como uma comparação de registro inofensiva '.

Torinthiel
fonte
Informações estendidas sobre o exemplo do pendrive: Ele também é usado em disquetes e pendrives sem MBR, onde geralmente é chamado de 'formato superfloppy'.
Hennes 30/06
@Torinthiel, eu atualizei meu post original, espero que você dê uma olhada
Noob
-1

Mesmo se você pretende usar o disco inteiro, ele ainda precisará ser particionado. Nesse caso, com uma partição do tamanho do próprio disco (quase, pelo menos. A tabela de partições ocupa algum espaço. Veja abaixo os detalhes sobre isso).

Quando eu apresento às pessoas o conceito de partições e sistemas de arquivos para as pessoas que normalmente pensam em "discos rígidos, vazios ou cheios" é o seguinte: O disco rígido é o edifício, enquanto a partição é a sala real. Você formata uma partição com um sistema de arquivos específico e a torna utilizável, e na analogia do prédio, isso corresponde à declaração de um tipo de ambiente, como cozinha x quarto (em outras palavras, como usá-lo).

Agora, voltando à sua pergunta original, não é possível colocar um sistema de arquivos em uma unidade não particionada, pois a tabela de partições (os primeiros 512 bytes da unidade) contém informações sobre onde as partições podem ser encontradas na unidade física. Para você ter um sistema de arquivos, ele terá que iniciar em algum lugar que a tabela de partição possa fazer referência, e não poderá fazer referência a um sistema de arquivos que não tenha um espaço definido, ou seja, a partição.

E se quisermos colocar a tabela de partição na analogia do edifício, acho que isso corresponderia a uma planta do edifício.

Atualização refletindo sua edição de perguntas: O que o fdisk faz é permitir que você selecione certos aspectos de uma partição, como tamanho, tipo e localização física, como tenho certeza que você já sabe. O que o fdisk faz é convertê-los em uma entrada da tabela de partições. Basicamente, ele faz com que a tabela de partições esteja atualizada com uma "lista" de todas as partições no disco, cada item da lista informando qual partição pode ser encontrada onde e que tipo é. Isso é para que um sistema operacional saiba onde acessar os dados nas partições.

Jarmund
fonte
11
Não. Não precisa ser. Eu usei sem. Ainda é altamente recomendado, mas você pode prescindir.
Hennes 30/06
@Jarmund Eu atualizei meu post original, espero que você dê uma olhada
Noob