【2008.09.30更新2楼】把 ubuntu linux 装入移动硬盘,并在不同电脑上运行

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
superiori
帖子: 110
注册时间: 2005-11-22 21:57

#16

帖子 superiori » 2006-11-16 11:51

6.10可以用我10楼修改好的文件。文件和目录名的确有一些变化,脚本内容也稍有不同,但大体都是一样的。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#17

帖子 ptptptptptpt » 2006-11-16 17:39

TO wucongkun : 用10楼superiori的附件试试吧 , 我还没试 :)
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27

#18

帖子 wucongkun » 2006-11-16 18:33

10层的三个文件全部下载 解压 initrd.usb居然只有5.4M
似乎原版15M
我自己忽略/lib/casper/shutdown不管
产生的都有10M
不知道10层怎么做出来的
难道initrd.usb可以进一步解压?
我对这个文件cpio
不管用。。。
superiori
帖子: 110
注册时间: 2005-11-22 21:57

#19

帖子 superiori » 2006-11-16 18:45

就这么大 :D 这个文件是.gz的,解开后才能cpio
pingyz
帖子: 13
注册时间: 2006-05-17 18:40

Re: 【改进后重发】把ubuntu安装至移动硬盘、并可在不同电脑上启动、运行的方法

#20

帖子 pingyz » 2006-11-26 21:59

顶!
ptptptptptpt 写了:原贴:
viewtopic.php?t=25089


06.11.26修改:“为移动硬盘安装GRUB”一步建议换用GRUB FOR DOS。


GRUB FOR DOS简介

GRUB4DOS是国内一位叫“不点”的大侠开发的,基于GNU GRUB,并对其做了改进和扩展,比GNU GRUB更稳定,功能更强,所以fans众多(包括我啦),也有国际友人将其介绍到国外,正应了国家大力倡导的“走出去”战略,势头大好。开发者不点(英文名tinybit),水平颇高且极有个性,据说至今不用手机,没有QQ,有邮箱但很少看,在网上从不显露真实资料,所以很难找到 :)

GRUB4DOS最初的意图是作一个可以在DOS下使用的grub,这一点从它的名字就可看出来。随着开发的不断深入,其功能越来越强,适用范围越来越广,以至于有人称之为GRUB FOR ALL。DOS(linux)用户可以通过执行它的grub.exe(grub)文件进入grub环境;windows 2000/XP用户则可使用grldr,只要简单的几个步骤,就能通过windows的启动菜单进入到GRUB环境,极其方便,网上广为流传的矮人dos工具箱、MAXDOS等软件都是基于grldr。它还拥有强大的磁盘仿真功能。

而作为linux使用者,我最关心最喜欢也最看好的,则是bootlace和grldr的组合。因为:

1、它们在一起构成了独立的、完整的多引导管理器
grub.exe和grub分别需要借助DOS和LINUX才能进入grub环境,而grldr单独使用时也需ntldr的引导,它们都不是独立的。有了bootlace.com就不同了。这是个两栖文件,可以在DOS或linux下执行,内含grldr.mbr引导代码,并可将其写入硬盘mbr。此引导代码有识别FAT/EXT文件系统的能力,被执行后将check所有的硬盘、所有的分区(不管是主盘还是从盘,不管是主分区还是逻辑分区,不管是隐藏的还是活动的),只要其文件系统是FAT12/FAT16/FAT32/EXT2/EXT3中的一种,就能识别出来,然后查找其根目录是否存在grldr文件,若存在便加载到内存。
grldr与GNU GRUB的stage2功能类似,它会进一步寻找menu.lst文件,先找它自身所在的分区根目录(这点与GNU GRUB不同),如果找不到,则又会查找所有的硬盘、所有的分区,而这次就不限于上面所列的文件系统了,grldr可以识别更多的文件系统。找到menu.lst之后,我们就能看见GRUB菜单了。

2、其引导过程比原版的GNU GRUB更稳健,更灵活
众所周知,GNU GRUB是非常优秀的,其优点无须多言。但它也有不可忽视的缺点:引导过程步骤太多,mbr》stage1》stage1.5》stage2》linux内核,增大了出错的几率;其中好几步是通过读取绝对扇区来进行的,没能利用文件系统,限制了灵活性。
对此grub for dos做了改进。从上面的描述可以看到,其引导过程是从mbr直接到grldr,然后就可以加载内核了,步骤简洁,出错更少。并且由于mbr引导代码能识别文件系统,大大增强了灵活性。

3、grldr比原版的GNU GRUB在功能上有所扩展,比如磁盘仿真、光驱启动等。grub for dos中同时发布了支持中文的版本,方便国人用户。


唯一的限制是,grldr所在分区的文件系统格式必须是FAT12/FAT16/FAT32/EXT2/EXT3中的一种。所以有可能需要专门设一个boot分区,来存放grldr。不过在我看来这是值得的,一点小麻烦换来了更多的方便和稳定。




为移动硬盘安装GRUB FOR DOS:

1、获取文件

从以下页面下载GRUB FOR DOS,注意下载链接在页面的最下方,找其中最新的下下来即可。我下的是grub_for_dos-2006-11-23。压缩包里有很多文件,而我们只用其中的两个:bootlace.com和grldr。

http://grub4dos.jot.com/WikiHome


2、写入mbr

假设移动硬盘为/dev/sda(注意:如果主机上接有sata硬盘,移动硬盘可能会被认成/dev/sdb或/dev/sdc,一定要搞清楚)。假设bootlace.com所在的目录为/media/hda1/。运行命令:

sudo /media/hda1/bootlace.com /dev/sda

注意一定要打全路径,如果打成sudo bootlace.com /dev/sda,即使你的当前目录就是bootlace.com所在的目录,也是不行的。


3、存放grldr和menu.lst文件

在移动硬盘上找一个或建一个fat16/fat32/ext2/ext3格式的分区,将grldr文件拷至其根目录,并在同一目录下建立相应的配置文件menu.lst。






本文将描述两种方案:

一、使移动硬盘具有和live cd一样的功能,可通过usb接口启动,运行,安装至主机内置硬盘,当然前提是电脑支持usb启动。

二、使移动硬盘具有类似live cd的功能,可通过usb接口启动、运行;与live cd不同的是,对此系统所作的修改将会保存下来,而不会像live cd那样一重启就恢复原状。

两种方案对各种不同版本的ubuntu live cd应该都适用。我是用hiweed 1.0做的试验,所以就以它为例来描述了。向hiweed致敬。




第一种方案实现起来比较简单:

首先,将live cd中的casper文件夹拷至移动硬盘某fat32分区(ext2或ext3或reiserfs分区亦可)。

然后,将GRUB FOR DOS安装至移动硬盘。请参照帖子开头的描述。

menu.lst内容如下(其中的*号请根据自己的情况换成合适的数字):

timeout 6
default 0
fallback 1

title live cd
root (hd0,*)
kernel /casper/vmlinuz boot=casper ramdisk_size=1048576 root=/dev/ram rw splash
initrd /casper/initrd.gz

title live cd xforcevesa
root (hd0,*)
kernel /casper/vmlinuz boot=casper xforcevesa ramdisk_size=1048576 root=/dev/ram rw splash
initrd /casper/initrd.gz


这样就好了。
sonic_yq
帖子: 5
注册时间: 2006-03-17 7:53

#21

帖子 sonic_yq » 2006-11-27 17:33

下午研究了一下,从新按部就班来了一次

硬件环境换成了ide硬盘

引导管理器成了 grub4dos

顺利引导,不过出现了如图问题:

现在网速不好,图发布上来,我还是手动写吧

Begin:Running /scripts/init-bottom ...
mount:Mounting /root/dev on /dev/.static/dev failed: No such file or directory
Done.
mount:Mounting /sys on /root/sys faild: No such file or directory
mount:Mounting /proc on /root/proc faild: No such file or directory
Target filesystem doesn't have /sbin/init
sonic_yq
帖子: 5
注册时间: 2006-03-17 7:53

#22

帖子 sonic_yq » 2006-11-28 12:46

问题解决了,一切正常,烦请楼主指点一下做这个的要点
比如如果换做其他live CD呢?需要修改的是什么呢
我现在只能按部就班来做,其中许多脚本都看不懂,不过也学到了知识,谢谢楼主
蓝光
帖子: 2
注册时间: 2006-11-28 23:54

#23

帖子 蓝光 » 2006-11-29 0:52

good job :)
kumat
帖子: 5
注册时间: 2006-11-29 15:45

#24

帖子 kumat » 2006-11-29 15:50

[quote="ptptptptptpt"]涉及到的几个问题:
........
5、windows可以这样搞吗?
一如既往:sorry,you can't 。.......

WindowsXP 可以装在USB Storage上的

So definitely you can. 呵呵

请参考:
http://www.ngine.de/index.jsp?pageid=4176
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#25

帖子 ptptptptptpt » 2006-11-30 16:39

TO sonic_yq :呵呵,其实我的研究也很有限,大致的意思就是,有一个检测、配置硬件的步骤,配好之后就把LINUX引导起来。不过KNOPPIX似乎是边启动边配置硬件的。我也想等有时间了好好琢磨一下其他的LINUX如SUSE、DEBIAN都该怎样弄到移动硬盘上,现在有点忙 :( 大家都来搞搞,我觉得这是LINUX的一个好用途


TO kumat:多谢指点,学习中。看来帖子得该一下了:)
baita
帖子: 1
注册时间: 2006-11-30 22:35

#26

帖子 baita » 2006-11-30 22:41

我想下下来。
superiori 写了:上传一个适用于ubuntu-6.10-desktop-i386.iso的initrd文件,完全仿照楼主做的。没有去掉弹出光驱的代码,不过影响不大。第4步的记号文件名是ubuntu6.10。
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27

#27

帖子 wucongkun » 2006-12-01 15:03

to : ptptptptptpt
这个。。对内核什么的都没有依赖么?
会不会受到内核升级的影响?
还有。。
麻烦你能否看看我的问题:viewtopic.php?p=166123#166123
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#28

帖子 ptptptptptpt » 2006-12-03 13:44

wucongkun 写了:to : ptptptptptpt
这个。。对内核什么的都没有依赖么?
会不会受到内核升级的影响?
升级内核应该没问题
我也在研究中……
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27

#29

帖子 wucongkun » 2006-12-05 18:41

哈 我就不明白 仅仅一个bootlace.com
怎么会直接取得stage 2德控制权 而且不受内核版本的影响?
太高深了.
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#30

帖子 ptptptptptpt » 2006-12-07 17:27

HOHO,不点NB
回复