Таким образом, мой первый вопрос - почему я не могу наблюдать ata_piix модуль здесь, только в журналах времени начальной загрузки? Это, потому что ata_piix (и sd) создаются как встроенные драйверы в (монолитном) ядре, в противоположность тому, чтобы быть созданным как (загружаемые) .ko модули ядра?
Вы не должны предполагать, какова Ваша конфигурация. На моей машине я имею
$ uname -a
Linux orwell 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
Файл конфигурации для этого ядра, расположен в /boot/config-3.2.0-4-amd64
.
Вы спросили о ata_piix
. Поиск вышеупомянутого .config
файл, мы видим CONFIG_ATA_PIIX=m
. мы можем подтвердить это путем выполнения
dlocate ata_piix.ko
альтернативно
dpkg -S ata_piix.ko
linux-image-3.2.0-4-amd64: /lib/modules/3.2.0-4-amd64/kernel/drivers/ata/ata_piix.ko
Так, по крайней мере, в моем ядре, это - модуль.
Вы можете найти Rod's books on EFI полезным, а установка refind, которую он написал, может также помочь (я включил его в ALT Linux Rescue, также попробуйте опцию сканирования "pyramid" на этом образе, чтобы посмотреть, поможет ли это).
Теперь вы используете менеджер загрузки прошивки, список загрузок доступен через утилиту efibootmgr
. Вы получите ещё одну запись (и, скорее всего, захотите установить её по умолчанию :), если вы установите refind: то загрузится прошивка, она загрузит grub или windows boot manager, и они запустят свои ядра (ирония заключается в том, что, по крайней мере, ядро Linux может быть загружено непосредственно из менеджера загрузки прошивки, хех).
Проблема в том, что ваш grub2 - это, так сказать, "приложение EFI".
Grub2 на основе разделов BIOS имеет команду chainloader
, которая понимает синтаксис карты секторов +1
вместо имени файла. Он просто загружает эти сектора и запускает их, предполагая, что они являются частью машинного языка, который может работать поверх BIOS.
Grub2 на основе разделов UEFI-GPT имеет команду chainloader
, которая не понимает синтаксис стиля +1
. Он интерпретирует этот путь EFI
, и я думаю, что это источник сообщения об ошибке.
То, что вы пытаетесь сделать, может оказаться невозможным; то есть, чтобы загрузить обратно в мир BIOS из загрузчика UEFI.
Вы можете загрузить раздел Windows напрямую из BIOS, потому что в этот момент BIOS обнаруживает на этом диске таблицу разделов старого стиля и соответствующим образом корректирует ее индивидуальность.
Таким образом, как предлагается в ответе Майкла Шигорина: диспетчер загрузки rEFInd может быть тем, что может обеспечить лучшую двойную загрузку, которую вы ищете: http://www.rodsbooks.com/refind/