把ubuntu安装至移动硬盘、并可在不同电脑上启动、运行的方法
一、使移动硬盘具有和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安装至移动硬盘。启动一个linux系统,接上移动硬盘,一般会自动识别出来。假设其中某分区 (除了ntfs任一分区均可)的路径为/media/usbdisk,假设移动硬盘为/dev/sda(注意如果主机中有sata硬盘,可能会变成 /dev/sdb),运行以下命令:
sudo grub-install --root-directory=/media/usbdisk /dev/sda
在/media/usbdisk/boot/grub/目录下建立grub配置文件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 /
视频怎么设置铃声音乐
title live cd xforcevesa
root (hd0,*)
kernel /casper/vmlinuz boot=casper xforcevesa ramdisk_size=1048576 root=/dev/ram rw splash
initrd /
这样就好了。
第二种方案:

大致过程是,将live cd上的系统复制到移动硬盘,并修改相关脚本,使之适应移动硬盘环境。具体操作分4步:


第1步:复制live cd系统。

按您的需要给移动硬盘分区,其中预备一个根分区,2G左右,若还想添加软件就分大点;一个swap区,256M以上。根分区文件系统可以是ext2或ext3或reiserfs。

运行hiweed 1.0 live cd,此时系统/rofs目录下挂载的就是live cd中内置的ubuntu系统,将其复制到移动硬盘上预备的根分区中(假设其路径为/media/usbdisk/):
lol名字大全霸气
sudo cp -a /rofs/* /media/usbdisk/
第2步:定制initrd文件

附件里有一个做好的,针对hiweed1.0,大家可以直接拿来用 :)

这一步比较长,为了整个帖子看起来简洁一些,这步的详细描述也放在附件里了。

从附件里解出 initrd.hiweed1.0-m 文件,拷到移动硬盘系统的 /boot 目录下。


第3步:为移动硬盘安装GRUB。

仍然假设此时 移动硬盘系统的根分区 的路径为/media/usbdisk,并假设移动硬盘为/dev/sda(注意如果主机中有sata硬盘,可能会变成/dev/sdb),运行以下命令将grub安装到移动硬盘上:
sudo grub-install --root-directory=/media/usbdisk /dev/sda
然后在/media/usbdisk/boot/grub/目录下建立grub配置文件menu.lst,添加如下内容(其中的*号请根据自己的情况换成合适的数字):
timeout 6
default 0
fallback 1

贪婪洞窟攻略title    mobile ubuntu
kernel  (hd0,*)/boot/vmlinuz-2.6.15-23-386 boot=casper ramdisk_size=1048576 root=/dev/ram rw splash debian-installer/locale=zh_CN
initrd    (hd0,*)/boot/initrd.hiweed1.0-m

title    mobile ubuntu xforcevesa
kernel  (hd0,*)/boot/vmlinuz-2.6.15-23-386 boot=casper xforcevesa ramdisk_size=1048576 root=/dev/ram rw splash debian-installer/locale=zh_CN
initrd    (hd0,*)/boot/initrd.hiweed1.0-m
第二个是强制VESA模式,如果前一个不能正常启动,可以试试它。

罕见好听的古风女名
第4步:创建记号文件

在移动硬盘系统的根分区下创建一个文件,命名为hiweed1.0,用来标记系统分区。

这一步万不可少,否则就不灵了呵呵

OK,现在算是正式完工了!重启电脑进入BIOS设成从移动硬盘启动,试试能行不?
涉及到的几个问题:

1、与上一帖的区别

前面我曾发过类似的一帖,说的也是制作移动硬盘系统,但方法略有不同。那次是先把系
统安装好,配置好,装好需要 的软件,然后拷到移动硬盘上,并对initrd加以改造,以实现检测硬件的功能。这就涉及到一个问题:在一台计算机上安装好的linux,要移到另外一台 不同配置的机子上运行,到底有哪些东西需要重新配置?解决好这个问题需要对linux系统有深入的了解,我功力不济,还请各位高手指导。 google账号注册

而这次是直接取用了live cd中的系统,因为live cd设计的初衷就是要在不同的机子上都能运行,所以上面的问题已经由live cd的设计者解决了。但又面临另一个问题:限于live cd的光盘发行形式,live cd中的系统在功能上,比起正常安装的系统,可能会有缺陷。因为它毕竟不是为日常使用而设计的。比如说,live cd无法添加删除软件,自然用不到apt,那它里面的apt功能会不会没有配置好呢??……

当然也说不定两种方法压根就没什么本质区别,只是我想的太多 实际中我都试了,都能用。但一方面用的时间还不长,另一方面试验过机子也不多,所以不能完全说明问题,所以还得靠大家多多实践,共同研究。

2、usb接口速度问题

主要表现在启动初期,GRUB把内核和initrd文件往内存里拷贝 时,在某些机子上速度奇慢,多见于VIA芯片组平台。这个问题倒可以通过缩减intird文件的体积来缓解,ubuntu的initrd文件有6、7M, 而knoppix的只有不到1M。但也只是缓解,不能根治,因为还有内核呢,1M多,很难再小了。
启动之后用起来,只要是USB 2.0的接口,速度都可以接受。当然usb 1.1就很成问题了。

3、不支持usb启动的电脑怎么办?

有一个办法,就是麻烦点。不支持usb启动的机子肯定比较老,usb接口多是1.1版的,所以建议先添加一块usb 2.0扩展卡。然后把内核和initrd文件刻到一张启动盘上,通过光驱来启动移动硬盘上的系统。这个办法也可用来解决第2个问题。

4、ati显卡驱动问题


这也是传统问题了。ati显卡运行X时总是问题多多。不行的话可以试试VESA模式。再不行就试试把用户目录里记录屏幕分辨率的那个文件删掉。

5、windows可以这样搞吗?

一如既往:sorry,you can't 。众所周知,微软的理念是,用户购买一份windows,默认的,就只能在固定的一台计算机上使用,在第二台上用就算盗版了。摆明了逼着你再买一套。所以 它不会愿意用户把系统装在移动硬盘上到处使,并且技术上也有限制:1,windows不能装在移动硬盘上,安装时你可以看见移动硬盘的盘符,但如果选了在 上面安装就会出错,无法进行下去;2,win系统与硬件紧密结合,这台机子上装的winxp,拿到另一台去用,多半要蓝屏。

而我们可爱的linux自然没有这些限制,我觉得做这样的移动系统天生就是linux的活。想象一下,我们可以在移动硬盘里装上自己喜欢的系统,随身携带,走到哪里就用到哪里,比
笔记本可轻多了 :) 当然免不了得用别人的电脑 甚至手头紧的朋友可以先不买电脑了,买块移动硬盘,装上系统,用别人的机子,哈哈──我无耻我HAPPY……至于以后e-sata接口的移动硬盘普及起来,速度会更快,用起来会更稳定!无限憧憬中……

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。