(make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64") 2>&1 | myprogram
Удостоверьтесь, что UEFI не собирается блокировать Linux из Вашей машины; существует, вероятно, установка на тот эффект в BIOS. Проверьте и проверьте наверняка. Я перепроверил бы эту точку с руководством и с производителем, если Вы должны.
Была некоторая расширенная дискуссия об этом; ZDNet имел несколько статей. Вот статья с 21 сентября 2011 и один с 23 сентября.
Во-вторых, на основе исторических данных, можно хотеть установить Windows сначала. Традиционно, Windows просто предполагает, что это - единственная ОС на машине - таким образом, это вытирает любые данные начальной загрузки, связанные с Linux. Это может отличаться для UEFI, я не знаю.
Править: Когда я записал этот ответ, очень немного дистрибутивов, поставленных с EFI_STUB, настроили ядро, таким образом, нужно было создать пользовательский. В наше время большинство дистрибутивов поставляет соответственно настроенное ядро, и сделанное на заказ не требуется больше. В этом случае разделы “Настраивают Ваши разделы”, и “Установка вещей” является интересными, “Требования” и “Компиляция ядра” могут быть пропущены.
Я не знаю, как Windows обрабатывает UEFI, но со стороны Debian это довольно просто.
Используйте схему выделения разделов GPT, не MBR.
Для начальной загрузки от раздела GPT с UEFI, специализированный раздел начальной загрузки получает мандат, названный Системным разделом EFI (ESP). Это не обязательно, но самый совместимый путь состоит в том, чтобы использовать раздел FAT32. Размер 200 мебибайт должен быть хорошо для большинства случаев.
Для регистрации раздела как ESP это должно быть отмечено с помощью boot
флаг. В отличие от схем MBR, флаг начальной загрузки только используется для указания на ESP, не разделы, чтобы смочь загрузиться от.
UEFI использует структуру каталогов \EFI\<vendor>\<application>.efi
сохранить приложения UEFI. Разделитель каталога обозначен обратной косой чертой, даже на Linux. могло быть имя распределения, фактическое значение не относится к UEFI.
Приложения могут быть системными утилитами как средства проверки памяти или оболочка UEFI. Это может также быть загрузчик ОС или сама операционная система. Эти приложения должны быть зарегистрированы в UEFI, чтобы смочь быть запущенными во время начальной загрузки.
Версия ядра Linux> =3.3 может быть загружена непосредственно UEFI. Ядро может действовать как свой собственный загрузчик. Это называют EFISTUB. Следующие конфигурации ядра необходимы.
CONFIG_EFI=y CONFIG_EFI_PARTITION=y CONFIG_EFI_STUB=y CONFIG_RELOCATABLE=y CONFIG_FB_EFI=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_EFI_VARS=m
Ядро с этой конфигурацией в настоящее время находится не в стабильном Debian, все же. Можно или испечь собственное ядро или использовать то от экспериментального дерева в этом случае, можно пропустить следующий абзац.
(вероятно, не необходимый больше, посмотрите редактирование),
Если Вы решаете скомпилировать ядро, вот короткие команды, как сделать это. При столкновении с проблемами существует много информации, доступной о том, как скомпилировать ядро.
Получение источника
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Проверьте одну конкретную версию
git checkout v3.6
Конфигурирование ядра
make menuconfig
Установите настройки, которые необходимы в Вашей системе или оставляют ее, как это - если у Вас нет ничего для настройки. Это пишет конфигурацию ядра в файл .config
.
Удостоверьтесь, что настройки из предыдущего абзаца установлены. Также имеет смысл выбирать CONFIG_INPUT_EVBUG=n
. Иначе Ваши журналы будут заполнены гибибайтом спама.
Создание ядра
INSTALL_MOD_STRIP=1 make-kpkg --uc --us binary-arch
Пакеты создаются в родительском каталоге.
Установка ядра
dpkg -i linux-image-3.5.0_Custom.deb linux-headers-3.5.0_Custom.deb
Здание initramfs
mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0
3.6.0 версия ядра. Это принимает значение по умолчанию к рабочему ядру, которое не является хорошим выбором, так как Вы все еще выполняете старое ядро.
Чтобы смочь загрузить ядро Linux, это должно быть скопировано в ESP вместе с initramfs. Учитывая, что ESP смонтирован в /boot/efi
/boot/efi/EFI/debian/vmlinuz-3.6.0.efi /boot/efi/EFI/debian/initrd.img-3.6.0
Примечание: Гарантировать совместимость с большинством систем extenstion efi
должен быть добавлен к ядру.
Теперь ядро может быть зарегистрировано в UEFI. Мы используем инструмент efibootmgr
для этого.
echo "root=UUID=3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype=ext4 add_efi_memmap initrd=\\EFI\\debian\\initrd.img-3.6.0" | iconv -f ascii -t ucs2 | efibootmgr \ --create \ --gpt \ --disk /dev/sda \ --part 4 \ --label "Debian Linux kernel 3.6.0" \ --loader "\\EFI\\debian\\vmlinuz-3.6.0" \ --write-signature \ --append-binary-args -
Аргумент --disk
устройство, где ядро находится, не ESP. --part
число раздела, где ядро находится. --label
запись в меню начальной загрузки UEFI.
Для наблюдения списка доступных записей просто запуститесь efibootmgr
без аргументов. Синтаксис для удаления конкретной записи
efibootmgr -b entry (hex) -B
например:
efibootmgr -b 001a -B
Эти инструкции не обрабатывают случай обновления ядра. Ядро и initramfs автоматически не копируются в ESP. Это может быть сделано с помощью короткого сценария, который копирует ядро и initramfs к ESP и выполнениям efibootmgr
. Этот сценарий может быть помещен в /etc/kernel/postinst.d
чтобы быть запущенным автоматически после, ядро было обновлено.
Примечание: Диспетчер начальной загрузки как GRUB не нужен, сам UEFI действует как диспетчер начальной загрузки.
Это - все, в чем Вы нуждаетесь со стороны Linux, я не знаю то, что она берет для добавления Windows.
Вам не обязательно нужно к Windows двойной загрузки и Linux на UEFI. Следуйте руководству для преобразования UEFI в MBR-BIOS без потери данных.
Это руководство было сделано мной. Кроме того, отнесенный блог никогда не будет удаляться. Хотя я использовал его как 10 раз без любой потери данных, я рекомендовал бы Вам скопировать свои данные перед использованием своей процедуры.
Я могу сердечно рекомендовать ряд статьи UEFI Rod Smith. В частности, он упоминает, что "гибридный" GPT-MBR является "опасным взломом" из-за опасностей десинхронизации.