Работая с разными материнскими платами я часто прибегаю к таким инструментам, как MemTest86+ для проведения тестов памяти, Victoria для беглого осмотра HDD на предмет дефектов, даже DOS идёт в ход — для прошивки BIOS через утилиту Afudos в случаях, где пасует FPT (он же Intel Flash Programming Tool). Разумеется, у меня есть отдельный внешний накопитель со всем необходимым, но можно сделать кое-что получше — организовать загрузку через PXE по сети. Загрузчик grub4dos я уже затрагивал в одной из своих предыдущих заметок, про маршрутизаторы Mikrotik тоже писал, а сегодня мы объединим лучшее из обоих миров.
В первую очередь стоит разжиться USB-накопителем и подключить его к Mikrotik — в моем случае это просто старая флешка на 16Gb. У большинства моделей встроенной памяти немного, поэтому гораздо правильнее вынести загрузчик и необходимые дистрибутивы за скобки — т.е. на отдельный носитель. После подключения флешки её нужно отформатировать — открываем WinBox и заходим на Mikrotik, далее идём по пути System->Disks. Ищем подключенный накопитель, выбираем его и нажимаем кнопку «Format Drive». В диалоговом окне подтверждаем процедуру, ждём её завершения. Теперь идём в раздел Files, помимо директории flash должна появиться директория флешки, в моём случае она называется usb1-part1. Дальше нужно разместить на флешке загрузчик — если не требуется какое-то сложное иерархическое размещение файлов, то тут же, не отходя от кассы WinBox можно загрузить все необходимое в корень накопителя. Но если вы хотите различные дистрибутивы разнести по разным директориям, то проще всего подключить флешку к ПК, после чего скопировать на неё загрузчик grub4dos, файл меню menu.lst и нужный набор дистрибутивов — т.е. делаем всё ровно то же самое, как если бы делали обычную загрузочную флешку (предполагается что эта процедура вам знакома, равно как и синтаксис файла меню menu.lst). Должно получиться нечто вроде этого:
Теперь нужно включить TFTP сервер и выставить разрешение доступа по сети к файлам на флешке. Большинство инструкций приведут вас по пути IP->TFTP, где дальше скажут — добавляйте IP адрес, имя запрашиваемого файла и фактический путь к нему. Формально всё так, но впоследствии это приведёт к тому, что «большие» файлы не смогут быть загружены по сети. Дело вот в чём: всего по TFTP можно передать 32Mb (65536 * 512 / 1024²), но из-за использования знакового int вместо беззнакового это значение снижается вдвое, до 16Mb. Однако, если и клиент и сервер поддерживают расширения протокола RFC 2347 и RFC 2348, то максимальный размер передаваемого файла увеличивается уже до 4Gb. В Mikrotik за это отвечает опция Allow rollover, но через WinBox её не выставить, поэтому составлять перечень файлов мы будем через терминал:
/ip tftp
add ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/grldr req-filename=grldr
add ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/menu.lst req-filename=menu.lst
add allow-rollover=yes ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/ISO/Acronis/menu.lst req-filename=/ISO/Acronis/menu.lst
add allow-rollover=yes ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/ISO/Acronis/ADD/2.krn req-filename=/ISO/Acronis/ADD/2.krn
add allow-rollover=yes ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/ISO/Acronis/ADD/2.fs req-filename=/ISO/Acronis/ADD/2.fs
add allow-rollover=yes ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/ISO/Acronis/ADD/2-1.fs req-filename=/ISO/Acronis/ADD/2-1.fs
. . .
add allow-rollover=yes ip-addresses=192.168.10.0/24 read-only=yes real-filename=usb1-part1/ISO/Misc/Victoria.iso req-filename=/ISO/Misc/Victoria.iso
Убедитесь, что прописали каждый используемый для загрузки файл.
Теперь нужно откорректировать настройки DHCP сервера. Идём по пути IP->DHCP Server, открываем вкладку Networks, кликаем по нужной сети, ищем параметр Next Server и вписываем туда IP самого роутера. В значении параметра Boot File Name указываем grldr.
Если всё сделано правильно, то теперь вы можете использовать grub4dos для загрузки по сети через PXE.