用U盘安装GNU/Linux

最近想买部10寸本,因为10寸本、上网本没有自带光驱,所以需要用U盘安装GNU/Linux
本文以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 不一致,所以无法正常挂载镜像安装系统
原文地址:https://www.cnblogs.com/top5/p/1604310.html