{"id":16101,"date":"2024-08-09T10:27:47","date_gmt":"2024-08-09T13:27:47","guid":{"rendered":"https:\/\/categoriaoutros.com.br\/?p=16101"},"modified":"2024-08-09T10:27:50","modified_gmt":"2024-08-09T13:27:50","slug":"linux-lpi-102-2-instalando-o-gerenciador-de-inicializacao-grub","status":"publish","type":"post","link":"https:\/\/categoriaoutros.com.br\/?p=16101","title":{"rendered":"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>Aqui est\u00e1 uma tabela com a defini\u00e7\u00e3o dos termos que mencionaremos nesse post:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Termo<\/strong><\/th><th><strong>Defini\u00e7\u00e3o<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>menu.lst, grub.cfg, grub.conf<\/strong><\/td><td>Arquivos de configura\u00e7\u00e3o usados pelo GRUB (GRand Unified Bootloader). <code>menu.lst<\/code> e <code>grub.conf<\/code> s\u00e3o usados pelo GRUB Legacy, enquanto <code>grub.cfg<\/code> \u00e9 usado pelo GRUB 2. Esses arquivos cont\u00eam as entradas de boot e as configura\u00e7\u00f5es do carregador de inicializa\u00e7\u00e3o.<\/td><\/tr><tr><td><strong>grub-install<\/strong><\/td><td>Comando utilizado para instalar o GRUB no MBR (Master Boot Record) ou em uma parti\u00e7\u00e3o espec\u00edfica de um disco. Ele configura o GRUB como o bootloader para o sistema.<\/td><\/tr><tr><td><strong>grub-mkconfig<\/strong><\/td><td>Comando usado no GRUB 2 para gerar automaticamente o arquivo de configura\u00e7\u00e3o <code>grub.cfg<\/code> com base nos sistemas operacionais detectados no sistema.<\/td><\/tr><tr><td><strong>MBR (Master Boot Record)<\/strong><\/td><td>O MBR \u00e9 a primeira se\u00e7\u00e3o de um disco r\u00edgido, contendo o c\u00f3digo necess\u00e1rio para inicializar o sistema operacional (bootloader) e a tabela de parti\u00e7\u00f5es. Ele ocupa os primeiros 512 bytes do disco e \u00e9 essencial para o processo de boot dos sistemas mais antigos.<\/td><\/tr><tr><td><strong>GPT(GUID Partition Table)<\/strong><\/td><td>\u00e9 um esquema de particionamento de disco usado em sistemas Linux (e outros sistemas operacionais) que suporta discos maiores que 2 TB, permite at\u00e9 128 parti\u00e7\u00f5es, e oferece mais seguran\u00e7a e redund\u00e2ncia em compara\u00e7\u00e3o ao antigo esquema MBR (Master Boot Record).<\/td><\/tr><tr><td><strong>GRUB Legacy<\/strong><\/td><td>Antiga vers\u00e3o do GRUB, utilizada para inicializar e gerenciar m\u00faltiplos sistemas operacionais. Configura\u00e7\u00e3o via arquivo <code>menu.lst<\/code>.<\/td><\/tr><tr><td><strong>GRUB 2<\/strong><\/td><td>Vers\u00e3o mais recente do GRUB com recursos aprimorados. Suporte a sistemas de arquivos modernos e configura\u00e7\u00e3o via <code>grub.cfg<\/code>.<\/td><\/tr><tr><td><strong>LILO<\/strong><\/td><td>Gerenciador de inicializa\u00e7\u00e3o antigo que utiliza o arquivo <code>lilo.conf<\/code> para configura\u00e7\u00e3o. Menos utilizado atualmente devido ao suporte limitado para novos sistemas de arquivos.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Linux Boot<\/figcaption><\/figure>\n\n\n\n<p>Quando ligamos o primeiro software a ser executado \u00e9 o <strong>gerenciador de inicializa\u00e7\u00e3o<\/strong>, no caso do Linux \u00e9 o <strong>GRUB<\/strong>. Ele tem a fun\u00e7\u00e3o de iniciar o kernel. O kernel ent\u00e3o carrega os drivers necess\u00e1rios, inicializa o hardware e, em seguida, carrega o restante do sistema operacional.<\/p>\n\n\n\n<div style=\"display: flex; flex-direction: column; align-items: center;\">\n    <div style=\"padding: 10px; margin: 5px; border: 2px solid #333; border-radius: 5px; background-color: #ffeb3b; color: #000;\">\n        Ligamos o computador\n    <\/div>\n    <div style=\"padding: 10px; margin: 5px; border: 2px solid #333; border-radius: 5px; background-color: #03a9f4; color: #fff;\">\n        Gerenciador de Inicializa\u00e7\u00e3o (GRUB)\n    <\/div>\n    <div style=\"width: 2px; height: 20px; background-color: #333;\"><\/div>\n    <div style=\"padding: 10px; margin: 5px; border: 2px solid #333; border-radius: 5px; background-color: #4caf50; color: #fff;\">\n        Kernel do Linux\n    <\/div>\n    <div style=\"width: 2px; height: 20px; background-color: #333;\"><\/div>\n    <div style=\"padding: 10px; margin: 5px; border: 2px solid #333; border-radius: 5px; background-color: #ff5722; color: #fff;\">\n        Carrega Drivers e Inicializa Hardware\n    <\/div>\n    <div style=\"width: 2px; height: 20px; background-color: #333;\"><\/div>\n    <div style=\"padding: 10px; margin: 5px; border: 2px solid #333; border-radius: 5px; background-color: #9c27b0; color: #fff;\">\n        Carrega Sistema Operacional\n    <\/div>\n<\/div>\n\n\n\n<p><strong>Qual a rela\u00e7\u00e3o entre GRUB, MBR e GPT?<\/strong><\/p>\n\n\n\n<p>MBR e GPT s\u00e3o esquemas de particionamento de disco que organizam como os dados s\u00e3o armazenados e gerenciados. O GRUB, como gerenciador de inicializa\u00e7\u00e3o, depende desses esquemas para localizar e carregar o sistema operacional. Com MBR, o GRUB \u00e9 instalado no primeiro setor do disco (o MBR), enquanto com GPT, ele pode ser instalado em uma parti\u00e7\u00e3o especial chamada &#8220;EFI System Partition&#8221; (ESP) em sistemas UEFI ou pode ainda usar uma \u00e1rea de inicializa\u00e7\u00e3o dedicada em sistemas BIOS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GRUB Legacy e GRUB 2<\/h2>\n\n\n\n<p>O GRUB pode carregar o kernel do Linux ou outros sistemas operacionais, como o Windows, al\u00e9m de lidar com diversas imagens e par\u00e2metros do kernel como entradas de menu separadas.<\/p>\n\n\n\n<p>GRUB (Grand Unified Bootloader) foi desenvolvida em 1995 como parte do projeto GNU Hurd, substituindo outros, como o LILO. O GRUB Legacy n\u00e3o est\u00e1 mais em desenvolvimento ativo, a \u00faltima vers\u00e3o foi a 0.97, em 2005. Mas \u00e9 bom saber como us\u00e1-lo e em que ele difere do GRUB 2.<\/p>\n\n\n\n<p>O GRUB 2 \u00e9 uma vers\u00e3o melhorada, mais limpa  e completa do GRUB; Possui mais comandos e instru\u00e7\u00f5es condicionais, como um script. Tamb\u00e9m tem menus gr\u00e1ficos de inicializa\u00e7\u00e3o com telas de abertura, inicializar ISOs LiveCD diretamente a partir do disco r\u00edgido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setor de inicializa\u00e7\u00e3o<\/h2>\n\n\n\n<p>Ordem correta dos eventos de inicializa\u00e7\u00e3o:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>O primeiro setor de 512 bytes do disco \u00e9 chamado de <strong>Master Boot Record (MBR)<\/strong> e cont\u00e9m uma <strong>tabela de parti\u00e7\u00f5es <\/strong>e um c\u00f3digo de inicializa\u00e7\u00e3o chamado <strong>gerenciador de inicializa\u00e7\u00e3o<\/strong>.<\/li>\n\n\n\n<li>Quando o computador \u00e9 ligado, o c\u00f3digo m\u00ednimo do gerenciador de inicializa\u00e7\u00e3o, localizado no MBR, \u00e9 carregado e executado.<\/li>\n\n\n\n<li>Esse c\u00f3digo transfere o controle para um carregador de inicializa\u00e7\u00e3o secund\u00e1rio no disco, geralmente localizado em um espa\u00e7o de 32 KB entre o MBR e a primeira parti\u00e7\u00e3o.<\/li>\n\n\n\n<li>O carregador de inicializa\u00e7\u00e3o secund\u00e1rio carrega o(s) sistema(s) operacional(is).<\/li>\n\n\n\n<li>Em um disco particionado em MBR, o c\u00f3digo de inicializa\u00e7\u00e3o do GRUB \u00e9 instalado no MBR.<\/li>\n\n\n\n<li>O GRUB, a partir do MBR, carrega e transfere o controle para uma imagem \u201cn\u00facleo\u201d instalada entre o MBR e a primeira parti\u00e7\u00e3o.<\/li>\n\n\n\n<li>A partir desse ponto, o GRUB \u00e9 capaz de carregar o restante dos recursos necess\u00e1rios, como defini\u00e7\u00f5es de menu, arquivos de configura\u00e7\u00e3o e m\u00f3dulos extras, do disco.<\/li>\n<\/ol>\n\n\n\n<p>Em sistemas onde o espa\u00e7o no MBR (Master Boot Record) \u00e9 limitado, o gerenciador de inicializa\u00e7\u00e3o prim\u00e1rio(geralmente GRUB) carrega apenas um c\u00f3digo m\u00ednimo que transfere o controle para um carregador de inicializa\u00e7\u00e3o secund\u00e1rio.<\/p>\n\n\n\n<p>Essencialmente, o gerenciador de inicializa\u00e7\u00e3o \u00e9 o ponto de partida para o processo de boot, enquanto o carregador de inicializa\u00e7\u00e3o secund\u00e1rio \u00e9 uma etapa subsequente que assume o controle para continuar o processo de carregar e iniciar o sistema operacional.<\/p>\n\n\n\n<p>Principais limita\u00e7\u00f5es do MBR (Master Boot Record):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Suporte a Parti\u00e7\u00f5es Limitado<\/strong>: MBR suporta apenas at\u00e9 4 parti\u00e7\u00f5es prim\u00e1rias por disco. Para criar mais parti\u00e7\u00f5es, \u00e9 necess\u00e1rio converter uma das parti\u00e7\u00f5es prim\u00e1rias em uma parti\u00e7\u00e3o estendida que pode conter parti\u00e7\u00f5es l\u00f3gicas.<\/li>\n\n\n\n<li><strong>Capacidade M\u00e1xima de Disco<\/strong>: MBR s\u00f3 pode gerenciar discos com tamanho m\u00e1ximo de 2 TB. Discos maiores precisam ser particionados usando GPT (GUID Partition Table).<\/li>\n\n\n\n<li><strong>C\u00f3digo de Inicializa\u00e7\u00e3o Pequeno<\/strong>: O c\u00f3digo de inicializa\u00e7\u00e3o no MBR \u00e9 limitado a 446 bytes, restringindo as funcionalidades que podem ser implementadas diretamente no MBR.<\/li>\n\n\n\n<li><strong>Falha \u00danica<\/strong>: Como o MBR ocupa apenas o primeiro setor do disco, uma corrup\u00e7\u00e3o nesse setor pode tornar o disco inteiro inoper\u00e1vel.<\/li>\n\n\n\n<li><strong>Compatibilidade<\/strong>: MBR \u00e9 uma tecnologia antiga e pode n\u00e3o ser compat\u00edvel com novos sistemas ou firmwares, como UEFI, que utiliza GPT em vez de MBR.<\/li>\n<\/ul>\n\n\n\n<p>Particionamentos em GPT podem ser usados tanto com BIOS quanto com UEFI. Quando o GPT \u00e9 usado com BIOS a segunda parte do GRUB \u00e9 armazenada em uma parti\u00e7\u00e3o especial de inicializa\u00e7\u00e3o da BIOS. Quando com UEFI, o GRUB \u00e9 carregado pelo firmware a partir dos arquivos grubia32.efi (para sistemas de 32 bits) ou grubx64.efi (para sistemas de 64 bits) em uma parti\u00e7\u00e3o chamada de ESP (EFI System Partition).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diferen\u00e7a na inicializa\u00e7\u00e3o entre MBR e GPT<\/h2>\n\n\n\n<p>Diferen\u00e7as entre MBR e GPT em rela\u00e7\u00e3o ao processo de inicializa\u00e7\u00e3o com GRUB:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Aspecto<\/th><th>MBR<\/th><th>GPT<\/th><\/tr><\/thead><tbody><tr><td><strong>Suporte de Firmware<\/strong><\/td><td>BIOS (antigo)<\/td><td>UEFI (moderno) ou BIOS<\/td><\/tr><tr><td><strong>Localiza\u00e7\u00e3o do C\u00f3digo de Inicializa\u00e7\u00e3o<\/strong><\/td><td>Master Boot Record (MBR), primeiros 512 bytes do disco<\/td><td>EFI System Partition (ESP) para UEFI ou \u00e1rea de inicializa\u00e7\u00e3o dedicada para BIOS<\/td><\/tr><tr><td><strong>N\u00famero de Parti\u00e7\u00f5es<\/strong><\/td><td>At\u00e9 4 parti\u00e7\u00f5es prim\u00e1rias (ou 3 prim\u00e1rias + 1 estendida)<\/td><td>Suporta at\u00e9 128 parti\u00e7\u00f5es prim\u00e1rias<\/td><\/tr><tr><td><strong>Capacidade M\u00e1xima de Disco<\/strong><\/td><td>At\u00e9 2 TB<\/td><td>Suporta discos maiores que 2 TB<\/td><\/tr><tr><td><strong>Armazenamento do GRUB<\/strong><\/td><td>Instalado no MBR e em uma parti\u00e7\u00e3o espec\u00edfica ou na \u00e1rea logo ap\u00f3s o MBR<\/td><td>Armazenado na ESP (em sistemas UEFI) ou em uma parti\u00e7\u00e3o de inicializa\u00e7\u00e3o dedicada (em sistemas BIOS)<\/td><\/tr><tr><td><strong>Redund\u00e2ncia e Recupera\u00e7\u00e3o<\/strong><\/td><td>Sem redund\u00e2ncia embutida<\/td><td>Tabela de parti\u00e7\u00f5es redundante e CRC para verifica\u00e7\u00e3o de integridade<\/td><\/tr><tr><td><strong>Suporte a Inicializa\u00e7\u00e3o Segura<\/strong><\/td><td>N\u00e3o compat\u00edvel<\/td><td>Compat\u00edvel com Secure Boot (em UEFI)<\/td><\/tr><tr><td><strong>M\u00e9todo de Carregamento do GRUB<\/strong><\/td><td>BIOS carrega o c\u00f3digo de inicializa\u00e7\u00e3o diretamente do MBR<\/td><td>UEFI carrega o GRUB a partir da ESP; BIOS usa \u00e1rea de inicializa\u00e7\u00e3o dedicada<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">MBR e GPT<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\/boot<\/h2>\n\n\n\n<p>Arquivos de inicializa\u00e7\u00e3o geralmente s\u00e3o armazenados em uma parti\u00e7\u00e3o de inicializa\u00e7\u00e3o montada no sistema de arquivos raiz e chamada \/boot.<\/p>\n\n\n\n<p>Para garantir uma compatibilidade m\u00e1xima, a parti\u00e7\u00e3o \/boot geralmente est\u00e1 localizada no in\u00edcio do disco e termina antes do cilindro 1024 (528 MB), garantindo que a m\u00e1quina sempre possa carregar o kernel. O tamanho recomendado para essa parti\u00e7\u00e3o em uma m\u00e1quina atual \u00e9 de 300 MB.<\/p>\n\n\n\n<p>Veja o conte\u00fado do diret\u00f3rio \/boon executando <strong>ls -l \/boot<\/strong> <\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ ls -l \/boot\/\ntotal 76772\n-rw-r--r-- 1 root root   259453 fev  1  2024 config-6.1.0-18-amd64\n-rw-r--r-- 1 root root   259525 abr 11 18:17 config-6.1.0-20-amd64\ndrwxr-xr-x 5 root root     4096 mai  4 12:47 <font color=\"#0000EE\"><b>grub<\/b><\/font>\n-rw-r--r-- 1 root root 30827458 mai  4 12:49 initrd.img-6.1.0-18-amd64\n-rw-r--r-- 1 root root 30919405 mai  4 12:50 initrd.img-6.1.0-20-amd64\n-rw-r--r-- 1 root root       83 fev  1  2024 System.map-6.1.0-18-amd64\n-rw-r--r-- 1 root root       83 abr 11 18:17 System.map-6.1.0-20-amd64\n-rw-r--r-- 1 root root  8152768 fev  1  2024 vmlinuz-6.1.0-18-amd64\n-rw-r--r-- 1 root root  8167616 abr 11 18:17 vmlinuz-6.1.0-20-amd64<\/pre>\n\n\n\n<p>Ter \/boot montada em uma parti\u00e7\u00e3o n\u00e3o \u00e9 obrigat\u00e1rio, por\u00e9m \u00e9 uma recomenda\u00e7\u00e3o, pois:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>separa os arquivos necess\u00e1rios ao processo de inicializa\u00e7\u00e3o do restante do sistema de arquivos.<\/li>\n\n\n\n<li>se a parti\u00e7\u00e3o raiz do sistema (\/) for criptografada ou compactada GRUB 2 poder\u00e1 n\u00e3o ser capaz de l\u00ea-la<\/li>\n\n\n\n<li>Se a parti\u00e7\u00e3o \/ estiver formatada com um sistema de arquivos que ele n\u00e3o reconhe\u00e7a<\/li>\n<\/ul>\n\n\n\n<p><strong>Temos o seguinte conte\u00fado dentro de \/boot<\/strong><\/p>\n\n\n\n<p><strong>Arquivo de Configura\u00e7\u00e3o<\/strong>: Esse arquivo, geralmente chamado de <code>config-VERS\u00c3O<\/code> (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-cyan-bluish-gray-color\">como no exemplo acima <strong>config-6.1.0-18-amd64<\/strong><\/mark>), guarda as configura\u00e7\u00f5es usadas pelo kernel do Linux. Ele \u00e9 criado automaticamente quando um novo kernel \u00e9 compilado ou instalado e n\u00e3o deve ser alterado manualmente pelo usu\u00e1rio.<\/p>\n\n\n\n<p><strong>Mapa do Sistema<\/strong>: O arquivo <code>System.map-VERS\u00c3O<\/code> funciona como uma tabela que associa nomes de fun\u00e7\u00f5es ou vari\u00e1veis do sistema \u00e0 sua localiza\u00e7\u00e3o na mem\u00f3ria. Isso \u00e9 \u00fatil para identificar o que estava sendo executado quando ocorreu um &#8220;kernel panic&#8221; (um erro grave no sistema). Esse arquivo \u00e9 importante para ajudar a diagnosticar falhas.<\/p>\n\n\n\n<p><strong>Kernel do Linux<\/strong>: Esse \u00e9 o cora\u00e7\u00e3o do sistema operacional Linux. O arquivo do kernel geralmente \u00e9 chamado de <code>vmlinux-VERS\u00c3O<\/code> (como <code>vmlinux-4.15.0-65-generic<\/code>). \u00c0s vezes, o nome \u00e9 <code>vmlinuz<\/code> em vez de <code>vmlinux<\/code>, onde o &#8220;z&#8221; indica que o arquivo est\u00e1 compactado.<\/p>\n\n\n\n<p><strong>Disco RAM Inicial<\/strong>: Chamado normalmente de <code>initrd.img-VERS\u00c3O<\/code>, esse arquivo cont\u00e9m um sistema de arquivos b\u00e1sico, carregado na mem\u00f3ria RAM, que inclui os utilit\u00e1rios e m\u00f3dulos necess\u00e1rios para que o kernel consiga montar o sistema de arquivos principal.<\/p>\n\n\n\n<p><strong>Arquivos Relacionados ao Gerenciador de Inicializa\u00e7\u00e3o<\/strong>: Em sistemas que utilizam o GRUB como gerenciador de inicializa\u00e7\u00e3o, esses arquivos est\u00e3o geralmente localizados em <code>\/boot\/grub<\/code>. Eles incluem o arquivo de configura\u00e7\u00e3o (<code>\/boot\/grub\/grub.cfg<\/code> para o GRUB 2 ou <code>\/boot\/grub\/menu.lst<\/code> para o GRUB Legacy), m\u00f3dulos, arquivos de tradu\u00e7\u00e3o e fontes do GRUB.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\/boot\/grub<\/h2>\n\n\n\n<p>O GRUB 2 pode ser instalado usando o utilit\u00e1rio <strong>grub-install<\/strong>. <\/p>\n\n\n\n<p>Se seu sistema n\u00e3o inicia, poder\u00e1 proceder da seguinte forma:<\/p>\n\n\n\n<p>#1 voc\u00ea pode inicializ\u00e1-lo usando um Live CD ou um disco de recupera\u00e7\u00e3o. Ap\u00f3s executar o disco da Live CD descobra qual \u00e9 a<strong> parti\u00e7\u00e3o de inicializa\u00e7\u00e3o<\/strong> do seu sistema, mont\u00e1-la e executar o utilit\u00e1rio. Geralmente, o  dispositivo de inicializa\u00e7\u00e3o \u00e9 o primeiro disco e o primeiro disco geralmente \u00e9 <kbd>\/dev\/sda<\/kbd>. Se precisar confirmar pode usar o comando <kbd>fdisk -l<\/kbd>.<\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ sudo fdisk -l \n[sudo] senha para elder: \n<b>Disco \/dev\/sda: 40 GiB, 42949672960 bytes, 83886080 setores<\/b>\nModelo de disco: VBOX HARDDISK   \nUnidades: setor de 1 * 512 = 512 bytes\nTamanho de setor (l\u00f3gico\/f\u00edsico): 512 bytes \/ 512 bytes\nTamanho E\/S (m\u00ednimo\/\u00f3timo): 512 bytes \/ 512 bytes\nTipo de r\u00f3tulo do disco: dos\nIdentificador do disco: 0x63820f01\n\n<b>Dispositivo<\/b> <b>Inicializar<\/b> <b>  In\u00edcio<\/b> <b>     Fim<\/b> <b> Setores<\/b> <b>Tamanho<\/b> <b>Id<\/b> <b>Tipo<\/b>\n\/dev\/sda1   *               2048 81885183 81883136     39G 83 Linux\n\/dev\/sda2               81887230 83884031  1996802    975M  5 Estendida\n\/dev\/sda3               83884032 83886079     2048      1M 83 Linux\n\/dev\/sda5               81887232 83884031  1996800    975M 82 Linux swap \/ Solaris\n\nParti\u00e7\u00f5es l\u00f3gicas fora da ordem do disco.\n\n\n<b>Disco \/dev\/sdb: 2 GiB, 2147483648 bytes, 4194304 setores<\/b>\nModelo de disco: VBOX HARDDISK   \nUnidades: setor de 1 * 512 = 512 bytes\nTamanho de setor (l\u00f3gico\/f\u00edsico): 512 bytes \/ 512 bytes\nTamanho E\/S (m\u00ednimo\/\u00f3timo): 512 bytes \/ 512 bytes\nTipo de r\u00f3tulo do disco: dos\nIdentificador do disco: 0xfb3ed95f\n\n<b>Dispositivo<\/b> <b>Inicializar<\/b> <b> In\u00edcio<\/b> <b>    Fim<\/b> <b>Setores<\/b> <b>Tamanho<\/b> <b>Id<\/b> <b>Tipo<\/b>\n\/dev\/sdb1                  2048 2099199 2097152      1G 83 Linux\n\/dev\/sdb2               2099200 4194303 2095104   1023M 83 Linux\n<\/pre>\n\n\n\n<p>A parti\u00e7\u00e3o de inicializa\u00e7\u00e3o \u00e9 identificada com o * na coluna boot. no caso acima \u00e9 o \/dev\/sda1<\/p>\n\n\n\n<p>#2 vamos montar esse disco. Crie diret\u00f3rio \/mnt\/tmp<\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ sudo mkdir \/mnt\/tmp<\/pre>\n\n\n\n<p>#3 monte o \/dev\/sda1 nessa pasta<\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ sudo mount \/dev\/sda1  \/mnt\/tmp<\/pre>\n\n\n\n<p>#4 execute grub-install. Aponte para o diret\u00f3rio e para o dispositivo sda (n\u00e3o sda1 e sim sda apenas)<\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ sudo grub-install --boot-directory=\/mnt\/tmm    \/dev\/sda<\/pre>\n\n\n\n<p>Caso esteja em um sistema que tenha apenas \/boot fa\u00e7a assim:<\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ sudo grub-install --boot-directory=\/boot    \/dev\/sda<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configurando GRUB 2<\/h2>\n\n\n\n<p><strong>Vejamos o conte\u00fado da pasta \/boot\/grub<\/strong><\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$ ls -l \/boot\/grub\/\ntotal 2372\ndrwxr-xr-x 2 root root    4096 mai  4 12:47 <font color=\"#0000EE\"><b>fonts<\/b><\/font>\n-rw------- 1 root root    7563 mai  4 12:47 grub.cfg\n-rw-r--r-- 1 root root    1024 mai  4 12:47 grubenv\ndrwxr-xr-x 2 root root   12288 mai  4 12:47 <font color=\"#0000EE\"><b>i386-pc<\/b><\/font>\ndrwxr-xr-x 2 root root    4096 mai  4 12:47 <font color=\"#0000EE\"><b>locale<\/b><\/font>\n-rw-r--r-- 1 root root 2392304 mai  4 12:47 unicode.pf2\n<\/pre>\n\n\n\n<p><strong>\/boot\/grub\/grub.cfg<\/strong> \u00e9 o arquivo padr\u00e3o de configura\u00e7\u00e3o do GRUB 2. Esse arquivo \u00e9 gerado automaticamente e n\u00e3o \u00e9 recomendado edit\u00e1-lo \u00e0 m\u00e3o. Para alterar o GRUB 2 edite <strong>\/etc\/default\/grub<\/strong> e execute <strong>update-grub<\/strong> para gerar um arquivo compat\u00edvel.<\/p>\n\n\n\n<p>update-grub \u00e9 um atalho para grub-mkconfig -o \/boot\/grub\/grub.cfg.<\/p>\n\n\n\n<p>Existem algumas op\u00e7\u00f5es no arquivo \/etc\/default\/grub mas, antes de falarmos sobre essas op\u00e7\u00f5es, saiba o significado do tempo &#8220;<strong>entrada de menu<\/strong>&#8221; se refere \u00e0 op\u00e7\u00e3o do menu de boot que ser\u00e1 selecionada.  O &#8220;<strong>menu de boot<\/strong>&#8221; no GRUB \u00e9 a tela que aparece durante a inicializa\u00e7\u00e3o do sistema e lista todas as op\u00e7\u00f5es dispon\u00edveis para iniciar o sistema operacional.<\/p>\n\n\n\n<p>Configura\u00e7\u00e3o do GRUB em \/etc\/default\/grub:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>GRUB_DEFAULT=<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li>Define qual entrada de menu, ou qual op\u00e7\u00e3o, ser\u00e1 selecionada por padr\u00e3o quando o sistema for inicializado.<\/li>\n\n\n\n<li>Pode ser configurada com um n\u00famero (0 para a primeira entrada, 1 para a segunda, e assim por diante), com o nome da entrada (como <code>\"Ubuntu\"<\/code> ou &#8220;Debian&#8221;), ou com a palavra-chave <code>\"saved\"<\/code> para escolher a \u00faltima entrada selecionada.<\/li>\n\n\n\n<li>Exemplo: <code>GRUB_DEFAULT=0<\/code> define a primeira entrada como a padr\u00e3o.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>GRUB_SAVEDEFAULT=<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Quando definido como <code>true <\/code>e GRUB_DEFAULT= como saved, o GRUB salva a \u00faltima entrada de menu selecionada e a utiliza como padr\u00e3o na pr\u00f3xima inicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li>Isso \u00e9 \u00fatil para sistemas onde o usu\u00e1rio frequentemente escolhe diferentes sistemas operacionais ou modos de inicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li>Exemplo: <code>GRUB_SAVEDEFAULT=true<\/code> faz com que a \u00faltima sele\u00e7\u00e3o de boot seja lembrada para o pr\u00f3ximo boot.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>GRUB_TIMEOUT=<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li>Especifica o tempo (em segundos) que o GRUB espera antes de iniciar a entrada de menu padr\u00e3o automaticamente.<\/li>\n\n\n\n<li>Se o valor for <code>0<\/code>, o GRUB inicializa imediatamente a entrada padr\u00e3o sem mostrar o menu.<\/li>\n\n\n\n<li>Se for <code>-1<\/code>, o menu de boot \u00e9 mostrado indefinidamente at\u00e9 que o usu\u00e1rio fa\u00e7a uma escolha.<\/li>\n\n\n\n<li>Exemplo: <code>GRUB_TIMEOUT=5<\/code> faz o GRUB esperar 5 segundos antes de inicializar automaticamente a entrada padr\u00e3o.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>GRUB_CMDLINE_LINUX=<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li>Permite adicionar par\u00e2metros personalizados \u00e0 linha de comando do kernel.<\/li>\n\n\n\n<li>Esses par\u00e2metros s\u00e3o aplicados a todas as entradas de inicializa\u00e7\u00e3o do Linux e podem ser usados para ajustar o comportamento do kernel durante a inicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li>Exemplo: <code>GRUB_CMDLINE_LINUX=\"quiet splash\"<\/code> adiciona as op\u00e7\u00f5es <code>quiet<\/code> (suprime mensagens de inicializa\u00e7\u00e3o) e <code>splash<\/code> (exibe uma tela gr\u00e1fica durante a inicializa\u00e7\u00e3o).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>GRUB_CMDLINE_LINUX_DEFAULT=<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li>Semelhante ao <code>GRUB_CMDLINE_LINUX<\/code>, mas essas op\u00e7\u00f5es s\u00e3o aplicadas somente \u00e0 entrada de inicializa\u00e7\u00e3o padr\u00e3o do Linux.<\/li>\n\n\n\n<li>\u00c9 comum usar esta vari\u00e1vel para configurar par\u00e2metros de inicializa\u00e7\u00e3o padr\u00e3o que s\u00e3o adequados para a maioria das inicializa\u00e7\u00f5es normais, enquanto <code>GRUB_CMDLINE_LINUX<\/code> \u00e9 usado para par\u00e2metros que devem ser aplicados em todos os casos.<\/li>\n\n\n\n<li>Exemplo: <code>GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash\"<\/code> adiciona as op\u00e7\u00f5es <code>quiet<\/code> e <code>splash<\/code> apenas para a entrada padr\u00e3o.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>GRUB_ENABLE_CRYPTODISK=<\/code><\/strong>\n<ul class=\"wp-block-list\">\n<li>Quando definido como <code>y<\/code>, habilita o suporte do GRUB a discos criptografados.<\/li>\n\n\n\n<li>Isso \u00e9 necess\u00e1rio se voc\u00ea estiver usando criptografia de disco completo e deseja que o GRUB seja capaz de acessar e inicializar a partir de uma parti\u00e7\u00e3o criptografada.<\/li>\n\n\n\n<li>Exemplo: <code>GRUB_ENABLE_CRYPTODISK=y<\/code> permite que o GRUB inicialize a partir de discos criptografados.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Esses par\u00e2metros est\u00e3o em <strong>\/etc\/default\/grub<\/strong>. Ap\u00f3s alterar esse arquivo execute <strong>update-grub<\/strong> para aplicar as altera\u00e7\u00f5es.<\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">entradas de menu <\/h2>\n\n\n\n<p>Acima expliquei que o termo <strong>entrada de menu <\/strong>refere-se \u00e0s op\u00e7\u00f5es do GRUB que s\u00e3o exibidas quando o sistema \u00e9 iniciado, naquela telinha preta.<\/p>\n\n\n\n<p>Ao executar o comando <strong>update-grub<\/strong> o GRUB busca por kernels novos dentro da pasta correspondente e gera as entradas de menu correspondentes no arquivo \/boot\/grub\/grub.cfg. Se n\u00e3o deseja rodar <strong>update-grub<\/strong>, poder\u00e1 adicionar manualmente entradas dentro da pasta \/etc\/grub.d<\/p>\n\n\n\n<p>Os arquivos dentro de \/etc\/grub.d devem ser execut\u00e1veis e s\u00e3o processados em ordem num\u00e9rica pelo update-grub. Exemplo, 05_debian_theme \u00e9 processado antes de 10_linux e assim por diante.<\/p>\n\n\n\n<p>Geralmente \u00e9 usado o arquivo 40_custom para adicionar entradas personalizadas ao menu. <\/p>\n\n\n\n<p>Um exemplo de entrada \u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>menuentry \"Default OS\" {\nset root=(hd0,1)\nlinux \/vmlinuz root=\/dev\/sda1 ro quiet splash\ninitrd \/initrd.img\n}<\/code><\/pre>\n\n\n\n<p>Aqui est\u00e1 a explica\u00e7\u00e3o de cada linha dessa entrada de menu no GRUB:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>menuentry \"Default OS\" {<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Esta linha define uma nova entrada de menu no GRUB com o nome &#8220;Default OS&#8221;.<\/li>\n\n\n\n<li>O nome entre aspas \u00e9 o que ser\u00e1 exibido no menu de boot, permitindo ao usu\u00e1rio identificar e selecionar esta op\u00e7\u00e3o.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>set root=(hd0,1)<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Esta linha define a parti\u00e7\u00e3o raiz (root) do sistema de arquivos para esta entrada de boot.<\/li>\n\n\n\n<li><code>(hd0,1)<\/code> refere-se \u00e0 primeira parti\u00e7\u00e3o do primeiro disco (hd0 \u00e9 o primeiro disco, e 1 indica a primeira parti\u00e7\u00e3o). No GRUB, a numera\u00e7\u00e3o das parti\u00e7\u00f5es come\u00e7a em 1.<\/li>\n\n\n\n<li>Essa configura\u00e7\u00e3o diz ao GRUB onde encontrar os arquivos do kernel e initrd.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>linux \/vmlinuz root=\/dev\/sda1 ro quiet splash<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Esta linha carrega o kernel do Linux (<code>\/vmlinuz<\/code>) e passa par\u00e2metros de inicializa\u00e7\u00e3o ao kernel.<\/li>\n\n\n\n<li><code>root=\/dev\/sda1<\/code> especifica que a parti\u00e7\u00e3o raiz do sistema Linux est\u00e1 localizada em <code>\/dev\/sda1<\/code> (primeira parti\u00e7\u00e3o do primeiro disco em sistemas Linux).<\/li>\n\n\n\n<li><code>ro<\/code> significa que a parti\u00e7\u00e3o raiz deve ser montada como somente leitura durante a inicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li><code>quiet<\/code> suprime a exibi\u00e7\u00e3o de mensagens detalhadas de inicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li><code>splash<\/code> exibe uma tela gr\u00e1fica (como uma tela de boot com logotipo) durante a inicializa\u00e7\u00e3o.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>initrd \/initrd.img<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Esta linha carrega a imagem de disco RAM inicial (<code>initrd.img<\/code>), que cont\u00e9m um sistema de arquivos m\u00ednimo usado durante o processo de inicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li>O <code>initrd<\/code> \u00e9 necess\u00e1rio para fornecer os m\u00f3dulos do kernel e outros arquivos essenciais antes que o sistema de arquivos raiz seja montado.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Tamb\u00e9m podemos usar <strong>search &#8211;set=root<\/strong> seguido por <strong>&#8211;label <\/strong>e o r\u00f3tulo do sistema de arquivos a buscar para  pedir que o GRUB 2 busque por um sistema de arquivos com um r\u00f3tulo ou UUID (Universally Unique Identifier). Podemos usar tamb\u00e9m &#8211;fs-uuid seguido pelo UUID do sistema de arquivos.<\/p>\n\n\n\n<p>Para ver os UUIDS, execute <strong>ls -l \/dev\/disk\/by-uuid\/<\/strong><\/p>\n\n\n\n<pre><font color=\"#00CD00\"><b>elder@debian12<\/b><\/font>:<font color=\"#0000EE\"><b>~<\/b><\/font>$  ls -l \/dev\/disk\/by-uuid\/\ntotal 0\nlrwxrwxrwx 1 root root 10 ago  1 10:29 <font color=\"#00CDCD\"><b>74e7a84b-4d88-436f-8c5d-6753910736c7<\/b><\/font> -&gt; <span style=\"background-color:#000000\"><font color=\"#CDCD00\"><b>..\/..\/sda3<\/b><\/font><\/span>\nlrwxrwxrwx 1 root root 10 ago  1 10:29 <font color=\"#00CDCD\"><b>8a4c9719-5434-4a9f-bb85-1b7ac9168186<\/b><\/font> -&gt; <span style=\"background-color:#000000\"><font color=\"#CDCD00\"><b>..\/..\/sda1<\/b><\/font><\/span>\nlrwxrwxrwx 1 root root 10 ago  1 10:29 <font color=\"#00CDCD\"><b>baf56afa-3c25-474f-ad4c-9651184e5971<\/b><\/font> -&gt; <span style=\"background-color:#000000\"><font color=\"#CDCD00\"><b>..\/..\/sda5<\/b><\/font><\/span><\/pre>\n\n\n\n<p>Por exemplo, o UUID de \/dev\/sda3 \u00e9 74e7a84b-4d88-436f-8c5d-6753910736c7. Ent\u00e3o, podemos usar <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--set=root --fs-uuid 74e7a84b-4d88-436f-8c5d-6753910736c7<\/code><\/pre>\n\n\n\n<p>Podemos usar &#8211;no-floppy para que o GRUB n\u00e3o perca tempo buscando por disquetes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mexendo no GRUB 2<\/h2>\n\n\n\n<p>Ao ligarmos o computador com Linux, a tela com menu de op\u00e7\u00f5es para interagirmos com o grub 2 aparecer\u00e1. apenas uma contagem regressiva, mas n\u00e3o um menu, pressione <strong>Shift<\/strong> durante a inicializa\u00e7\u00e3o para aparecer o menu.<\/p>\n\n\n\n<p>Use <strong>Setas <\/strong>e <strong>Enter <\/strong>para acessar uma das op\u00e7\u00f5es.<\/p>\n\n\n\n<p>Para editar tecle <strong>e <\/strong>ao inv\u00e9s de Enter. Ser\u00e1 exibida uma janela de editor com o conte\u00fado do menuentry associado \u00e0 op\u00e7\u00e3o. digite <strong>Ctrl + X ou F10<\/strong> para inicializar, ou ainda <strong>Esc<\/strong> para retornar.<\/p>\n\n\n\n<p>Tecle <strong>c <\/strong>para acessar o shell(interpretador de comandos) do GRUB. Ou <strong>ctrl + c<\/strong>. Ir\u00e1 aparecer o prompt de comandos do GRUB:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> grub &gt;<\/code><\/pre>\n\n\n\n<p>Digite help para ver uma lista de todos os comandos dispon\u00edveis ou pressione Esc para sair do shell e retornar \u00e0 tela do menu.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>se GRUB_TIMEOUT estiver com valor 0 em \/etc\/default\/grub este menu n\u00e3o aparecer\u00e1. <\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Usando o shell do GRUB 2 para iniciar o sistema<\/h2>\n\n\n\n<p>Caso uma <strong>entrada de menu <\/strong>cause uma falha de inicializa\u00e7\u00e3o, podemos usar o shell do GRUB 2 para inicializar.<\/p>\n\n\n\n<p>#1 descobra onde est\u00e1 a parti\u00e7\u00e3o de inicializa\u00e7\u00e3o. Execute <strong>ls<\/strong>. Abaixo podemos ver quer h\u00e1 apenas um disco (hd0), com apenas uma parti\u00e7\u00e3o<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grub&gt; ls\n(proc) (hd0) (hd0,msdos1)<\/code><\/pre>\n\n\n\n<p>Os valores poder\u00e3o ser diferentes em seu Linux. <strong>msdos1<\/strong> aparece porque o disco <strong>hd0<\/strong> tem particionamento MBR. Receberia <strong>gpt1<\/strong> se fosse GPT.<\/p>\n\n\n\n<p>#2 Verifique em (hd0,msdos1) se h\u00e1 um kernel e uma RAM inicial<\/p>\n\n\n\n<pre>\n\ngrub> ls (hd0,msdos1)\/\nlost+found\/ swapfile etc\/ media\/ bin\/ boot\/ dev\/ home\/ lib\/ lib64\/ mnt\/ opt\/ proc\/ root\/\nrun\/ sbin\/ srv\/ sys\/ tmp\/ usr\/ var\/ initrd.img initrd.img.old vmlinuz cdrom\/\n\n<\/pre>\n\n\n\n<p>Vemos que temos o kernel (vmlinuz) e initrd (initrd.img).<\/p>\n\n\n\n<p>Se n\u00e3o encontrar em seu Linux, procure dentro de \/boot<\/p>\n\n\n\n<pre>\n list (hd0,msdos1)\/boot\/\n<\/pre>\n\n\n\n<p>#3 defina a parti\u00e7\u00e3o de inicializa\u00e7\u00e3o<\/p>\n\n\n\n<pre>\ngrub> set root=(hd0,msdos1)\n<\/pre>\n\n\n\n<p>#4 Carregue o kernel do Linux<\/p>\n\n\n\n<pre>\ngrub> linux \/vmlinuz root=\/dev\/sda1\n<\/pre>\n\n\n\n<p>#5 Carregue o disco RAM inicial com initrd<\/p>\n\n\n\n<pre>\ngrub> initrd \/initrd.img\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Usando o shell de recupera\u00e7\u00e3o\/resgate<\/h2>\n\n\n\n<p>um shell de resgate \u00e9 uma ver\u00e3o simplificada do shell do GRUB 2. Ele \u00e9 identificado por <strong>grub rescue&gt;<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grub rescue&gt;<\/code><\/pre>\n\n\n\n<p>No entanto, ser\u00e1 preciso carregar alguns m\u00f3dulos do GRUB 2 para fazer as coisas funcionarem.<\/p>\n\n\n\n<p>Use <strong>set prefix=<\/strong> apontando para o diret\u00f3rio \/boot\/grub<\/p>\n\n\n\n<pre>\ngrub rescue> set prefix=(hd0,msdos1)\/boot\/grub\n<\/pre>\n\n\n\n<p>carregue os m\u00f3dulos normal e linux com o comando insmod:<\/p>\n\n\n\n<pre>\ngrub rescue> insmod normal\ngrub rescue> insmod linux\n<\/pre>\n\n\n\n<p>defina a parti\u00e7\u00e3o de inicializa\u00e7\u00e3o com set root=, carregue o kernel do linux (com linux), o disco RAM inicial (initrd) e tente inicializar com boot.<\/p>\n\n\n\n<pre>\ngrub> set root=(hd0,msdos1)\n<\/pre>\n\n\n\n<pre>\ngrub> linux \/vmlinuz root=\/dev\/sda1\n<\/pre>\n\n\n\n<pre>\ngrub> initrd \/initrd.img\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">GRUB Legacy<\/h2>\n\n\n\n<p><strong>Instalando o GRUB Legacy a partir de um sistema em execu\u00e7\u00e3o<\/strong><\/p>\n\n\n\n<p>Para instalar o GRUB Legacy O comando b\u00e1sico \u00e9 grub-install DEVICE<\/p>\n\n\n\n<p>Note que \u00e9 preciso especificar \/dev\/sda\/, n\u00e3o a parti\u00e7\u00e3o como em \/dev\/sda1. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># grub-install \/dev\/sda<\/code><\/pre>\n\n\n\n<p>o GRUB copia os arquivos necess\u00e1rios para o diret\u00f3rio \/boot no dispositivo que indicamos. Mas podemos usar <strong>&#8211;boot-directory=<\/strong> para especificar outro diret\u00f3rio.<\/p>\n\n\n\n<p><strong>Instalando o GRUB Legacy a partir de um shell do GRUB<\/strong><\/p>\n\n\n\n<p>Se voc\u00ea n\u00e3o conseguir inicializar o sistema por algum motivo e precisar reinstalar o GRUB Legacy, poder\u00e1 faz\u00ea-lo no shell do GRUB em um disco de inicializa\u00e7\u00e3o do GRUB Legacy.<\/p>\n\n\n\n<p>No shell do GRUB, digite:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grub&gt; root (hd0,0)<\/code><\/pre>\n\n\n\n<p>Para encontrar o diret\u00f3rio \/boot fa\u00e7a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/boot\/grub\/stage1<\/code><\/pre>\n\n\n\n<p>Agora, use o comando <strong>setup<\/strong> para instalar o GRUB Legacy no MBR e copiar os arquivos necess\u00e1rios no disco:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grub> setup (hd0)<\/code><\/pre>\n\n\n\n<p>reinicie o sistema e ele dever\u00e1 inicializar normalmente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Par\u00e2metros do GRUB Legacy<\/h3>\n\n\n\n<p>Voc\u00ea ainda poder\u00e1 se deparar com essa vers\u00e3o antiquada do GRUB. Por isso, \u00e9 importante darmos uma estudada nela.<\/p>\n\n\n\n<p>Os par\u00e2metros do GRUB Legacy ficam em \/boot\/grub\/menu.lst; esse arquivo pode ser editado diretamente em seu editor de texto predileto. As linhas iniciadas com # s\u00e3o consideradas coment\u00e1rios.<\/p>\n\n\n\n<p>Veja exemplo de uma entrada de menu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># This line is a comment\ntitle My Linux Distribution\nroot (hd0,0)\nkernel \/vmlinuz root=\/dev\/hda1<\/code><\/pre>\n\n\n\n<p>Aqui vai uma coisa muito importante, ao contr\u00e1rio do GRUB 2, no GRUB Legacy tanto as parti\u00e7\u00f5es quanto os discos s\u00e3o numerados a partir de zero. Portanto, o comando root (hd0,0) define a parti\u00e7\u00e3o de inicializa\u00e7\u00e3o como a primeira parti\u00e7\u00e3o (0) do primeiro disco (hd0). <\/p>\n\n\n\n<p>&#8220;root&#8221; pode ser omitido se especificarmos o dispositivo de inicializa\u00e7\u00e3o antes do caminho no comando kernel.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kernel (hd0,0)\/vmlinuz root=dev\/hda1<\/code><\/pre>\n\n\n\n<p>A linha acima \u00e9 a mesma coisa que<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root (hd0,0)\nkernel \/vmlinuz root=\/dev\/hda1<\/code><\/pre>\n\n\n\n<p>Os dois comandos carregam <strong>vmlinuz<\/strong> a partir do diret\u00f3rio root (\/) da primeira parti\u00e7\u00e3o do primeiro disco (hd0,0).<\/p>\n\n\n\n<p>root=\/dev\/hda1 \u00e9 um par\u00e2metro do kernel do Linux, n\u00e3o um comando do GRUB Legacy.<\/p>\n\n\n\n<p>root=\/dev\/<strong>h<\/strong>da1 \u00e9 usado ao inv\u00e9s de root=\/dev\/<strong>s<\/strong>da1 porque o sistema, nesse exemplo, est\u00e1 configurado para inicializar a partir de um disco antigo IDE\/PATA e n\u00e3o em um sata.<\/p>\n\n\n\n<p>O GRUB Legacy tem arquivos arquivos .mod guardados em \/boot\/grub\/i386-pc que s\u00e3o m\u00f3dulos, ou seja, GRUB Legacy tem formato\/design modular, con isso, podem ser carregados para adicionar recursos extras como suporte a hardware incomum, sistemas de arquivos ou novos algoritmos de compacta\u00e7\u00e3o.<\/p>\n\n\n\n<p>Para carregar esses m\u00f3dulos \u00e9 usado o comando <strong>module<\/strong> <strong>caminho\/modulo.mod<\/strong>. Esse caminho \u00e9 relativo ao dispositivo especificado no comando root. Exemplo,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>module \/boot\/grub\/i386-pc\/915resolution.mod<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Carregando outros sistemas operacionais com GRUB Legacy<\/h3>\n\n\n\n<p>Podemos usar carregamento em cadeia (chainloading) para carregar outros SOs n\u00e3o suportados, como o Windows.<\/p>\n\n\n\n<p>Exemplo de carregamento em cadeia do Windows:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Load Windows\ntitle Windows XP\nroot (hd0,1)\nmakeactive\nchainload +1\nboot<\/code><\/pre>\n\n\n\n<p>(hd0,1) \u00e9 a segunda parti\u00e7\u00e3o do primeiro disco.<\/p>\n\n\n\n<p>Vamos \u00e0 explica\u00e7\u00e3o resumida de cada linha:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code># Load Windows<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Coment\u00e1rio que descreve o prop\u00f3sito da configura\u00e7\u00e3o (n\u00e3o \u00e9 executado).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>title Windows XP<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Define o t\u00edtulo da entrada de menu, que ser\u00e1 exibido no menu do GRUB.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>root (hd0,1)<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Especifica a parti\u00e7\u00e3o onde o Windows XP est\u00e1 instalado. <code>(hd0,1)<\/code> indica a segunda parti\u00e7\u00e3o do primeiro disco.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>makeactive<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Marca a parti\u00e7\u00e3o como ativa, necess\u00e1ria para inicializar alguns sistemas operacionais, incluindo vers\u00f5es do Windows.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>chainload +1<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Transfere o controle de inicializa\u00e7\u00e3o para o primeiro setor da parti\u00e7\u00e3o (normalmente onde est\u00e1 o carregador de inicializa\u00e7\u00e3o do Windows).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>boot<\/code><\/strong>:\n<ul class=\"wp-block-list\">\n<li>Inicia o processo de boot na parti\u00e7\u00e3o especificada.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aqui est\u00e1 uma tabela com a defini\u00e7\u00e3o dos termos que mencionaremos nesse post: Termo Defini\u00e7\u00e3o menu.lst, grub.cfg, grub.conf Arquivos de configura\u00e7\u00e3o usados pelo GRUB (GRand Unified Bootloader). menu.lst e grub.conf s\u00e3o usados pelo GRUB Legacy, enquanto grub.cfg \u00e9 usado pelo GRUB 2. Esses arquivos cont\u00eam as entradas de boot e as configura\u00e7\u00f5es do carregador de&#8230;<\/p>\n<p class=\"more-link-wrap\"><a href=\"https:\/\/categoriaoutros.com.br\/?p=16101\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &ldquo;Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB&rdquo;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,2918],"tags":[4835],"class_list":["post-16101","post","type-post","status-publish","format-standard","hentry","category-informatica-dicas","category-linux","tag-lpi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB - Categoria Outros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/categoriaoutros.com.br\/?p=16101\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB - Categoria Outros\" \/>\n<meta property=\"og:description\" content=\"Aqui est\u00e1 uma tabela com a defini\u00e7\u00e3o dos termos que mencionaremos nesse post: Termo Defini\u00e7\u00e3o menu.lst, grub.cfg, grub.conf Arquivos de configura\u00e7\u00e3o usados pelo GRUB (GRand Unified Bootloader). menu.lst e grub.conf s\u00e3o usados pelo GRUB Legacy, enquanto grub.cfg \u00e9 usado pelo GRUB 2. Esses arquivos cont\u00eam as entradas de boot e as configura\u00e7\u00f5es do carregador de...Read More &ldquo;Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB&rdquo; &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/categoriaoutros.com.br\/?p=16101\" \/>\n<meta property=\"og:site_name\" content=\"Categoria Outros\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/categoriaoutros\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-09T13:27:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-09T13:27:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/pinguim-paginas-padrao.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1022\" \/>\n\t<meta property=\"og:image:height\" content=\"722\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Categoria: Outros\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CategoriaOutros\" \/>\n<meta name=\"twitter:site\" content=\"@CategoriaOutros\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Categoria: Outros\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=16101#article\",\"isPartOf\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=16101\"},\"author\":{\"name\":\"Categoria: Outros\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40\"},\"headline\":\"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB\",\"datePublished\":\"2024-08-09T13:27:47+00:00\",\"dateModified\":\"2024-08-09T13:27:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=16101\"},\"wordCount\":3721,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#organization\"},\"keywords\":[\"LPI\"],\"articleSection\":[\"Inform\u00e1tica\",\"Linux\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/categoriaoutros.com.br\/?p=16101#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=16101\",\"url\":\"https:\/\/categoriaoutros.com.br\/?p=16101\",\"name\":\"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB - Categoria Outros\",\"isPartOf\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#website\"},\"datePublished\":\"2024-08-09T13:27:47+00:00\",\"dateModified\":\"2024-08-09T13:27:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=16101#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/categoriaoutros.com.br\/?p=16101\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/categoriaoutros.com.br\/?p=16101#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/categoriaoutros.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#website\",\"url\":\"https:\/\/categoriaoutros.com.br\/\",\"name\":\"Categoria Outros\",\"description\":\"Assuntos Diversos\",\"publisher\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/categoriaoutros.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#organization\",\"name\":\"Categoria Outros\",\"alternateName\":\"Categoria Outros\",\"url\":\"https:\/\/categoriaoutros.com.br\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg\",\"contentUrl\":\"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg\",\"width\":400,\"height\":400,\"caption\":\"Categoria Outros\"},\"image\":{\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/categoriaoutros\",\"https:\/\/twitter.com\/CategoriaOutros\",\"https:\/\/br.pinterest.com\/CategoriaOutros\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40\",\"name\":\"Categoria: Outros\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g\",\"caption\":\"Categoria: Outros\"},\"sameAs\":[\"http:\/\/categoriaoutros.com.br\"],\"url\":\"https:\/\/categoriaoutros.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB - Categoria Outros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/categoriaoutros.com.br\/?p=16101","og_locale":"pt_BR","og_type":"article","og_title":"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB - Categoria Outros","og_description":"Aqui est\u00e1 uma tabela com a defini\u00e7\u00e3o dos termos que mencionaremos nesse post: Termo Defini\u00e7\u00e3o menu.lst, grub.cfg, grub.conf Arquivos de configura\u00e7\u00e3o usados pelo GRUB (GRand Unified Bootloader). menu.lst e grub.conf s\u00e3o usados pelo GRUB Legacy, enquanto grub.cfg \u00e9 usado pelo GRUB 2. Esses arquivos cont\u00eam as entradas de boot e as configura\u00e7\u00f5es do carregador de...Read More &ldquo;Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB&rdquo; &raquo;","og_url":"https:\/\/categoriaoutros.com.br\/?p=16101","og_site_name":"Categoria Outros","article_publisher":"https:\/\/www.facebook.com\/categoriaoutros","article_published_time":"2024-08-09T13:27:47+00:00","article_modified_time":"2024-08-09T13:27:50+00:00","og_image":[{"width":1022,"height":722,"url":"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/pinguim-paginas-padrao.webp","type":"image\/webp"}],"author":"Categoria: Outros","twitter_card":"summary_large_image","twitter_creator":"@CategoriaOutros","twitter_site":"@CategoriaOutros","twitter_misc":{"Escrito por":"Categoria: Outros","Est. tempo de leitura":"17 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/categoriaoutros.com.br\/?p=16101#article","isPartOf":{"@id":"https:\/\/categoriaoutros.com.br\/?p=16101"},"author":{"name":"Categoria: Outros","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40"},"headline":"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB","datePublished":"2024-08-09T13:27:47+00:00","dateModified":"2024-08-09T13:27:50+00:00","mainEntityOfPage":{"@id":"https:\/\/categoriaoutros.com.br\/?p=16101"},"wordCount":3721,"commentCount":0,"publisher":{"@id":"https:\/\/categoriaoutros.com.br\/#organization"},"keywords":["LPI"],"articleSection":["Inform\u00e1tica","Linux"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/categoriaoutros.com.br\/?p=16101#respond"]}]},{"@type":"WebPage","@id":"https:\/\/categoriaoutros.com.br\/?p=16101","url":"https:\/\/categoriaoutros.com.br\/?p=16101","name":"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB - Categoria Outros","isPartOf":{"@id":"https:\/\/categoriaoutros.com.br\/#website"},"datePublished":"2024-08-09T13:27:47+00:00","dateModified":"2024-08-09T13:27:50+00:00","breadcrumb":{"@id":"https:\/\/categoriaoutros.com.br\/?p=16101#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/categoriaoutros.com.br\/?p=16101"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/categoriaoutros.com.br\/?p=16101#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/categoriaoutros.com.br\/"},{"@type":"ListItem","position":2,"name":"Linux LPI 102.2: Instalando o gerenciador de inicializa\u00e7\u00e3o GRUB"}]},{"@type":"WebSite","@id":"https:\/\/categoriaoutros.com.br\/#website","url":"https:\/\/categoriaoutros.com.br\/","name":"Categoria Outros","description":"Assuntos Diversos","publisher":{"@id":"https:\/\/categoriaoutros.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/categoriaoutros.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/categoriaoutros.com.br\/#organization","name":"Categoria Outros","alternateName":"Categoria Outros","url":"https:\/\/categoriaoutros.com.br\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg","contentUrl":"https:\/\/categoriaoutros.com.br\/wp-content\/uploads\/2023\/08\/categoriaoutros-logo.jpg","width":400,"height":400,"caption":"Categoria Outros"},"image":{"@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/categoriaoutros","https:\/\/twitter.com\/CategoriaOutros","https:\/\/br.pinterest.com\/CategoriaOutros\/"]},{"@type":"Person","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/ba0f432708449436912bd6736864bb40","name":"Categoria: Outros","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/categoriaoutros.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed97775f0ab50750ed638ed3417ea85e19ced2c648da167a108e393ae5fd9e33?s=96&d=mm&r=g","caption":"Categoria: Outros"},"sameAs":["http:\/\/categoriaoutros.com.br"],"url":"https:\/\/categoriaoutros.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts\/16101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16101"}],"version-history":[{"count":33,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts\/16101\/revisions"}],"predecessor-version":[{"id":16162,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=\/wp\/v2\/posts\/16101\/revisions\/16162"}],"wp:attachment":[{"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/categoriaoutros.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}