fbpx

Comandos Linux – Comando fdisk

Comando Linux fdisk

Atualizado: 05/04/2019 por Computer Hope

comando fdisk

O fdisk é um editor de tabela de partição de linha de comando para Linux . Pode ser usado para criar, destruir e modificar partições de disco.

Descrição

O fdisk é um programa orientado a menus para criação e manipulação de tabelas de partição. Ele compreende tabelas de partição do tipo DOS e etiquetas de disco do tipo BSD ou SUN .

O fdisk não entende GPTs (tabelas de partição GUID) e não foi projetado para partições grandes. Nesses casos, use o GNU mais avançado dividido .

O fdisk não usa o modo e os cilindros compatíveis com DOS como unidades de exibição por padrão. O antigo comportamento obsoleto do DOS pode ser ativado com as opções de linha de comando ‘ -c = dos -u = cylinders ‘.

Os discos rígidos podem ser divididos em um ou mais discos lógicos chamados partições. Essa divisão é registrada na tabela de partição, localizada no setor 0 do disco. No mundo do BSD, fala-se sobre `fatias de disco ‘e um` rótulo de disco’.

O Linux precisa de pelo menos uma partição, especificamente para seu sistema de arquivos raiz . Pode usar arquivos de troca e / ou partições de troca, mas as últimas são mais eficientes. Portanto, geralmente se deseja uma segunda partição Linux dedicada como partição swap. No hardware compatível com Intel , o BIOS que inicializa o sistema geralmente pode acessar apenas os primeiros 1024 cilindros do disco. Por esse motivo, as pessoas com discos grandes geralmente criam uma terceira partição, alguns MB grandes, geralmente montados em / boot , para armazenar a imagem do kernel e alguns arquivos auxiliares necessários no momento da inicialização, para garantir que esse material esteja acessível para o BIOS. Pode haver razões de segurança, facilidade de administração e backup ou teste para usar mais do que o número mínimo de partições.

Sintaxe

  fdisk [-uc] [-b setoresize ] [-C cyls ] [-H heads ] [-S sets ]
  fdisk -l [-u] [ dispositivo ...]
  partição fdisk -s ...
  fdisk -v
  fdisk -h

Opções

-b setorizeEspecifique o tamanho do setor do disco. Os valores válidos são 512 , 1024 , 2048 ou 4096 . Os kernels recentes sabem o tamanho do setor. Use isso apenas em kernels antigos ou para substituir as idéias do kernel. Desde o util-linux-2.17, o fdisk diferencia o tamanho do setor lógico e físico. Esta opção altera os dois tamanhos de setor para setorizar .
-c [ = modo ]Especifique o modo de compatibilidade, ‘ dos ‘ ou ‘ nondos ‘. O padrão é o modo não DOS. Para compatibilidade com versões anteriores, é possível usar a opção sem o argumento mode ; nesse caso, o padrão é usado. Observe que o argumento do modo opcional não pode ser separado da opção -c por um espaço; a forma correta é, por exemplo, ‘ -c = dos ‘.
-C cilsEspecifique o número de cilindros do disco. Isso seria uma coisa muito estranha de se querer fazer, mas, se assim o desejar, esta opção o fará.
-H cabeçasEspecifique o número de cabeças do disco. Não é o número físico, mas o número usado para as tabelas de partição. Os valores razoáveis ​​são 255 e 16 .
Seitas -SEspecifique o número de setores por faixa do disco. Não é o número físico, mas o número usado para as tabelas de partição. Um valor razoável é 63 .
-hImprima a ajuda e saia.
-euListar as tabelas de partição para os dispositivos especificados e sair. Se nenhum dispositivo for fornecido, os mencionados em / proc / partitions (se houver) serão usados.
-u [ = unidade ]Ao listar tabelas de partição, mostre os tamanhos em ‘ setores ‘ ou em ‘ cilindros ‘. O padrão é mostrar tamanhos em setores. Para compatibilidade com versões anteriores, é possível usar a opção sem o argumento de unidades ; nesse caso, o padrão é usado. Observe que o argumento da unidade opcional não pode ser separado da opção -u por um espaço; a forma correta é, por exemplo, ‘ -u = cilindros ‘.
-vImprima as informações da versão e saia.

Dispositivos

O dispositivo geralmente é / dev / sda , / dev / sdb , etc. Um nome de dispositivo refere-se a todo o disco. Sistemas antigos sem libata (uma biblioteca usada dentro do kernel do Linux para suportar dispositivos e controladores de host ATA ) fazem a diferença entre os discos IDE e SCSI. Nesses casos, o nome do dispositivo será / dev / hd * ( IDE ) ou / dev / sd * ( SCSI ).

A partição é um nome de dispositivo seguido por um número de partição. Por exemplo, / dev / sda1 é a primeira partição no primeiro disco rígido do sistema.

Etiquetas de disco

Um rótulo de disco do tipo BSD / SUN pode descrever 8 partições, a terceira das quais deve ser uma partição “disco inteiro”. Não inicie uma partição que realmente use seu primeiro setor (como uma partição de troca) no cilindro 0, pois isso destruirá o rótulo do disco.

Um rótulo de disco do tipo IRIX / SGI pode descrever 16 partições, a décima primeira das quais deve ser uma partição `volume ‘inteira, enquanto a nona deve ser rotulada como` cabeçalho do volume’. O cabeçalho do volume também cobrirá a tabela de partição, ou seja, inicia no bloco zero e se estende por padrão em cinco cilindros. O espaço restante no cabeçalho do volume pode ser usado pelas entradas do diretório de cabeçalho. Nenhuma partição pode se sobrepor ao cabeçalho do volume. Além disso, não altere seu tipo ou crie algum sistema de arquivos, pois você perderá a tabela de partições. Use esse tipo de etiqueta somente ao trabalhar com Linux em máquinas IRIX / SGI ou discos IRIX / SGI no Linux.

Uma tabela de partição do tipo DOS pode descrever um número ilimitado de partições. No setor 0, há espaço para a descrição de 4 partições (chamadas “primárias”). Um deles pode ser uma partição estendida; esta é uma caixa contendo partições lógicas, com descritores encontrados em uma lista vinculada de setores, cada um precedendo as partições lógicas correspondentes. As quatro partições primárias, presentes ou não, obtêm os números 1-4. Partições lógicas começam a numerar de 5.

Em uma tabela de partição do tipo DOS, o deslocamento inicial e o tamanho de cada partição são armazenados de duas maneiras: como um número absoluto de setores (fornecido em 32 bits) e como um triplo de Cilindros / Cabeças / Setores (fornecido em 10 + 8 +6 bits). O primeiro é bom; com setores de 512 bytes, isso funcionará até 2 TB . Este último tem dois problemas. Primeiro, esses campos C / H / S podem ser preenchidos apenas quando o número de cabeças e o número de setores por faixa são conhecidos. E segundo, mesmo que saibamos quais devem ser esses números, os 24 bits disponíveis não são suficientes. O DOS usa apenas C / H / S, o Windows usa ambos, o Linux nunca usa C / H / S.

Se possível, o fdisk obterá a geometria do disco automaticamente. Essa não é necessariamente a geometria física do disco (na verdade, os discos modernos realmente não têm nada parecido com uma geometria física, certamente não algo que possa ser descrito no formulário simplista de Cilindros / Cabeças / Setores), mas é a geometria do disco que o MS-DOS usa para a tabela de partição.

Normalmente, tudo corre bem por padrão, e não há problemas se o Linux for o único sistema no disco. No entanto, se o disco precisar ser compartilhado com outros sistemas operacionais, geralmente é uma boa ideia permitir que um fdisk de outro sistema operacional faça pelo menos uma partição. Quando o Linux inicializa, ele olha para a tabela de partições e tenta deduzir qual geometria (falsa) é necessária para uma boa cooperação com outros sistemas.

Sempre que uma tabela de partição é impressa, uma verificação de consistência é realizada nas entradas da tabela de partições. Essa verificação verifica se os pontos de partida e de saída físicos e lógicos são idênticos e se cada partição inicia e termina em um limite do cilindro (exceto para a primeira partição). Algumas versões do MS-DOS criam uma primeira partição que não inicia no limite do cilindro, mas no setor 2 do primeiro cilindro. As partições que começam no cilindro 1 não podem começar no limite do cilindro, mas é improvável que isso cause dificuldades, a menos que você tenha o OS / 2 em sua máquina.

Um sync () e um ioctl (BLKRRPART) (reler tabela de partição do disco) são executados antes de sair quando a tabela de partição é atualizada. Há muito tempo, era necessário reiniciar após o uso do fdisk. Isso não é mais necessário; de fato, deve-se notar que o kernel e o hardware do disco podem armazenar dados em buffer, portanto, a reinicialização imediatamente após o particionamento com o fdisk pode ser desaconselhável.

Aviso do DOS 6.x

O comando DOS 6.x FORMAT procura algumas informações no primeiro setor da área de dados da partição e trata essas informações como mais confiáveis ​​do que as informações na tabela de partições. O DOS FORMAT espera que o DOS FDISK limpe os primeiros 512 bytes da área de dados de uma partição sempre que ocorrer uma alteração de tamanho. O DOS FORMAT examinará essas informações extras, mesmo que o sinalizador / U seja fornecido: este é considerado um bug no DOS FORMAT e no DOS FDISK .

A conclusão é que, se você usar cfdisk ou fdisk para alterar o tamanho de uma entrada da tabela de partição do DOS, também deverá usar o dd para zerar os primeiros 512 bytes dessa partição antes de usar o DOS FORMAT para formatar a partição. Por exemplo, se você estivesse usando cfdisk para criar uma entrada da tabela de partição DOS para / dev / sda1 , (depois de sair do fdisk ou cfdisk e reiniciar o Linux para que as informações da tabela de partição sejam válidas), você usaria o comando ” dd if = / dev / zero de = / dev / sda1 bs = 512 count = 1 “para zerar os primeiros 512 bytes da partição.

AvisoTENHA MUITO CUIDADO Se você usar o comando dd , um pequeno erro de digitação poderá tornar todos os dados em seu disco inúteis.

Para obter melhores resultados, você sempre deve usar um programa de tabela de partição específico do SO. Por exemplo, você deve fazer partições DOS com o programa DOS FDISK e Linux com o programa Linux fdisk ou Linux cfdisk .

Exemplos

GorjetaVocê deve ter acesso root para este comando funcionar.

  fdisk -l

Liste as informações da partição do computador em que você está conectado. Abaixo está um exemplo de como essa saída pode ser:

  Disco / dev / sda: 250,0 GB, 250059350016 bytes 255 cabeças, 63 setores / faixa, 30401 cilindros
 Unidades = cilindros de 16065 * 512 = 8225280 bytes
 Sistema de identificação de blocos finais de inicialização do dispositivo
 / dev / sda1 * 1 191 1534176 83 Linux
 / dev / sda2 192 2231 16386300 83 Linux
 / dev / sda3 2232 3506 10241437+ 83 Linux
 / dev / sda4 3507 30401 216034087+ 5 Estendido
 / dev / sda5 3507 3767 2096451 82 Troca de Linux / Solaris
 / dev / sda6 3768 3832 522081 83 Linux
 / dev / sda7 3833 30401 213415461 83 Disco Linux
 / dev / sdb: 250.0 GB, 250059350016 bytes 255 cabeças, 63 setores / faixa, 30401 cilindros
 Unidades = cilindros de 16065 * 512 = 8225280 bytes
 Sistema de identificação de blocos finais de inicialização do dispositivo
 / dev / sdb1 * 1 30401 244196001 83 Linux

cfdisk – Uma versão mais amigável do fdisk .
dd – Copie e converta a codificação de arquivos.
mkfs – Construa um sistema de arquivos Linux, geralmente uma partição do disco rígido.

18 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.