Описание возникшей ситуации - сломанная ОС на нетбуке EeePC 901 (atom, 2 SSD HDD 4Gb + 16 Gb), отсутствие внешнего usb CD/DVD привода, отсутствие usb флешки, как результат - все популярные способы восстановления операционной системы с recovery DVD диска не подходят.
Но, EeePC 901 поддерживает загрузку при помощи протокола PXE, чем мы и воспользуемся.
Минимальные требования для реализации задачи:
1) EeePC 901.
2) Компьютер у установленным DHCP, TFTPD сервером и возможностью запуска Norton Ghost 11.
3) Диск EeePC 901 Recovery DVD или его образ в виде iso (у меня как раз был образ, как вариант - можно использовать этот образ).
4) Пакет syslinux 3.84, именно в этой версии пакета появилась поддержка загрузки iso дисков по сети.
5) Norton Ghost 11, найти данную программу в сети интернет достаточно просто, ключевое слово для поиска ghost32.exe.
6) Hirens Boot CD 10.1
Настройка DHCP и TFTPD сервера под Debian Linux:
Под рукой у меня был только ноутбук с OS Debian Lenny, соответственно его будем использовать в роли DHCP и TFTP сервера.
Устанавливаем и настраиваем DHCP сервер:
sudo aptitude install dhcp3-server cat /etc/dhcp3/dhcpd.conf # Задаем имя домена, у меня такое. option domain-name "example.com"; allow booting; allow bootp; # У меня используется роутер, соответственно настроена такая подсеть. subnet 192.168.1.0 netmask 255.255.255.0 { # Выдаем IP адреса из этого пула, если кто-то запросит их естественно. Данный пул не пересекается с существующим. option broadcast-address 192.168.1.255; # Задаем адрес шлюза option routers 192.168.1.1; # Задаем адрес DNS сервера option domain-name-servers 192.168.1.1; } # Задаем настройки для загрузки EeePC 901 group { # Задаем адрес tftpd сервера. next-server 192.168.1.3; host tftpclient { # Указываем MAC адрес сетевого интерфейса EeePC 901 hardware ethernet 00:22:15:97:21:B5; # Задаем название файла загрузчика filename "pxelinux.0"; } } /etc/init.d/dhcp3-server restart
Все, DHCP сервер настроен и готов к работе.
Настраиваем TFTPD сервер, я выбрал сервер tftpd-hpa.
Устанавливаем сервер:
aptitude install tftpd-hpa
Настраиваем сервер:
cat /etc/default/tftpd-hpa #Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot" /etc/init.d/tftpd-hpa restart
Все, сервер настроен и готов к работе.
Все файлы для загрузки по сети необходимо разместить в директории /var/lib/tftpboot. Список файлов следующий:
pxelinux.0 - сетевой загрузчик, берем его из пакета syslinux.
pxelinux.cfg/default - файл настроек для сетевого загрузчика, содержимое файла:
TIMEOUT 100 PROMPT 100 UI menu.c32 LABEL hbcd MENU LABEL Hirens Boot CD 10.1 TEXT HELP hbcd ENDTEXT LINUX memdisk APPEND iso INITRD /hbcd_10.iso
memdisk - вспомогательный модуль, используется в связке с pxelinux.0, берем его из пакета syslinux. Начиная с версии 3.84 данный модуль поддерживает загрузку ISO образов по сети. Какой-нибудь Windows или WinPE загрузить пока не получится, но, надеюсь, разработчики программы смогут это решить.
hbcd_10.iso - образ диска Hirens Boot CD 10.1.
Загрузка Norton Ghost 11 для загрузки gho образов по сети:
Включаем EeePC 901, настраиваем в bios (при загрузке наживаем f2) на загрузку с сетевого устройства, и благополучно загружаем нетбук по сети при помощи pxe. В меню загрузки выбираем Hirens Boot CD 10.1, после загрузки диска выбираем: Start Hiren`s Boot CD - далее 2-ой пункт Backup Tools - Norton Ghost 11.5 - Ghost with Network Support. Выбор этой программы очевиден, образы диска на EeePC Recovery DVD находятся в формате gho, родной формат программы Norton Ghost. Также данная программа поддерживает загрузку данных образов по сети.
После запуска программы на EeePC 901 нам необходимо подготовить slave машину для передачи gho образов на master машину.
Для этого на компьютере с debian использовалась virtualbox и установленная windows xp (сеть для данной машины настроена в режиме bridge, соответственно выделяется отдельный IP адрес доступный в рамках локальной сети напрямую, то есть без использования NAT и т.д.). Для реализации задачи пробрасываем EeePC 901 Recovery DVD внутрь виртуалки, далее запускаем ghost32.exe и далее в меню выбираем режим Peer to Peer - TCP/IP - Slave.
На самом EeePC 901 уже должен благополучно загрузиться Norton Ghost, получить по DHCP IP адрес и загрузить интерфейс, в интерфейсе программы выбираем режим Peer to Peer - TCP/IP - Master и в возникшем окне указываем IP адрес той машины, где запущен Norton Ghost в режиме slave.
После этих манипуляций на EeePC 901 станут доступны все ресурсы Slave машины, остается только выбрать папку recovery на EeePC 901 Recovery DVD в которой находятся 2-а gho файла, первый файл для восстановления 1-го раздела, второй файл для восстановления 2-го раздела.
Поочередно восстанавливаем информацию из этих gho файлов на разделы EeePC 901 и после завершения данных операций и перезагрузки нетбука станет доступна Windows XP для настройки и работы.
В аттаче к заметке архив tftpboot.tar.gz с файлами pxelinux.0, default, menu.c32, memdisk. Достаточно их распаковать в папку /var/lib/tftpboot, добавить iso файл Hirens Boot CD 10.1 (имя iso файла задается в файле default).