Не знам някои отговори ли на човека? В смисъл две страници клюки и никакъв смислен отговор.
Това може да помогне. Според този пост, Lenovo S205 очаква да намери Windows партиция като първа на машината. Прочети и ако помогне кажи да знаем.
Това е единиственото смислено нещо, което прочетох. Не знам дали сте забелязали ( нали все пак ще даваме Леново на съд ), но в спецификацията на UEFI пише:
3.4 Boot Mechanisms
EFI can boot from a device using the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL or the
EFI_LOAD_FILE_PROTOCOL. A device that supports the
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL must materialize a file system protocol for that
device to be bootable. If a device does not wish to support a complete file system it may produce an
EFI_LOAD_FILE_PROTOCOL which allows it to materialize an image directly. The Boot
Manager will attempt to boot using the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL first. If that
fails, then the EFI_LOAD_FILE_PROTOCOL will be used.
(страница 71, весия 2.3.1, Errata B )
Понеже, не е написано на руски ще обясня с думи две... По спецификация UEFI се опитва да намери стартиращата програма, чрез EFI_SIMPLE_FILE_SYSTEM_PROTOCOL, а след това пробва с EFI_LOAD_FILE_PROTOCOL ( структура с виртуален метод LoadFile() ).
Интересно е какво е EFI_SIMPLE_FILE_SYSTEM_PROTOCOL. Чичо Гошо казва:
The EFI_SIMPLE_FILE_SYSTEM_PROTOCOL provides a minimal interface for file-type access to a device. This protocol is only supported on some devices.
Devices that support the Simple File System protocol return an EFI_FILE_SYTEM_PROTOCOL. The only function of this interface is to open a handle to the root directory of the file system on the volume.
Once opened, all accesses to the volume are performed through the volume’s file handles, using the EFI_FILE_PROTOCOL protocol. The volume is closed by closing all the open file handles.
The firmware automatically creates handles for any block device that supports the following file system formats:
FAT12
FAT16
FAT32
т.е опитват се да кажат, че UEFI може да разпознава FAT** файлови системи автоматично, БЕЗ да се налага зареждане на междинен код. Втория метод EFI_LOAD_FILE_PROTOCOL е отворена врата за допълнителна имплементация от страна на драйверите на дъното, т.е. може да съществува код, който по някакъв начин да интерпретира зададения път на файл. А този път на файл може изобщо да не е файл, а примерно PXE Boot image ( както е дадено в примера ).
След като хвърлихме бегъл поглед, вече може да си зададем въпроса, защо не е стартирала машната. За съжаление не мога да отговоря без поне снимка на конзолата от UEFI-то. Мога само да спекулирам и да кажа:
1) Човека е направил грешка при форматирането на диска, въответно Boot Loader-а не е успял да се инсталира успешно.
2) Грешна имплементация от страна на firmware или Grub когато се използва Legacy Master Boot Record.
И така, технологията е нова и нетествана. Би следвало човек да се замисли и в тази насока.
Малко допълнителна тривиа:
Повечето от вас сигурно са се сблъсквали с Itanium-базирани машни. Те използват подобен протокол за стартиране на машината (iEFI, 2.1) като задължително първия диск е fat (не знам дали е 16 или 32 ) форматиран. Върху него седи програмата, която зарежда опрационната система. И да корените на EFI-то са в Intel ( не в MS ), като допълнителната разработа е точно унифицирането на Firmware-а м-у x86, ARM и другите бъдещи архитектури.
Q: How does UEFI differ from BIOS?
A: The Basic Input/Output System (BIOS) served as the OS-firmware interface for the original PC-XT and PC-AT computers. This interface has been expanded over the years as the "PC clone" market has grown, but was never fully modernized as the market grew. UEFI defines a similar OS-firmware interface, known as "boot services" and "runtime services", but is not specific to any processor architecture.
BIOS is specific to the Intel x86 processor architecture, as it relies on the 16-bit "real mode" interface supported by x86 processors. Q: Does UEFI completely replace a PC BIOS?
A: No. While UEFI uses a different interface for "boot services" and "runtime services", some platform firmware must perform the functions BIOS uses for system configuration (a.k.a. "Power On Self Test" or "POST") and Setup. UEFI does not specify how POST & Setup are implemented
Както виждате, разликата м-у BIOS и UEFI e съществена, и двете влизат в категорията Firmware, но UEFI не е BIOS, защото започваме да приличаме на лелките по книжарниците, които наричат копирната машина ксерокс. Всъщност UEFI е от голяма полза точно на GNU/Linux защото големите компании имат ресурс да пишат различен код за различен firmware, но OSS проектите нямат.
Ето малко допълнителна информация:
http://william.shallum.net/random-notes/windows-7-linux-uefi-dual-bootМного хубава статия на Intel, отностно оптимизация на процеса на зареждане на OS-a. Разликите с BIOS просто не могат да се обянят във форум...
http://www.intel.com/technology/itj/2011/v15i1/Booting-in-an-Instant.htm