Atualmente, tenho o disco inteiro /dev/sda
formatado como ext4 e instalei o Gentoo.
(Não há MBR, nenhuma partição.)
Mas, finalmente, não consigo instalar o GRUB nele, porque parece que o GRUB precisa gravar no MBR.
# grub-install /dev/sda
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
The file /boot/grub/stage1 not read correctly.
nem grub
funciona,
# grub
grub> root (hd0)
Filesystem type unknown, using whole disk
grub> setup (hd0)
Error 17: Cannot mount selected partition
De alguma maneira posso instalar o GRUB no / dev / sda sem MBR?
PS O /boot
diretório e os grub.conf
arquivos:
# tree /boot
/boot
|-- boot -> .
|-- grub
| |-- default
| |-- device.map
| |-- e2fs_stage1_5
| |-- fat_stage1_5
| |-- ffs_stage1_5
| |-- grub.conf
| |-- iso9660_stage1_5
| |-- jfs_stage1_5
| |-- menu.lst -> grub.conf
| |-- minix_stage1_5
| |-- reiserfs_stage1_5
| |-- splash.xpm.gz
| |-- stage1
| |-- stage2
| |-- stage2_eltorito
| |-- ufs2_stage1_5
| |-- vstafs_stage1_5
| `-- xfs_stage1_5
`-- kernel-2.6.36-gentoo-r5
# cat /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.36-r5
root (hd0)
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda
title Gentoo Linux 2.6.36-r5 Rescue
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda init=/bin/bb
# cat /boot/grub/devices
(fd0) /dev/fd0
(hd0) /dev/sda
boot
grub-legacy
Xiè Jìléi
fonte
fonte
grub-install /dev/sda
?Respostas:
O BIOS lê o primeiro setor (512 bytes) do disco e se ramifica nele. Se o seu disco contiver partições no estilo PC, o primeiro setor também conterá a tabela de partições. Se o seu disco contiver um único sistema de arquivos, o primeiro setor conterá o que o sistema de arquivos decidir colocar nele. No caso do ext [234] (e muitos outros sistemas de arquivos), o primeiro setor¹ é reservado para o gerenciador de inicialização (e é zerado inicialmente). Você pode instalar o Grub no
/dev/sda
.Dito isto, existem BIOS ocasionais que se recusam a inicializar a partir de um dispositivo que não contém uma tabela de partição. (Mas também existem BIOS que se recusam a inicializar a partir de alguns dispositivos externos, se eles contiverem uma tabela de partição!) Se você tiver um desses BIOS, precisará criar uma tabela de partição.
Mesmo que uma tabela de partição não seja necessária, é recomendável. Você desperdiça apenas alguns kilobytes e obtém legibilidade em muitos sistemas operacionais não Linux e menos surpresa para qualquer co-administrador de sistemas. Se você acidentalmente conectar seu disco a uma máquina executando o Windows, poderá sugerir que você reformate o disco se não vir uma tabela de partição, ao passo que apenas reclamará que não pode ler os dados se vir uma tabela de partição com um tipo de partição que não reconhece.
¹ De fato, o primeiro bloco, eu acho, onde um bloco é de 1 KB, 2kB ou 4kB dependendo das opções passadas para
mkfs
.fonte
image.ext4
. A razão de eu usar o disco inteiro para um sistema de arquivos é que, eu quero montar o volume diretamente no sistema operacional hospedeiro, sem a partição complicado compensado como-o loop,offset=1048576
.--recheck
, ele atualizará sua tabela de mapas com essas unidades sem partição e depois reclamará quando verificar a tabela de partição inexistente. Se eu remover esses caminhos de unidade do arquivo de mapa, o aviso desaparecerá.Não é obrigatório que o GRUB precise ser gravado no MBR. Você pode instalá-lo no setor de inicialização da partição e permitir que o outro carregador de inicialização da MBR o carregue, como o Windows 7 loader.
http://www.linuxselfhelp.com/gnu/grub/html_chapter/grub_3.html
fonte
Quase tudo espera uma tabela de partição. Eu acho que você precisará reinstalar e seguir as diretrizes sugeridas para ter pelo menos uma partição / boot, swap e / root. Onde está sua troca?
fonte
/boot
não são mais recomendadas no hardware moderno (era um problema ignorar as limitações do BIOS em tamanhos de disco e falta de suporte para modos de disco avançados, como LVM no Grub 1)./boot
? Se sim, por que é melhor deixar/boot
na mesma partição que/
?/boot
com Lilo ou Grub 2, mas não com Grub 1. A separar/boot
tem um custo administrativo (que você precisa para fazer mais uma partição, e você precisa ter cuidado para não misturar-se/boot
com/
), portanto, você só usaria um se houver um motivo (como o seu carregador de inicialização não entender o LVM).