Преди няколко дена имах следния проблем – трябваше да инсталирам операционна система на компютър без флопи, без CD-ROM и без възможност за boot от USB. Успях с размяна на хард дисковете с друг компютър. По-късно видях, че има и друг, много по-лесен начин – remote boot от друг компютър. За целта е необходимо BIOS-ът да поддържа network boot (PXE вариант), да има работещ втори комютър с инсталиран Windows под ръка и двата компютъра да се намират в локална мрежа (чрез Hub или Switch).

Първоначално си нямах никаква идея как стоят нещата. Мислех си, че е достатъчно да share-на някъде инсталационните файлове на Windows XP и после ще мога да ги стартирам от друга машина. Все едно стартирам от CD-ROM, само че от мрежата. Оказа се, че доста съм грешал. Когато един компютър тръгне да boot-ва по мрежата той първо търси и се свързва с първия DHCP сървър, който намери. От него си взема IP адрес и boot image, който изпълнява. Проблемът е, че въпросният image трябва да се събира в свободната DOS памет, т.е. може да е до няколкостотин килобайта на размер. Затова се ползва специален Linux boot image, който е много малък по размер и който вече на своя страна зарежда и изпълнява нормален DOS boot image. Не е ли иронично? Ползваме Linux за да boot-нем в DOS.

Подкован с достатъчно теория, тръгнах да търся как да изпълня всичко това на практика. Ролята на DHCP сървър се изпълнява от TFTPD32. Linux boot диска се взема от тук, а нормален DOS boot диск от тук (аз ползвах Win98 версията, защото тя позволява да се инсталира XP директно). Подробни инструкции кое как и защо работи има на този адрес.

Дотук добре, само boot-ване в DOS обаче не върши работа, защото трябва отнякъде да се копират и инсталационните файлове на Windows. За целта има два начина, чрез USB или по мрежата. Проблемът е, че DOS не поддържа нито USB, нито има какви да е мрежови възможности. На тази или на тази страници има решение на първия проблем. А на тази страница – и на втория. Следвайки напътствията успях да подкарам 2GB флаш памет да се вижда като C: под DOS. След още малко чесане по главата успях да направя и boot диск, който да ми позволява да виждам другите компютри в мрежата под DOS, т.е. „\\SERVER\INSTALL\WINXP“ вече не е недостижима директория. Оттук нататък, след като веднъж съм стартирал DOS в един от двата режима, форматирам и sys-вам твърдия диск, копирам инсталационните файлова на Windows XP от USB или от друг компютър и рестартирам нормално. Веднъж след като съм boot-нал под DOS от твърдия диск, просто стартирам I386\WINNT.EXE и съм в играта.

Като бонус, от сайта на Avira може да се свали ntfs4dos. Това е безплатна за лични цели програмка, която позволява NTFS форматиран диск да се вижда под DOS за четене/запис. Просто копирайте ntfs4dos.exe в стартовия DOS image. За редакция на image може да се използва WinImage.

И понеже все пак цялата операция не е съвсем тривиална, ето тук съм сложил работещ вариант, който позволява PXE network boot под DOS с USB и NTFS support. Инструкциите са пределно прости. Разархивирайте файла в „C:\PXE“. Стартирайте „tftpd32.reg“ (само един път е достатъчно), а след това и „tftpd32.exe“. И това е. Сега пуснете другия компютър, изберете network boot и следвайте инструкциите на екрана.


10 kоментара за “Как да boot-нем по мрежата”


  1. Ivan Yosifov каза

    Хмм, всичко е супер но….не тръгва. Според мен има проблем с имиджа, но може да е и нещо друго.


  2. venweb каза

    Имиджа е перфектен… Благодаря!


  3. vassy каза

    Всичко работи перфектно. Скоро имах същия проблем с 2 Toshiba DinaBook. Малко промених (добавих) бут имиджа и се наложи след Dos да мина първа през 98. Благодаря за архива. Спести ме доста време!


  4. rambich каза

    а какво мислите за RIS с windows2003? пробвали ли сте? аз мисля че тоя проблем няма да го имате и работата е още по млако


  5. Loshia каза

    http://en.wikipedia.org/wiki/Remote_Installation_Services – нещо хич не ми се струва по-просто за домашно ползване 🙂 Трябва да имаш Windows Server, че и домейн…


  6. asen7406 каза

    Как да boot-нем по мрежата


  7. firkosa каза

    благодаря! :))


  8. Иван Янков каза

    Не мога да го направя нещо, моля помагайте…
    изписва ми следното

    от КЛИЕНТА:

    PXE-E11: ARP timeout
    PXE-E38: TFTP cannot open connection
    PXE-E0F: Exiting PXE ROM

    от logviewer-a на СЪРВЪРА (tftpd32.exe):

    Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 1C:C1:DE:8D:38:F5 [04/08 10:06:00.609]
    DHCP: proposed address 192.168.1.100 [04/08 10:06:00.609]
    Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 1C:C1:DE:8D:38:F5 [04/08 10:06:04.609]
    Previously allocated address acked [04/08 10:06:04.609]


  9. victor каза

    може ли да попитам само защо като stariram tftpd32.exe mi izliza can not initialize DHCP SERVER Insufficient privilleges to run?


  10. Andon каза

    Работи перфектно, поне 3 пъти съм го използвал …

    до victor: tftpd34.exe ТРЯБВА ДА СЕ СТАРТИРА КАТО АДМИНИСТРАТОР

Моля използвайте кирилица!