Chinaunix首页 | 论坛 | 博客
  • 博客访问: 298565
  • 博文数量: 26
  • 博客积分: 2585
  • 博客等级: 少校
  • 技术积分: 399
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 20:24
文章分类

全部博文(26)

文章存档

2011年(1)

2010年(7)

2009年(3)

2008年(15)

我的朋友

分类: LINUX

2009-07-07 17:05:25

环境:

移动硬盘分四个区,第一个区diskone为ext3格式,原来装的slax,不想用了,删掉;

主机装的Debian单系统,lenny,没有Windows,所以国内网上流传的方法不适用了,只好边爬英文论坛边自己研究。

思路:

把Debian的GRUB装到移动硬盘MBR上(原来有LILO,不过我更喜欢GRUB),用来引导puppy。

最终得到的结果是:

移动硬盘下面有两个关键目录,grub里面是引导程序(Debian里面拷贝过来的),puppy是操作系统(光盘镜像里面拷贝过来的);

移动硬盘的MBR里面是GRUB的stage1。


过程(曲折的探索过程就不细说了,直接说可以正确完成的结果;照顾新手,还算比较详细):


下面的活都是在root权限下干的

1、准备文件:

下载puppy-4.2.1-k2.6.25.16-seamonkey.iso,我直接下载的英文版,中文以后慢慢再配置。

将这个镜像挂在到一个目录中,例如我在我家干活的实录:

debian:/home/yuliang# pwd

/home/yuliang

debian:/home/yuliang# mkdir puppy

debian:/home/yuliang# mount -o loop puppy-4.2.1-k2.6.25.16-seamonkey.iso puppy

然后直接把puppy这个目录拷贝到移动硬盘中(移动硬盘的分区我自己设了卷标,所以是diskone,如果没设卷标应该是sda几之类的,SATA硬盘):

debian:/home/yuliang# cp -r puppy /media/diskone

debian:/home/yuliang# umount puppy


2、准备引导:

Debian本身就有GRUB,我直接将Debian的GRUB转移到了移动硬盘上了:

拷贝了Debian里面/boot/grub下的所有文件到移动硬盘第一个区:

debian:/boot# pwd

/boot

debian:/boot# cp -r grub /media/diskone

所以/media/diskone/grub这里便也有了全套的stage文件


3、编写menu.lst:

debian:/media/diskone/grub# vi /media/diskone/grub/menu.lst

完整的无注释版内容如下(引导的重要步骤,比较关键):

default         0

timeout         3


title Puppy Linux
kernel /puppy/vmlinuz ramdisk_size=256000 root=/dev/ram0 pmedia=usbflash psubdir=puppy
initrd /puppy/initrd.gz

注意:title下一行没有root(hd*,*)之类的选项,因为会造成无法启动。


4、安装引导(引导的关键步骤,比较重要):

本机硬盘和移动硬盘都是SATA的,所以本机的叫(hd0),移动硬盘叫(hd1),第一个分区叫(hd1,0)

debian:/media/diskone/grub# grub

grub> find /grub/stage1
 (hd0,0)
 (hd1,0)
find这一步就是查找一下stage文件,(hd0,0)这个也被find到了,因为(hd0,0)恰好是我的boot分区。(hd0,0)是本机硬盘,(hd1,0)便是移动硬盘了,移动硬盘里面的stage1文件就是第二步从本机grub目录拷贝过来的。

grub> root (hd1,0)
 Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd1)"...  17 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd1) (hd1)1+17 p (hd1,0)/grub/stage2 /grub/menu
.lst"... succeeded
Done.


完成。

重启从移动硬盘启动,便可以进入puppy了,具体的使用网上有的是,不再赘述。


后记:

将puppy安装在单独的目录里面,和grub目录里面的引导程序分开是有好处的,如果需要安装多个puppy,可以直接新建一个目录,拷贝新的文件,然后menu.lst里面添加一项新的启动记录,只需修改内核等文件的位置和kernel里面的psubdir这个参数即可。

阅读(2451) | 评论(2) | 转发(3) |
给主人留下些什么吧!~~

chinaunix网友2009-07-24 21:14:12

没有想到这个,呵呵,jyl198803_AT_gmail_dot_com,请教说不上,我基本还是初学者,呵呵。 这个启动直接就可以用了,跟光盘启动一样的效果,puppy直接启动就可以用了,不用像别的发行版那样安装; 我没试过移动硬盘装别的发行版,这里就用了一下我机器里Debian的GRUB。这里有把Debian装到U盘的文章,貌似是Debian的USB版:http://gashero.javaeye.com/blog/341072

chinaunix网友2009-07-22 16:29:04

楼主的空间找不到email可不是个好习惯那 哈哈 还得跟你请教呢 引用: “重启从移动硬盘启动,便可以进入puppy了,具体的使用网上有的是,不再赘述。” 请问进入的是安装界面还是最终界面?假如我想把debian安装到移动硬盘是否可行? 要swap分区么 3kx~~ :) hedybest#163.com