- Печать
Страницы: [1] Вниз
Тема: не работает мультизагрузка grub4dos (Прочитано 4824 раз)
0 Пользователей и 1 Гость просматривают эту тему.
разделы на диске:
sda1 500Мб
sda2 400 с лишним Гб — Windows + puppy roll
sda3 30 Гб — данные
sda4 10 Гб — linux ext4 (установлен antiX)
В menu.list добавил пункт
title antiX
root (hd0,3)
kernel (hd0, 3)/boot/vmlinuz-4.9.126-anti.1-amd64-smp root=(hd0,3)
initrd (hd01,3)/boot/initrd.img-4.9.126-anti.1-amd64-smp
При загрузке после выбора этого пункта появляется ошибка:
Error13: Invalid or unsupported executable format
Записан
Error13: Invalid or unsupported executable format
Слишком много ошибок:
(hd01,3) — лишняя цифра
(hd0, 3) — лишний пробел
kernel ….. root=(hd0,3) — нет такого параметра
Правильно:
title antiX
root (hd0,3)
kernel (hd0,3)/boot/vmlinuz-4.9.126-anti.1-amd64-smp root=/dev/sda4
initrd (hd0,3)/boot/initrd.img-4.9.126-anti.1-amd64-smp
Еще, нет ли ошибок в названии файла —> initrd.img-4.9.126-anti.1-amd64-smp
Записан
kernel ….. root=(hd0,3) — нет такого параметра
Для full есть, только без скобок: root=sda4
Записан
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64
Дело не в указанных ошибках.
файл menu.lst
title antiX
root (hd0,3)
kernel (hd0,3)/boot/vmlinuz-4.9.126-anti.1-amd64-smp root=/dev/sda4
initrd (hd0,3)/boot/initrd.img-4.9.126-anti.1-amd64-smp
Текст сообщения после выбора пункта меню grub4dos:
Booting AntiX linux
Filesistem tipe is ext2fs, partition type 0x83
kernel (hd0,3)/boot/vmlinuz-4.9.126-anti.1-amd64-smp root=/dev/sda4
Error 13: Invalid or unsupported executable format
Press any key to continue…
Может надо снести grub4dos и поставить grub2?
Записан
попробуйте
itle antiX
find --set-root --ignore-floppies --ignore-cd /boot/vmlinuz-4.9.126-anti.1-amd64-smp
kernel /boot/vmlinuz-4.9.126-anti.1-amd64-smp root=/dev/sda4
initrd /boot/initrd.img-4.9.126-anti.1-amd64-smp
Записан
Спасибо.
Доступ к данной машине один раз в неделю.
Напишу что получилось 13 января во второй половине дня.
Записан
Error 13: Invalid or unsupported executable format
Файлы точно не битые? Контрольные суммы проверяли? Загрузочный носитель аппаратно без проблемный?
Записан
1
Файлы точно не битые? Контрольные суммы проверяли? Загрузочный носитель аппаратно без проблемный?
Проверял md5sum iso-файла образа antiX (после его скачивания).
На жестком диске при создании раздела и форматировании в ext4 ошибок не было.
2
команда:
$ sudo fdisk -l
вывод:
Диск /dev/sda: 465.8 GiB
тип метки диска: dos
устройство загрузочн. размер тип
/dev/sda1 * 500M 7 HPFS/ NTFS/ exFAT
/dev/sda2 424.6 G 7 HPFS/ NTFS/ exFAT
/dev/sda3 30 G 7 HPFS/ NTFS/ exFAT
/dev/sda4 10.8 G 83 Linux
Элементы таблицы разделов упорядочены не так, как на диске.
Не понимаю в чём смысл этого сообщения.
3
файл menu.lst
title antiX
find —set-root —ignore-floppies —ignore-cd /boot/vmlinuz-4.9.126-anti.1-amd64-smp
kernel /boot/vmlinuz-4.9.126-anti.1-amd64-smp root=/dev/sda4
initrd /boot/initrd.img-4.9.126-anti.1-amd64-smp
вывод:
Booting AntiX linux
(hd0,3)
kernel /boot/vmlinuz-4.9.126-antix.1-amd64-smp root=/dev/sda4
Error 13: Invalid or unsupported executable format
Press any key to continue…
4
На англоязычном форуме прочитал, что grub4dos работает не со всеми дисками. И об этом оказывается народ давно знает. Поэтому я вместо него поставлю grub2.
Всем спасибо. Тему можно закрывать.
Записан
Не понимаю в чём смысл этого сообщения.
Ничего страшного. Просто уведомление о том, что физически на винте разделы расположены в одном порядке, а в таблице разделов в другом. Это ни на что не влияет.
Error 13: Invalid or unsupported executable format
Только с antiX так?
Записан
Ничего страшного. Просто уведомление о том, что физически на винте разделы расположены в одном порядке, а в таблице разделов в другом. Это ни на что не влияет.
Скопировал файлы vmlinuz-4.9.126-anti.1-amd64-smp, initrd.img-4.9.126-anti.1-amd64-smp в корень раздела Windows (sda2).
Изменил файл menu.lst:
title antiX
find —set-root —ignore-floppies —ignore-cd /vmlinuz-4.9.126-anti.1-amd64-smp
kernel /vmlinuz-4.9.126-anti.1-amd64-smp root=/dev/sda4
initrd /initrd.img-4.9.126-anti.1-amd64-smp
И всё заработало. AntiX успешно загрузился.
Поэтому grub2 не стал ставить.
Записан
ставил «для порядка — в каталог»:
сначала устанавливал на флэшку, потом копировал «результат» в каталог + соответственная правка в 3-х местах в путях загрузчика.(вроде можно проще, но пока не до того)
p.s.
для МагОс можно ли что-то «вроде того» ?
Записан
Gr4D, Grub2; HP Mini 210 VT — Intel Atom N470 @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 — 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.
Скопировал файлы vmlinuz-4.9.126-anti.1-amd64-smp, initrd.img-4.9.126-anti.1-amd64-smp в корень раздела Windows (sda2).
И всё заработало. AntiX успешно загрузился.
Была у нас похожая тема, вроде с ArchBang. Там тоже все заработало после переноса vmlinuz и initrd на fat32.
В той теме железо было с UEFI, здесь похоже тоже.
Записан
Error 13: Invalid or unsupported executable format
Тут копировал содержимое ddr01-1908-i686.iso/ddr01/ в пустую папку ddr01 и никак не мог запуститься, постоянно Error 13. Все перепроверил, никак.
В итоге полностью все удалил, и копировал уже всю папку ddr01 из iso. Запустилось.
Это я вспомнил ситуации, когда при поддержке и помощи всего форума так и не смогли решить проблемы с Error 13 в нескольких темах.
upd. Т.к. проверял в qemu, то скорее всего это ‘шутки’ cache.
« Последнее редактирование: 08 Август 2019, 13:30:18 от krasnyh »
Записан
- Печать
Страницы: [1] Вверх
0 / 0 / 0 Регистрация: 18.12.2013 Сообщений: 8 |
|
1 |
|
27.06.2015, 16:31. Показов 20007. Ответов 3
Сегодня ни с того ни с сего комп выдал: Пробовал запустить установщик винды с флешки (не уверен что все правильно делал, запускал с биос), выводит абсолютно то же самое. В безопасный режим войти нельзя, до него дело даже не доходит. Есть шансы вылечить?
0 |
киберпаразит 9719 / 2783 / 188 Регистрация: 14.06.2011 Сообщений: 9,586 |
|
27.06.2015, 16:50 |
2 |
Пробовал запустить установщик винды с флешки уверены в загрузочности флешки? secure boot и иже с ним отключен в bios? и правильный ли приоритет устройств там же, в bios? Добавлено через 11 минут
chainloader /bootmgr ой. так это ж вроде grub …
0 |
0 / 0 / 0 Регистрация: 18.12.2013 Сообщений: 8 |
|
27.06.2015, 16:52 [ТС] |
3 |
secure bios отключил, ничего не меняется.. Проверил комп авастом, перезаргузил и всё. Не знаю каким раком это могло повлиять
0 |
киберпаразит 9719 / 2783 / 188 Регистрация: 14.06.2011 Сообщений: 9,586 |
|
27.06.2015, 16:54 |
4 |
Решение
Может в этом проблема? может.
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
27.06.2015, 16:54 |
4 |
I wrote a kernel. Here is my kernel start up file:
.text
.globl start
start:
jmp main
mboot:
.set ALIGN, 1<<0
.set MEMINFO, 1<<1
.set FLAGS, ALIGN | MEMINFO
.set MAGIC, 0x1BADB002
.set CHECKSUM, -(MAGIC + FLAGS)
.section multiboot
.align 4
.long MAGIC
.long FLAGS
.long CHECKSUM
main:
call kernel_main
cli
hlt
Here is my first C file:
void print(char *message, int line,int ch){
char *vm=(char *)0xb8000;
int i=(line*80*2);
i=i+(ch*2);
while(*message!=0){
if (*message=='n'){line++;
i=(line*80*2);}
else {vm[i]=*message;
i++;
vm[i]=0x07;
i++;} *message++;}}
Based on that I wrote a second C file:
#include "ESfunctions.c" //this is the previous C file
kernel_main(){
print("Hi!nHow do you like my OS?",0,0);}
Edit: Here is my linker script:
OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS
{
.text 0x100000 : {
code = .; _code = .; __code = .;
*(.text)
. = ALIGN(4096);
}
.data : {
data = .; _data = .; __data = .;
*(.data)
. = ALIGN(4096);
}
.bss :
{
bss = .; _bss = .; __bss = .;
*(.bss)
. = ALIGN(4096);
}
end = .; _end = .; __end = .;
}
Edit: I am not using a cross-compiler. I am using gcc on Ubuntu.
I compiled the C code and assembled the assembly code and linked them together. Then I turned it into a bootable image and together with grub I burned it all onto a disc. After grub started I entered the command «kernel KERNEL.BIN» (KERNEL.BIN is my kernel) and grub said «Error 13: Invalid or unsupported executable format. What is wrong? Can anybody help me?
Grub can not find this kernel
This could be for several reasions.
-
The name of the kernel is wrong (since this is a xen kernel this would not supprise me). Try editing the line in the grub boot loader and remove the «xen» from the end of it.
-
Grub is looking in the wrong place on the file system for the kernel.
Again there is a good chance that this was caused by the V2V, possibly changing the partition numbers.
To fix this one try running the following at the grub prompt:
grub > find /vmlinuz
. This should display the something like the following.
(hd0,0)
Note that if it is different use what grub shows, it should be in the format (hd,X,Y)
Next to get the full name of the kernel type
grub > null (hd0,0) /vmli
and press TAB
This should output something like the following:
Possible files are: vmlinuz vmlinuz-2.6.18-194.17.4.el5, vmlinuz-2.6.18-194.17.4.el5xen
Let’s say for this segment that the kernel is called (again use the grub output from the prevous line to guide you):
/vmlinuz-2.6.18-194.17.4.el5
Now that you know the full name try typing the following:
grub > root (hd0,0)
grub > kernel = /vmlinuz-2.6.18-194.17.4.el5 root=/dev/VolGroup00/LogVol00
grub > boot
This should boot the system (hopefully as long as nothing else is wrong).
Once you are up and running you will need to reconfigure grub.
There is plenty of data on google showing how to do this.
0
2
1. Собрал новое ядро с незначительными изменениями конфига. Скопировал его в /boot, прописал в /boot/grub/menu.lst. Перезагружаюсь — получаю:
Error 13: Invalid or unsupported executable format
Это происходит с ядром 4.9.16. Старое ядро 4.4.6 грузится нормально.
file ядра опознаёт как:
/boot/kernel-4.4.6: Linux kernel x86 boot executable bzImage, version 4.4.6-gentoo (root@jet) #1 SMP PREEMPT Mon Jul 4 22:52:11 MSK 2016, RO-rootFS, swap_dev 0x4, Normal VGA
/boot/kernel-4.9.16: Linux kernel x86 boot executable bzImage, version 4.9.16-gentoo (root@jet) #2 SMP PREEMPT Tue Jun 6 23:40:29 MSK 2017, RO-rootFS, swap_dev 0x5, Normal VGA
Версия GRUB 0.97 (sys-boot/grub-static-0.97-r12). Gentoo. Своп не используется.
Дополнение: С GRUB 2 загрузиться удалось. С использованием BIOS.
2. Предположив, что дело в каких-то фичах нового ядра, попробовал поставить более новый GRUB, sys-boot/grub-2.02_beta3-r1. Сгенерировал /boot/grub/grub.cfg. Создал FAT-раздел, прописал в /etc/fstab, смонтировал как /boot/efi, запустил
# LC_ALL="C" grub2-install --target=x86_64-efi /dev/sda
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
Installation finished. No error reported.
Перезагружаюсь — получаю меню старого GRUB.
Дополнение: как выяснилось, материнская плата ASUS M5A78L LE не поддерживает UEFI.
На всякий случай — разметка диска:
# LC_ALL="C" parted /dev/sda print
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3947GB 3947GB ext4 root boot, esp
2 3947GB 4001GB 53.7GB linux-swap(v1) swap
3 4001GB 4001GB 2956kB boot, esp
Главный вопрос: как загрузиться с новым ядром?
Остался вопрос: почему Grub1 не работает с новым ядром.