解决Debian PXE方式安装找不到硬盘的问题

该问题是由于网络启动模式的initrd.gz中并未包含对应的驱动模块,导致无法发现硬盘。可以拿DVD光盘中install[.arch]目录下的initrd解压后获取驱动模块,与网络方式(netboot)安装的initrd合并后,重新制作新的initrd文件。

1. gunzip解压dvd中的initrd.gz并重命名为initrd-dvd

2. gunzip解压netboot中的initrd.gz并重命名为initrd-net

3. 解包initrd-dvd到dvd目录

mkdir /tmp/dvd
cd /tmp/dvd
cpio -i < initrd-dvd

4. 解包initrd-net到net目录

mkdir /tmp/net
cd /tmp/net
cpio -i < initrd-net

5. 将dvd版本中的驱动复制到net版(请调整目录名称)

cd /tmp
cp -a dvd/lib/modules/3.2.0-4-amd64/kernel/drivers/* net/lib/modules/3.2.0-4-amd64/kernel/drivers/

6. 重新打包initrd

cd /tmp/net
find | cpio -o -R 0:0 -H newc | gzip > ../initrd.gz

7. 复制initrd.gz到tftp目录测试PXE引导,Enjoy!

本文参考了以下资料:
http://unix.stackexchange.com/questions/68387/preseeding-debian-install-from-local-mirror-no-disks-detected