2. Khởi động máy tính từ card mạng với PXE boot code
Trên các laptop, server, hoặc các máy tính lắp ráp ngày nay đều có card mạng có PXE boot code cho phép khởi động qua mạng. Có thể vào BIOS của máy tính để kiểm tra tính năng PXE đã được cho phép (enable) hay chưa.
Để khởi động máy tính từ PXE, thông thường khi bật máy tính bấm phím F12, sẽ xuất hiện danh mục Boot Device của máy tính, khi đó chọn Boot Device là card mạng.

Network Booting
Trên hình trên, khi máy tính khởi động từ card mạng, máy tính sẽ dò tìm DHCP Server của PXE Server trong LAN, khi dò thấy tại IP 192.168.1.101 (địa chỉ của máy cài TFTPD32), PXE Client sẽ gửi yêu cầu và nhận IP do DHCP của PXE Server cung cấp. Sau đó sẽ nạp file pxelinux.0, để gọi menu.c32 nạp file cấu hình của pxelinux là pxelinux.cfg\default và đưa ra menu với các lựa chọn như hình dưới (thư mục pxelinux.cfg nằm trong mục gốc của TFTP Server là C:\PXEServer\TFTPRoot):

Menu chính của PXEServer
Trên menu chính của PXEServer có 10 lựa chọn như sau:
- 0. Boot from Harddisk: Khởi động từ ổ cứng của máy tính. Có thể dùng notepad để mở file pxelinux.cfg\default và tìm các thông tin sau:
# Boor from Harddisk
LABEL LOCAL
MENU LABEL ^0. Boot from Harddisk
KERNEL chain.c32 hd0 1
Trong cấu hình để khởi động từ harddisk, cần chú ý đến dòng "Kernel chain.c32 hd0 1". Với việc sử dụng chain.c32 (của syslinux) cùng với tham số "hd0 1" sẽ cho phép gọi phân vùng 1 của ổ cứng thứ nhất (hd0) để khởi động. Có thể thay đổi các giá trị để khởi động từ ổ cứng khác cũng như phân vùng khác trên ổ cứng.
- Các mục 1-7 sẽ được hướng dẫn chi tiết ở phía dưới, mục "8. Boot Linux Tools" được hướng dẫn như một lựa chọn thêm để có thể sử dụng một số bản Linux nhỏ.
- 10. REBOOT: Cho phép reboot lại máy tính. Khi mở file cấu hình pxelinux.cfg\default, sẽ có các thông tin sau:
# Reboot
LABEL REBOOT
MENU LABEL ^10. REBOOT
KERNEL reboot.c32
Trong cấu hình trên, sử dụng kernel là reboot.c32 để máy tính có thể khởi động lại.
- 9. Boot Other Tools: Khi chọn lựa chọn này, pxelinux sẽ gọi file cấu hình others.conf trong thư mục Image để hiển thị ra menu Boot Other Tools.

Menu Boot Other Tools
Menu "Boot Other Tools" cho phép máy tính khởi động từ các chương trình như Active Boot Disk (phiên bản DOS), HDD Regenerator, Ghost, Smart Boot Manager. Các chương trình này đã được kèm theo trong file nén và được lưu thành các file .gz ở thư mục Image. Cách thức cấu hình sẽ được hướng dẫn ở mục Memdisk.
Như vậy với file nén PXEServer_Base.rar download ở trên, người đọc đã có thể sử dụng được nhưng lựa chọn cơ bản của PXE. Tuy nhiên còn có nhiều lựa chọn chưa có, và các phần dưới sẽ hướng dẫn cách thức tạo thêm những lựa chọn đó.
3. Memdisk
Memdisk là một file nằm trong thư mục TFTPRoot\Image. Memdisk được các chương trình quản lý boot như syslinux, isolinux, pxelinux, grub sử dụng để nạp một file image của đĩa mềm, của ổ cứng.
Memdisk với PXELinux hỗ trợ các dạng file image của đĩa mềm chuẩn (kích thước tối đa là 2880 K) và hỗ trợ chuẩn nén gzip. Tham khảo ví dụ sau:
# Active Boot Disk
LABEL ACTIVE
MENU LABEL ^0. Active Boot Disk V2.1 DOS
KERNEL image/memdisk
APPEND initrd=image/active.gz
File active.gz là file active.img được nén theo chuẩn gzip để giảm kích thước file khi truyền qua mạng. Trên Windows, có thể dùng chương trình quản lý file quen thuộc là Total Commander để nén file .img thành file .gz.

Total Commander nén file .gz
Cũng có thể sử dụng memdisk với các file image của ổ cứng dạng thực (raw) như các file .dsk. Trong thư mục TFTPRoot\Image có file dos32.gz là file dos32.dsk được nén chuẩn gzip. File dos32.dsk là một file image của ổ cứng 32 MB có sẵn hệ điều hành DOS và các chương trình như GHOST, NTFS4DOS,... Tham khảo cách sử dụng trong file pxelinux.cfg\default như sau:
# Boot DOS98
LABEL DOS98
MENU LABEL ^6. Boot DOS98 (Ghost, NTFS, ...)
KERNEL image/memdisk
APPEND initrd=image/dos32.gz harddisk
Trong ví dụ này, chú ý là tham số harddisk đặt ở dòng APPEND. Nếu không dùng tham số harddisk, memdisk sẽ hiểu đó là một file image của floppy và file .dsk không thể khởi động được. Đây là điểm khác biệt khi sử dụng memdisk so với syslinux và grub.
Với việc sử dụng file .dsk, có thể tạo thêm lựa chọn để khởi động với đĩa Hiren V9.3 theo các bước sau:
- Download file hiren93.rar (62.36 MB):
- Giải nén file hiren93.rar, được file hiren93.dsk. Dùng Total Commander để nén file hiren93.dsk thành file hiren93.gz (file này cũng có thể dùng được với GRUB4DOS). Copy file hiren93.gz vào thư mục TFTPRoot\Image.
- Xác nhận lại các thông tin sau trong file pxelinux.cfg\default:
# Boot HIREN V93
LABEL HIREN
MENU LABEL ^7. Hiren Boot Disk V9.3
KERNEL image/memdisk
APPEND initrd=image/hiren93.gz harddisk
Như vậy khi lựa chọn khởi động file image với memdisk, máy khởi động qua PXE sẽ download file image thông qua giao thức TFTP và máy tính sẽ khởi động với file image này. Xem một ví dụ khởi động với file image dưới đây:

Khởi động với file image qua PXE
4. PXELinux với một số bản Linux
Các bản Linux được hướng dẫn ở đây là Acronis Disk Directory, Acronis True Image, Paragon Partition Manager. Đó là những bản Linux khá quen thuộc đối với người dùng Windows.
Để tạo các lựa chọn khởi động qua PXE với Acronis, thực hiện theo các bước sau:
- Download file acronis_01.rar (19.79 MB):
- Giải nén file acronis_01.rar, được các file kernadd.dat, ramdadd.dat, kernati.dat, ramdati.dat. Copy các file này vào trong thư mục TFTPRoot\acronis (nếu thư mục này chưa có, hãy tạo nó).
- Xác nhận lại các thông tin sau trong file pxelinux.cfg\default
# Acronis Disk Director 10
LABEL AcronisDD10
MENU LABEL ^3. Acronis Disk Director 10
KERNEL acronis/kernadd.dat
APPEND initrd=acronis/ramdadd.dat quiet ramdisk_size=32768 vga=788 init=/sbin/init sysboot /active
# Acronis True Image 9
LABEL AcronisTI9
MENU LABEL ^4. Acronis True Image 9
KERNEL acronis/kernati.dat
APPEND initrd=acronis/ramdati.dat quiet ramdisk_size=32768 vga=788 init=/sbin/init sysboot /active
Để tạo lựa chọn khởi động qua PXE với Paragon Hard Disk Manager 2008, thực hiện theo các bước sau:
- Download file ParagonHDManager.rar (42.25 MB):
- Giải nén ParagonHDManager.rar được file .iso. Dùng WinImage mở file .iso và extract 2 file là vmlinuzp và initrd.gz vào thư mục TFTPRoot\PPM (nếu chưa có thư mục này, hãy tạo nó).
- Xác nhận lại các thông tin sau trong file pxelinux.cfg\default:
# Paragon Hard Disk Manager
LABEL PPM2008
MENU LABEL ^5. Paragon Hard Disk Manager 2008
KERNEL PPM/vmlinuzp
APPEND initrd=PPM/initrd.gz vga=788 ramdisk_size=42000
Khi khởi động qua PXE, Paragon Hard Disk Manager có giao diện như sau:

Pargon Hard Disk Manager 2008
Chú ý:
- Tham số vga=788: giá trị 788 tương ứng với màn hình 800x600 16-bit mầu, giá trị vga=791 sẽ tương ứng với màn hình 1024x768 16 bit mầu.
- Tham số ramdisk_size là dung lượng RAM dành cho file initrd tương ứng. ramdisk_size phải lớn hơn kích thước của file initrd.
- Có thể tham khảo cách thức thêm lựa chọn khởi động từ một số bản Linux như RIP, DSL trong file Linux\linux.conf.
Như vậy với lựa chọn khởi động với một số bản Linux, cần lưu ý 2 file là kernel và initrd. Các file này có thể tìm thấy trên các đĩa live của chương trình. Ban đầu PXE sẽ nạp kernel vào RAM trên máy tính, sau đó sẽ nạp initrd vào ramdisk và gọi chương trình trong ramdisk để sử dụng.
(Còn tiếp)
người viết: centos5f4vn (từ xhtt)
(Phần 2: PXELinux với WinPE 1.5, 1.6, PXELinux với file WIM)