嗯……或许标题应该叫做“如何加快安装在U盘上的puppyliunx的关机速度”?
当Puppy Linux安装在U盘上时,它的PUPMODE状态是13,而不是像安装在硬盘上一样PUPMODE=12.这意味着,你所做的任何修改都将暂时保存在内存中,然后在定时保存到U盘上。
这种周期性保存会话的模式目的为了减少U盘过多的读写,延长U盘的使用寿命。但是也带来一些恼人的问题,比如关机速度非常非常灰常的慢。
现在的U盘不但物美价廉,而且都具有损耗均衡技术,因此也不再要求它能够使用10年。
1、使用Gparted把你的U盘格式化成ext2.如果你的U盘需要在windows下使用的话,可以将它分区,一个ext2,一个fat32.记住要做好puppy分区的引导标志。
2、将U盘挂载上,假设为sdb1。
3、打开终端,键入:
extlinux -i /mnt/sdb1
4、在U盘上创建一个名为 extlinux.conf 的文件,并写入如下内容
default vmlinuz initrd=initrd.gz pmedia=usbflash
5、将Puppy Linux的三个核心文件拷到U盘中(vmlinuz,initrd.gz,pupxxx.sfs)
6、重启电脑、初始化设定,然后关机,建立你的pupsave file
7、再次重启进入系统。在U盘建立一个名为 .editinit 的脚本文件,内容如下:
#!/bin/bash
gunzip initrd.gz
[ $? -gt 0 ] && exit
mkdir puppy-init
cd puppy-init
cat ../initrd | cpio -d -i
leafpad init
find . | cpio -o -H newc | gzip -9 > ../initrd.gz
cd ..
rm -rf puppy-init
rm -f initrd
8、然后打开终端,cd进入U盘,输入:
./editinit
9、这个脚本的作用是将initrd.gz文件解包然后用leafpad打开,然后移到760行,找一个段落的空行,确切位置根据不同puppy版本有所不同。
10、输入 :
PUPMODE=12
11、保存、退出
12、重启机器,可能需要重启数次以便系统能够正确初始化,之后你应该就运行在PUPMODE=12模式下了, 现在关机速度飕飕的啦。
注意:当你结束会话的时候,也就是你关机的时候,确定你的U盘已经停止闪烁,不再进行读写操作了,不然可能丢失数据。
作者是rcrsn51,于2010年7月4日发表,之后有跟帖的网友daveS、Stripe、Bert等人做了小白鼠,之后daves在2011年1月16日潜水浮出大喊他还活着,并且大赞SanDisk。
我没有进行测试,因为我发现一次错误关机之后,我在menu.lst加入了pfix=fsck参数之后,关机速度加快了,虽然每次开机都会对lupasave.3fs文件进行fsck扫描,但是关机速度的确是加快了。所以我就不充当小白鼠了,而且……我的确有把U盘使上十年的想法。