Compreendendo o syslinux e o particionamento

2

Estou tentando aprender e especialmente entender como o particionamento e os carregadores de inicialização funcionam. O problema é que eu tenho tudo distorcido em minha mente. No final, não entendo mais nada.

Eu sei como particionar um disco rígido usando fdisk , parted , gdisk . Eu tentei chainloading arquivos iso (como ubuntu.iso, arch.iso) com o syslinux.

Para ilustrar minha confusão, aqui está o que fiz: Criando uma partição linux:

$ gdisk /dev/sdb
Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-7821278, default = 36) or {+-}size{KMGTP}: 
Last sector (36-7821278, default = 7821278) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): p
Disk /dev/sdb: 7821312 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F7F2BE49-B8D8-4910-8E69-381DEBD954DC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7821278
Partitions will be aligned on 4-sector boundaries
Total free space is 2 sectors (1024 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              36         7821278   3.7 GiB     8300  Linux filesystem

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.

Então eu formatei essa partição como um ext2:

$ mkfs.ext2 /dev/sdb1

Agora eu quero instalar o MBR com o syslinux (tirado dos poucos tutoriais que encontrei)

$ syslinux -m /dev/sdb1
syslinux: invalid media signature (not a FAT filesystem?)

Então, precisa ser uma partição FAT. No entanto, eu li que o syslinux suporta o arquivo Fat32, ext2, ext3, ext4 ( link )

1) O que está errado aqui, já que o syslinux deve suportar partições ext2?

Então eu formatei a partição como uma partição Fat32:

$ mkfs.vfat -F 32 /dev/sdb1

Agora a instalação do MBR do syslinux funciona:

$ syslinux -m /dev/sdb1
$ syslinux -i /dev/sdb1

2) Eu tenho que instalar um MBR, não é compatível com o syslinux GPT? Eu li nas documentações que GPT tem mais vantagens sobre MBR , como permitir a criação de mais partições primárias. Eu entendi mal?

Em seguida, descobri que preciso sinalizar a partição como inicializável ( link ). Posso fazer isso com gdisk ? Parece-me que não é possível, pois o manual não fala sobre a sinalização de inicialização. Por outro lado, fdisk me permite fazê-lo. No entanto, aqui é outra questão:

$ fdisk /dev/sdb

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

3) O gdisk cria automaticamente um GPT?

$ gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

4) De onde vem este MBR? Como o MBR e o GPT podem coexistir assim?

Como você pode ver, assim que tentei fazer manipulações de partições mais profundas, percebi que tudo estava misturado. Eu agradeceria sinceramente se você pudesse responder às minhas perguntas e, especialmente, me fornecer documentação adicional: link e link na verdade tornou minha compreensão pior do que nunca. Muito obrigado.

    
por kaligne 16.10.2014 / 20:32

1 resposta

1

1) What is wrong here, since syslinux is supposed to support ext2 partitions?

Sim, o Syslinux suporta ext2 fs via Extlinux. Se você estiver usando um sistema baseado em UEFI / EFI, precisará de uma partição fat32. Para GPT só você não precisa ter uma partição fat32, basta ir com o tradicional. ou seja, ext?

2) Do I have to install a MBR, isn't syslinux compatible with GPT? I read on documentations that GPT has more advantages over MBR, such as allowing the creation of way more primary partitions. Did I misunderstand?

Cabe a você o que você deseja usar, tanto os msdos da tabela de partição quanto o gpt são suportados.

No caso da GPT, você pode usar o gdisk para definir o sinalizador de inicialização do BIOS legado. É necessário ter um sinalizador de inicialização do BIOS legado na partição de inicialização. Depois de entrar no menu gdisk, use 'x' para entrar no modo expert e, em seguida, use 'a' para definir os atributos.

3) Does gdisk automaticaly create a GPT ?

Sim, visite o link

Para saber como, visite o link

    
por 16.10.2014 / 22:12