source: http://www.knoppix.net/w/index.php?title=Bootable_USB_Key&diff=8315&oldid=8313
0. 在vmware里用knoppix的iso启动。启动完成后插入u盘。1. 打开终端,用su转到root(懒得每次sudo)
2. 确认u盘设备位置,后面有步骤是整盘清零,弄错了......
可以试试下面一些方法找到u盘的设备位置
dmesg | grep -i scsi
dmesg | grep -i usb
cat /proc/partitions
fdisk -l
我用的是Qparted。然后根据设备容量找到u盘,我的是sda。
3. 清零u盘
dd if=/dev/zero of=/dev/sda
注意:如果u盘已经清零了,可以加count=1k
dd if=/dev/zero of=/dev/sda count=1k
此命令同时检查是否有坏块。
最后将会看到 "no space left on device"提示,格式化结束。如果出现其他提示,则很可能是有坏块。
4. 分区,格式化
u盘容量为1G:
mkdiskimage -4 /dev/sda 0 64 32
u盘容量大于1G,小于等于2G:
mkdiskimage -4 /dev/sda 0 128 32
u盘容量大于2G,小于等于8G:
mkdiskimage -F -4 /dev/sda 0 255 63
u盘容量大于8G:
mkdiskimage -F -4 /dev/sda 1 255 63
dd if=/dev/zero of=/dev/sda bs=1 seek=446 count=64
echo -e ',0/n,0/n,0/n,,C,*' | sfdisk /dev/sda
mkdosfs /dev/sda4
dd if=/dev/zero of=/dev/sda bs=1 seek=446 count=64
echo -e ',0/n,0/n,0/n,,C,*' | sfdisk /dev/sda
mkdosfs /dev/sda4
5. KDE会弹出窗口提示找到新分区,关掉就行
6. 执行
syslinux -s /dev/sda4
7. 挂载u盘分区
mount /dev/sdz4 /media/sdz4
进入分区
cd /media/sdz4
ls
可以看到文件 ldlinux.sys 。看不到就得从头来。 8.拷贝boot文件
确认已经在 /media/sdz4 目录
rsync -av /cdrom/boot/isolinux/ ./
mv isolinux.cfg syslinux.cfg
rm -f isolinux.bin
9. 拷贝CD文件
rsync -av /cdrom/ ./ --exclude boot
10.重启
卸载u盘:
sync
cd /
umount /media/sdz4
sync
reboot
cd /
umount /media/sdz4
sync
reboot
11. 使u盘可写
mount -o remount,rw /cdrom
mount --bind /cdrom /media/sdz4
12. 修改启动设置
nano /media/sdz4/syslinux.cfg
TIMEOUT 300 把300改成50
It's nice to have it boot faster, without waiting for you to hit Enter, so you can put in the USB key and walk away, coming back in a few minutes to a fully booted system.
把下面这行开关加在cfg文件第二行最后
noswap noeject noprompt dma home=scan
开关定义:
-
noswap
-
不把缓存写到硬盘上。
noeject
- 不能任意拔掉u盘。 noprompt
-
关机时取消显示"remove CD and close drive door"
dma
- 提升硬盘读取速度 home=scan
- 搜索home文件夹
penguin menu -》Configure, Create -》 Persistent
14. 其他