最近,在网上看到有制作U盘启动系统的教程,就拿了个U盘自己试试。
开始是在ubuntu下使用puppy在virtualbox中直接安装到U盘上,成功了。但是觉得这样安装是否太简单了。于是,又找到一篇文章,是在U盘上安装grub。方法如下:
dd if=/dev/zero of=/dev/sdb bs=446 count=1
mount /dev/sdb1 /tmp/boot
grub-install --root-directory=/tmp/boot --no-floppy /dev/sdb
但是每次执行grub-install时,都会出问题。网上也没有找到办法解决。
于是放弃,还一种方法,在windows下,使用usbboot,将grub写到usb中。结果,写好后,就是启动不了。后来,使用了很多工具,都没办法将grub写进去。
最后,发现网上还有一个PE工具集的,于是,就下来安装,发现有两种方式,IO+grub以及grub。选择grub安装,没问题,可以使用PE系统,但是使用IO+grub的方式就是不行,现象还是,启动不起来,也没有报错。
后来想想,既然puppy使用syslinux,pe使用grub4dos,是否可以把两个直接安装进来。于是,在原来安装io+grub这种方式的U盘上,再使用unetbootin将puppy写入。结果puppy可以在syslinux的引导下启动成功。然后,到网上找了个ldntldr和grldr,然后修改grldr的启动列表,自己写了个mune.lst,于是在syslinux的引导下,可以直接转到grub下,再用grub就可以直接引导pe或者puppy,同时也可以使用syslinux直接引导pe和puppy。两个系统总共就占了134M。
这个方法纯粹自己玩玩,似乎没有什么实际用处。
不过还是不知道为什么我的4G KINGSTON 优盘不能直接安装grub。下次找个64M的优盘试试。
附上配置:
syslinux.cfg:
default vesamenu.c32
prompt 0
menu title UNetbootin
timeout 100
label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit pmedia=cd
label ubnentry0
menu label puppy
kernel /puppy/vmlinuz
append initrd=/puppy/initrd.gz pmedia=cd
label ubnentry1
menu label pe
kernel /WXPE/ldntldr
append initrd=/WXPE/LDRXPE pmedia=cd
label ubnentry2
menu label grub
kernel /boot/grub/ldntldr
append initrd=/boot/grub/grldr pmedia=cd
menu.lst:
timeout 30
default 0
title Start Mini Win PE (RAMDISK)
chainloader /WXPE/LDRXPE
boot
title puppy-linux
kernel /puppy/vmlinuz root=/dev/ram0 PMEDIA=cd
initrd /puppy/initrd.gz
阅读(2310) | 评论(2) | 转发(0) |