Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно
vsu vsu вне форума

Пользователь


Сообщения: 105
Благодарности: 59

Профиль | Отправить PM | Цитировать


Реально работает способ с использованием GRUB4DOS:
Код: Выделить весь код
KERNEL grub.exe
APPEND --config-file="chainloader (cd)/I386/SETUPLDR.BIN"
(в зависимости от версии GRUB4DOS и способа сборки образа может иметь значение регистр символов в именах файлов, передаваемых GRUB).

Вариант с использованием только компонентов Syslinux, который мог бы работать, если бы не лишняя проверка в com32/modules/chain.c:
Код: Выделить весь код
KERNEL chain.c32
APPEND boot ntldr=/i386/setupldr.bin
При большом желании эту проверку можно и вырезать, пересобрав Syslinux с соответствующим патчем:
читать дальше »
Код: Выделить весь код
diff --git a/com32/modules/chain.c b/com32/modules/chain.c
index 7c7c9eb..0b6dbc2 100644
--- a/com32/modules/chain.c
+++ b/com32/modules/chain.c
@@ -666,8 +666,7 @@ int main(int argc, char *argv[])
   } else if (!strcmp(drivename, "boot")) {
     const union syslinux_derivative_info *sdi;
     sdi = syslinux_derivative_info();
-    if (sdi->c.filesystem == SYSLINUX_FS_PXELINUX ||
-	sdi->c.filesystem == SYSLINUX_FS_ISOLINUX)
+    if (sdi->c.filesystem == SYSLINUX_FS_PXELINUX)
       drive = 0x80;		/* Boot drive not available */
     else
       drive = sdi->disk.drive_number;

Впрочем, вариант с GRUB4DOS более функционален - например, можно ещё добавить команды map для подсовывания установщику виртуального флопика с файлом winnt.sif; memdisk из Syslinux для этой цели неудобен, поскольку умеет продолжать загрузку только с эмулируемого диска, и для возврата к загрузке компонентов установщика с CD придётся засовывать в образ дискеты ещё что-то - например, тот же GRUB4DOS, только в другом варианте.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:06, 12-06-2009 | #2