He estado intentando instalar Arch Linux. Después de la instalación, muestra la pantalla del BIOS y luego aparece un mensaje que dice "No se encontró ningún dispositivo de arranque".
He revisado todo el escenario ahora algunas veces, aún así muestra el mismo mensaje ...
En la instalación, he seguido la Guía no oficial para principiantes de la wiki de ArchLinux.
Aquí esta lo que hice:
En primer lugar, limpié el disco duro (en el que antes estaba instalado Windows Vista) y puse GPT usando gdisk. Luego configuré algunas particiones, que ahora se ven como las siguientes (salida de parted):
Model: ATA ST9160310AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB BIOS boot partition bios_grub
2 2097kB 107MB 105MB ext2 Linux filesystem
3 107MB 21.6GB 21.5GB ext4 Linux filesystem
4 21.6GB 30.2GB 8590MB linux-swap(v1) Linux swap
5 30.2GB 160GB 130GB ext4 Linux filesystem
Luego monté la partición raíz (sda2) en / mnt, después de eso también la partición boot y home (sda3 y sda5) en / mnt / boot y / mnt / home y al final formateé y activé la partición swap (sda4) .
Ahora comencé a instalar el sistema base. Después de seleccionar los espejos, instalé base y base-devel.
Al final de la instalación, generé un fstab.
Luego finalmente me puse en / mnt, configuré algunas configuraciones regionales, establecí una contraseña de root y luego instalé y configuré Grub2, exactamente como se explica aquí .
Al final salí del entorno chroot, desmonté las particiones y reinicié. Ya sabes el resto ... Simplemente mostró el mensaje de que no podía encontrar ningún dispositivo de arranque.
Por cierto, intenté instalarlo en esta computadora.
dd if=/dev/sda bs=1 skip=510 count=2 2>&- | hexdump
(o xxd en lugar de hexdump) es igual a 55aa? Si no, el MBR es malo.0000000 aa55 0000002
Si el MBR es malo, ¿cómo se dice, hay algo que pueda hacer para que vuelva a funcionar?aa55
es la firma MBR correcta (55aa
en el sistema little endian).Respuestas:
Tuve el mismo problema y al buscar encontré que uuid de root / partición está mal en grub.cfg, puedes probar esto:
mount /dev/sdxx /mnt
(sdxx es tu partición raíz)arch-chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install
terminar.
fuente
grub-install
: decía que no habría una partición de arranque de Bios/dev/sda
, mientras que en realidad hay una.OKAY. Se hizo un poco largo para comentar. Esto no está directamente relacionado, sino solo para explicar el
aa55
comentario.Cuando el Basic Input / Output System (BIOS) comienza lo hace una prueba automática de encendido (POST), el hardware de verificación, etc. A continuación, busca los dispositivos que son a la vez de arranque y activa de orden dada por CMOS (Su configuración en el BIOS - el cual a su vez está dado por un semiconductor de óxido de metal complementario ). Cuando encuentra un disco que tiene
0xaa55
un desplazamiento 510, carga esa sección del disco (sector 1) en la memoria y le deja el control en la dirección 0x00000 de ese código. Esos 512 bytes son el Master Boot Record (MBR).Ese código, en este caso " GRUB - boot" , verifica varios bytes de estos 512 además de pedirle al BIOS información diversa. En este proceso, localiza qué disco tiene el resto de GRUB y carga esa sección del disco en la memoria; luego, esa parte del código obtiene el control. Ese monta el núcleo, etc. y deja el control a eso.
Usando GPT, la imagen que GRUB carga desde dentro de MBR se encuentra en la
bios_grub
partición, que tiene, y es lo suficientemente grande, etc., por lo que no puedo ver cómo eso podría estar mal.En "No se encontró ningún dispositivo de arranque". mensaje del BIOS: se puede tener el caso de que el MBR del disco de arranque está dañado, si MBR termina
0xaa55
y el MBR está dañado, generalmente se obtiene otro error, o el sistema simplemente se bloquea.De todos modos. Esto es raro Noto que no tiene una partición marcada como "arranque" . Usar GPT es correcto, pero, aunque está prohibido, podría intentar marcar uno, por ejemplo,
sda5
como arranque.En gparted:(aprendí que (g) se separó también alter GPT que no quería) fdisk:Podría ser que su BIOS esté haciendo más de lo que debería y verificando la tabla de particiones en MBR.
EDITAR - Actualizar para comentar:
AFAIK, no importa cuál establezca, ya que no se usa realmente. El punto es que, para quienes digan que no se encontró un "dispositivo de arranque" , estarán satisfechos. No
sda1
es una partición de arranque en el sentido tradicional, sino espacio para archivos de arranque GRUB.En un diseño de partición tradicional (no GPT), generalmente tiene algo como:
Eso significaría 3 particiones. Todo antes del offset 0x400 en el HDD i bytes sin procesar , como no forma parte de ninguna partición, etc.
Aquí la partición de arranque es la Partición 2 que es la partición del sistema con Linux.
Los archivos del módulo 1 de GRUB residen justo después de MBR y antes de la primera partición. Puede residir en cualquier lugar, pero generalmente en el mismo disco y en el desplazamiento 512 del disco MBR.
También en un sistema GPT: GPT usa esa sección del disco para sí mismo, por lo tanto, uno tiene que mover esos archivos GRUB a otra ubicación. Para eso
bios_grub
está: para almacenarcore.img
GRUB 2.La "bandera de inicio" es simplemente un disparo en la oscuridad, y se sorprendería si funciona. Pero uno ha comenzado en alguna parte.
EDIT2:
¿Qué pasa si haces esto?
Copia de seguridad de MBR actual:
Cree una imagen desde
Code TEST
abajo, guardada en el archivotest.s
por:Copie el
test.img
archivo a MBR:Bota
PRUEBA de código:
Para restaurar MBR haz:
Esto debería simplemente imprimir "¡Hola!" a la pantalla si se cargó el MBR, luego deténgase. Lo probé ejecutando qemu-system-x86_64, qemu-system-i386, VirtualBox, PC Intel estacionaria de 32 y 64 bits.
fuente
sda5
como partición de arranque? ¿No essda1
una mejor opción para establecer como partición de arranque, ya que está aquí solo para eso?Puedo estar equivocado y no he hecho lo correcto, pero al principio tuve el mismo problema que tú. Después de un tiempo, he encontrado aquí eso
GRUB has to have a 512MB EFI partition, with a vfat filesystem
. Esto es en caso de que instale su sistema como EFI:Esto significa que debe anticipar este hecho al crear sus particiones. Mientras lo hace (con cfdisk por ejemplo), deberá configurar su / dev / sdX1 como EFI, luego formatearlo en un sistema de archivos FAT32 (con el comando
mkfs.vfat -F32 /dev/sdX1
durante el proceso de instalación). Solo entonces se reconocerá a grub.Sin embargo, supongo que Syslinux puede trabajar con su partición ext2, si tiene ganas de probarlo.
Si no instala Arch como EFI, probablemente pueda consultar el wiki en absoluto. No puedo ayudar más en este caso.
Sé que esta publicación es antigua, pero esto es en caso de que alguien venga y espere encontrar una solución.
fuente
512MB (at least)
, fue al revés ...