Actualmente tengo todo el disco /dev/sda
formateado como ext4 e instalé Gentoo.
(No hay MBR, no hay partición en absoluto).
Pero finalmente, no puedo instalar GRUB en él, porque parece que GRUB necesita escribir en 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.
tampoco grub
funciona
# grub
grub> root (hd0)
Filesystem type unknown, using whole disk
grub> setup (hd0)
Error 17: Cannot mount selected partition
¿De alguna manera puedo instalar GRUB en / dev / sda sin MBR?
PD El /boot
directorio y los grub.conf
archivos:
# 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
fuente
fuente
grub-install /dev/sda
?Respuestas:
El BIOS lee el primer sector (512 bytes) del disco y se ramifica en él. Si su disco contiene particiones estilo PC, el primer sector también contiene la tabla de particiones. Si su disco contiene un único sistema de archivos, el primer sector contiene lo que el sistema de archivos decida poner allí. En el caso de ext [234] (y muchos otros sistemas de archivos), el primer sector¹ está reservado para el gestor de arranque (e inicialmente se pone a cero). Puedes instalar Grub en
/dev/sda
.Dicho esto, hay BIOS ocasionales que se niegan a arrancar desde un dispositivo que no contiene una tabla de particiones. (¡Pero también hay BIOS que se niegan a arrancar desde algunos dispositivos externos si contienen una tabla de particiones!) Si tiene uno de estos BIOS, tendrá que crear una tabla de particiones.
Incluso si una tabla de partición no es necesaria, se recomienda. Solo desperdicia unos pocos kilobytes y obtiene legibilidad en muchos sistemas operativos que no son Linux y menos sorpresa para cualquier co-administrador de sistemas. Si conecta accidentalmente su disco a una máquina que ejecuta Windows, puede sugerirle que vuelva a formatear el disco si no ve una tabla de particiones, mientras que simplemente se quejará de que no puede leer los datos si ve una tabla de particiones con un tipo de partición que no reconoce.
¹ De hecho, el primer bloque, creo, donde un bloque es 1kB, 2kB o 4kB, dependiendo de las opciones que se pasen
mkfs
.fuente
image.ext4
. La razón por la que uso todo el disco para un sistema de archivos es que quiero montar el volumen directamente en el sistema operativo host, sin el complicado desplazamiento de la partición-o loop,offset=1048576
.--recheck
, actualizará su tabla de mapas con esas unidades sin particiones, luego se quejará cuando compruebe su tabla de particiones no existente. Si elimino estas rutas de disco del archivo de mapa, la advertencia desaparece.No es obligatorio que GRUB deba escribirse en MBR. Puede instalarlo en el sector de arranque de partición y dejar que el otro cargador de arranque de MBR lo cargue, como el cargador de Windows 7.
http://www.linuxselfhelp.com/gnu/grub/html_chapter/grub_3.html
fuente
Casi todo espera una tabla de particiones. Creo que tendrá que volver a instalar y seguir las pautas sugeridas para tener al menos una partición / boot, swap y / root. ¿Dónde está tu intercambio?
fuente
/boot
ya no se recomienda en el hardware moderno (fue un error evitar las limitaciones del BIOS en los tamaños de disco y la falta de soporte para modos de disco avanzados como LVM en Grub 1)./boot
? Si es así, ¿por qué es mejor dejar/boot
en la misma partición que/
?/boot
con Lilo o Grub 2, pero no con Grub 1. Un separar/boot
tiene un costo administrativo (que necesita para hacer una partición más, y hay que tener cuidado de no confundir/boot
con/
), así que solo usarías uno si hay una razón (como que tu gestor de arranque no entienda LVM).