本文以Debian GNU/Linux 5为例
参考文章为 http://www.debian.org/releases/stable/i386/ch04s03.html.zh_CN#usb-copy-flexible
半年前贪玩曾经想制作个大容量的安装U盘(如:4G容量),后来因为粗心没制作成功,现在终于成功了|o|,现记录过程如下:
安装相关软件
$ sudo apt-get install dosfstools syslinux mbr |
插入U盘,查看U盘相应的设备名
$ sudo /sbin/fdisk -l ... Device Boot Start End Blocks Id System /dev/sdb1 1 250 2008093+ 83 Linux |
卸载U盘,分区并格式化
$ sudo umount /dev/sdb1 $ sudo /sbin/fdisk /dev/sdb ... // fdisk的操作省略 // 详细教程请阅读 Gentoo文档 http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml?part=1&chap=4 中的"4.c. 使用fdisk来为你的磁盘分区" // 本文测试时使用了Debian建议的FAT16文件系统格式 // 关键点在于为第一个分区添加boot启动标记 // e.g. Command (m for help): a $ sudo mkdosfs /dev/sdb1 |
安装syslinux
$ sudo syslinux /dev/sdb1 |
挂载U盘,验证syslinux是否安装成功
$ sudo mkdir /media/usb $ sudo mount /dev/sdb1 /media/usb $ cd /media/usb/ $ ls ldlinux.sys |
下载U盘(硬盘)格式启动的initrd.gz和vmlinuz,下载Debian安装盘的镜像
$ wget -c http://ftp.de.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/initrd.gz // -c 参数为wget的继传功能,中断下载后,在相同的目录下,再输入以上命令,能继续上次的下载 $ wget -c http://ftp.de.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/vmlinuz $ ls initrd.gz ldlinux.sys vmlinuz $ wget -c http://ftp.de.debian.org/debian-cd/current/i386/iso-cd/debian-503-i386-CD-1.iso $ ls debian-503-i386-CD-1.iso initrd.gz ldlinux.sys vmlinuz |
编写syslinux的配置文件
$ cat > syslinux.cfg << EOF > default vmlinuz > append initrd=initrd.gz > EOF $ ls debian-503-i386-CD-1.iso initrd.gz ldlinux.sys syslinux.cfg vmlinuz |
卸载U盘,修复U盘主引导扇区(不一定要修复,如果无法从U盘启动,可考虑修复)
$ sudo umount /dev/sdb1 $ sudo install-mbr /dev/sdb |
注:大多数人在gnome的环境下运行以上命令,有时会遇到设备忙的情况(原因有很多,如gnome有U盘自动挂载的功能),其中一个解决方案是退出X环境(退出X环境的方法如按ctrl+alt+backspace),到没有X的环境(如按ctrl+alt+f1)下再次运行冲突了的命令。我比较喜欢在没有X的环境下完成以上所有工作 :)
最后是重启系统,设置bios启动方式
bios启动方式中:
usb-cdrom用于USB光驱
usb-fdd用于模拟软驱的USB格式
usb-zip用于小于或等于256MB大小的U盘
usb-hdd用于大容量U盘
这里应该选择usb-hdd启动方式
设置好bios的启动方式后,插入刚制作好的安装U盘,重启系统,顺利进入安装界面
附:U盘顺利启动,但提示找不到iso镜像的其中一种原因
可能是下载的iso文件受损了
到 http://ftp.de.debian.org/debian-cd/current/i386/iso-cd/MD5SUMS 查看到以下的信息
5b7886b359b65584fb0c2ce214650199 debian-503-i386-CD-1.iso
对已下载了的iso文件,运行md5sum命令
$ md5sum debian-503-i386-CD-1.iso 28a7d1db970d976ae789386f524ad183 debian-503-i386-CD-1.iso |
因为 5b7886b359b65584fb0c2ce214650199 和 28a7d1db970d976ae789386f524ad183 不一致,所以无法正常挂载镜像安装系统