
Estou tentando aprender e especialmente entender como funcionam o particionamento e os gerenciadores de inicialização. O problema é que eu tenho tudo distorcido na cabeça. No final não entendo mais nada.
Eu sei como particionar um disco rígido usando fdisk
, parted
, gdisk
. Tentei carregar arquivos iso em cadeia (como ubuntu.iso, arch.iso) com 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 formatei esta partição como ext2 :
$ mkfs.ext2 /dev/sdb1
Agora quero instalar o MBR com syslinux (retirado dos poucos tutoriais que encontrei)
$ syslinux -m /dev/sdb1
syslinux: invalid media signature (not a FAT filesystem?)
Portanto, precisa ser uma partição FAT. No entanto, li que o syslinux suporta arquivos Fat32, ext2, ext3, ext4 (https://wiki.archlinux.org/index.php/syslinux#Installation)
1) O que há de errado aqui, já que o syslinux deveria suportar partições ext2?
Então formatei a partição como uma partição Fat32:
$ mkfs.vfat -F 32 /dev/sdb1
Agora a instalação do MBR syslinux funciona:
$ syslinux -m /dev/sdb1
$ syslinux -i /dev/sdb1
2) Preciso instalar um MBR, o syslinux não é compatível com GPT? Eu li documentações que GPT
têm mais vantagens MBR
, como permitir a criação de muito mais partições primárias. Eu entendi mal?
Descobri então que preciso sinalizar a partição como inicializável (http://www.linuxquestions.org/questions/linux-general-1/booting-iso-images-from-a-usb-disk-917161/). Posso fazer isso com gdisk
? Parece-me que não é possível porque o manual não fala sobre sinalização de inicialização. Por outro lado, fdisk
permite-me fazê-lo. No entanto, aqui está outro problema:
$ 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 esse MBR? Como o MBR e o GPT podem coexistir assim?
Como você pode ver, assim que tentei fazer manipulações mais aprofundadas nas partições, percebi que tudo estava confuso. Eu agradeceria sinceramente se você pudesse responder às minhas perguntas e, especialmente, me fornecer documentação adicional:https://wiki.archlinux.orgehttp://www.syslinux.org/wikina verdade, tornou meu entendimento pior do que nunca. Muito obrigado.
Responder1
1) O que há de errado aqui, já que o syslinux deveria suportar partições ext2?
Sim, o Syslinux suporta ext2 fs via Extlinux. Se você estiver usando um sistema baseado em UEFI/EFI, precisará de uma partição fat32. Somente para GPT você não precisa ter uma partição fat32, basta usar a tradicional. ou seja, extensão?
2) Preciso instalar um MBR, o syslinux não é compatível com GPT? Li nas documentações que o GPT tem mais vantagens sobre o MBR, como permitir a criação de muito mais partições primárias. Eu entendi mal?
Depende de você o que deseja usar, tanto a tabela de partição msdos quanto o gpt são suportados.
No caso do 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 especialista e depois use 'a' para definir atributos.
3) O gdisk cria automaticamente um GPT?
Sim, visitehttp://linux.die.net/man/8/gdisk
Para saber como fazer, visitehttp://wiki.gentoo.org/wiki/Syslinux
Responder2
Acho que o problema/confusão aqui está na terminologia, primeiro dizendo "instalando um MBR" e depois "por que um MBR vem junto com um GPT". O MBR é algo necessário para o disco funcionar, o GPT é um esquema de particionamento que existe (é criado) além do MBR. Softwares de particionamento, como o gparted, apresentam MBR e GPT como duas coisas mutuamente exclusivas. GPT ou falta de GPT teria sido mais preciso. Existem outros sistemas que utilizam outros esquemas além do GPT, ainda definidos dentro do MBR do disco. Então, para entender melhor em ambos os esquemas de particionamento, o primeiro setor 0-1 é sempre um MBR, a definição do GPT começa depois dele. O que chamamos de particionamento MBR e particionamento estendido é algo sem o GPT (que não precisa de distinção para estendido, permite quantas peças cabem no tamanho mínimo de uma partição e no tamanho do disco).
Você não instala um MBR, ele existe por padrão e é melhor que esteja lá ou seu disco será um lixo. Você instala coisas no MBR, como o core.img do grub ou o equivalente do syslinux, que é um software que ajuda você a ir para a próxima etapa. Um pequeno sistema operacional que ajuda você a "reiniciar" outro sistema específico. Existe uma definição de GPT no MBR para que o esquema GPT funcione.
São esses sistemas operacionais *.img que lhe dão um prompt para fazer as coisas manualmente se /boot/grub ou /boot/syslinux forem apagados ou ainda não tiverem sido criados. Se você mexer nas instalações por tempo suficiente, algum dia você verá isso. GRUB> tente ajuda nesse ponto. A maneira como isso me ajuda a entender é que este sistema operacional bootloader produz esse menu ou prompt e aí você especifica para reinicializar o grub/syslinux para o sistema operacional de destino específico. Se não fosse pela reinicialização, o bootloader teria sido o processo 1 PID1.
Parte do que estou dizendo pode não ser 100% preciso, mas acho que para 96,4% dos usuários do Linux isso ajuda a seguir em frente com o que desejam fazer. Os desenvolvedores de bootloader e aqueles que trabalham com software para backup, cópia, compactação de imagens de discos, etc. precisarão de detalhes mais precisos. Se você pesquisar, encontrará palestras de uma hora sobre os problemas e a dinâmica daquela primeira pequena célula do disco e o que deve estar lá para que todo o resto exista. Nossos sistemas estão presos a esse fio de informações muito confidenciais. É como o seu mapa para o labirinto, caso contrário você é apenas um lanche para o Minotauro.