感谢支持
我们一直在努力

把ubuntu系统安装进移动硬盘,可在不同电脑上运行

1 概念


顾名思义,就是将 linux 系统安装到移动硬盘,并且能在多台不同的电脑上运行 —— 移动硬盘就是要移动着用嘛。不妨称之为 portable-linux 或 mobile-linux ,或者别的什么名字?


2 用途


我想到以下几点——


救急:电脑原来的系统因病毒或其它原因不能正常启动,而又急需里面的资料,这时便可用移动硬盘启动,拷出资料;


便携:今社会电脑随处可见,随身带个移动硬盘,不管走到哪里,随便找台电脑插上就能用,再轻薄的笔记本恐怕也不如这方便,因为硬盘只是电脑的一个配件,电脑做的再小,硬盘永远更小


more..


less.. 健壮:电脑出现硬件故障时,拔下移动硬盘,插到另一台机子上便能继续工作;


安全:所有数据都保存在移动硬盘里,电脑上不会留下任何痕迹,真正实现公用电脑、私人数据;


节省:公用电脑无需再买内置硬盘,公司也可以不必为员工配笔记本,每人一块移动硬盘,就能移动办公。


3 为什么不是 portable-windows ?


首先是版权问题。微软规定,用户购买一份 windows ,就只能装在一台电脑上,在第二台电脑上用就算盗版了。


其次是技术问题。我曾尝试把 winXP 装到移动硬盘,到“选择安装分区”时,若选了移动硬盘,就会报错,无法继续。24楼 kumat 网友提供了一个链接: http://www.ngine.de/index.jsp?pageid=4176 ,文中给出一种方法——通过修改安装文件把 XP 强行装进移动硬盘,或许可行。但即使安装成功,也只能在一台机子上使用,因为:1.不同的机子需要不同的驱动,2. windows 系统记录有硬件信息,一旦发现换了机器,就会蓝屏。


毫无疑问,微软有能力作出可移动的 windows —— 技术不是问题,问题在于观念,而观念又取决于利益。说不定哪一天真的会出现 portable-windows —— 只要符合微软的利益。甚至说不定哪一天微软也开源了,谁知道呢 ^_^


4 portable-linux 的可行性


既然目前 windows 很难移动起来,那么 linux 又如何呢?


作为自由软件,linux自然不存在版权问题,我们只需要考虑技术。很幸运,得益于世界各地伟大的热心的程序员们的无私奉献,portable-linux 这一设想是完全可以实现的!


其实早在2004年8月,法国计算机外设厂商 LaCie 公司就推出了装有 Mandrake Linux操作系统的移动硬盘,但似乎没能流行;2005年北京博威特公司推出的“一盘通”产品,则是在移动硬盘上安装了 Ubuntu LINUX;2006年中,华旗资讯(爱国者aigo)也推出了装有 rays linux(华镭)的移动硬盘;今年初,Mandriva 又发布了预装Linux 软件包“U盘”产品,大受欢迎。


那么,其它 linux 发行版是不是也能移动起来呢??我想可以。


所有 linux 启动过程都是类似的:开机后运行一个引导器(grub、lilo、syslinux 等),将 内核 和 initrd(如果有的话)载入内存;内核取得控制后,设法找到 根文件系统,运行其中的 init ,系统就启动起来了。


同样,移动硬盘中的 linux 只要实现了上述过程,也能启动。事实上不难做到:只要主板支持 USB-HDD启动,就能从移动硬盘运行引导器,进而加载 内核 和 initrd ;根分区则可通过 UUID 来指定,而无需挂念移动硬盘到底是 sda 还是sdb 。

另外,为了适应不同机器,需要有自动检测、配置硬件的功能。用惯 windows 的朋友可能会觉得这是个 bigproblem ,因为很多时候在以易用性著称的 windows 下安装驱动都不是一件简单的事情,更不要说 linux了。其实这是一个错误印象,实际情况恰恰相反,对于日常使用的大部分硬件,linux都能自动识别、自动驱动,无需用户干预。可能对于最新的、不常见的硬件,linux 支持稍微差些 ── 主要是因为一些厂商不重视 linux驱动开发。不过随着 linux 日益流行,情况在不断好转。


通常要考虑的也就是显卡。xorg 内置的开源驱动和 vesa 驱动,可以保证绝大多数电脑进入窗口界面,自动检测也很容易实现。要想获得更好的性能(如 运行3D桌面),就得用厂商提供的闭源驱动,要麻烦一些。


内核方面,性能不是最重要的,最重要的是兼容性,要保证能够在大多数电脑上启动起来。


至于接口速度,根本不用担心 —— USB2.0 移动硬盘通常都能达到 20M/S 以上,系统完全可以流畅运行。日后 e-sata 普及起来,速度更加不是问题。


5 一切才刚刚开始


我一直关注 linux 在移动硬盘上的应用,一个重要原因:这是 windows 目前无法作到的。必须承认,在桌面应用领域,windows 很多方面都胜过 linux,然而它无法用在移动硬盘上,这就有了 linux 发挥的空间。


想象一下,有一天内置硬盘不再是电脑标配,人手一块移动硬盘,不管走到哪里,都能用上自己的系统……


一个新的时代 Smile


做一个 portable-Ubuntu


本文内容适用于 ubuntu 7.04 ,部分内容适用于其它 LINUX 。


1.将 ubuntu 装进移动硬盘


方法很多,可自行选择。提供几个参考:


方法1:安装 ubuntu 到内置硬盘,然后把内置硬盘拆下来做成移动硬盘。这样可以略过后面第2、3步,直接进行第4步。但若做了2、3步,可获得更好的兼容性。


方法2:直接安装到移动硬盘。这种方法有可能遇到 GRUB 问题,不熟悉的朋友最好先学习下 GRUB 教程。


方法3:将已经安装配置好的系统拷贝到移动硬盘。最好另外启动一个 linux(如各种 LIVE CD)来拷贝目标系统,这样可以避免很多麻烦。命令示例:sudo cp -a /mnt/hda7/* /mnt/sda6/


2.将 GRUB4DOS 引导代码写入移动硬盘MBR


经验表明,GRUB4DOS 比 GNU GRUB 0.97 兼容性要好些,所以选用它作为引导器。


方法1:Windows 2k/xp/2003 下,运行附件中 grubutil-1.1-bin-w32-9 目录下的grubinst_gui.exe,在“磁盘”处选中移动硬盘,在“选项”区选中“不保存原来的mbr”、“不引导原来的mbr”、“启动时不搜索软盘”,点击“安装”即可。


方法2:LINUX 下,假设移动硬盘为 /dev/sda(注意:某些情况下,比如主机内接有 sata 硬盘,移动硬盘就不一定是 sda了),进入 bootlace.com 所在目录,运行命令 sudo ./bootlace.com /dev/sda 即可。


3.配置 GRUB4DOS


在移动硬盘上找一个或新建一个 fat16/fat32/ext2/ext3 分区,将附件中的 grldr 拷至其根目录, 并在同一目录下建立 menu.lst 文件,内容如下:


代码:


timeout 6


default 0


title      Ubuntu, kernel 2.6.17-10-generic


find  –set-root  /boot/vmlinuz-2.6.17-10-generic


kernel      /boot/vmlinuz-2.6.17-10-generic root=UUID=xxxxxxxxxxxxxxxxxxxx  ro splash


initrd      /boot/initrd.img-2.6.17-10-generic


boot


其中,“xxxxxxxxxxxxxxxxxxxx”需换成根分区 UUID 。查看各分区UUID的命令:ls -l /dev/disk/by-uuid

4.硬件自动检测


将附件中 S03xconfig.sh 复制到 /etc/rc2.d/ ,并修改其权限使“允许作为可执行文件执行” —— 这个用来配置 X 。至此,移动硬盘系统已经可以在不同机子上运行了。


再安装两个软件以增强硬件检测能力:启动移动硬盘系统,设置好源,连上网络,运行命令


代码:


apt-get update


apt-get install discover1 xresprobe


搞定。


怎样在不支持 usb 启动的电脑上启动本系统?


原理:只要设法将 内核 和 initrd 加载到内存,就会自动搜索根分区并启动系统。


方法1:需装有 XP/2000/2003 。将 menu.lst 和 根分区中的boot文件夹 复制到主机硬盘某 FAT32 分区。将grldr 复制到 C 盘;调整“文件夹选项”使显示 系统文件 和 隐藏文件,应看到 C 盘有个 boot.ini文件,修改其属性,去掉“只读”;打开它,添一句 c:\grldr = GRUB4DOS ,可酌情修改 timeout ,示例如下:


[boot loader]


timeout=10


default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS


[operating systems]


multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect


c:\grldr = GRUB4DOS


保存后重启,选择 GRUB4DOS 即可。


方法2:做一张启动光盘,把 内核 和 initrd文件 刻进去,从光驱启动。原理类似,不再赘述。

赞(0) 打赏
转载请注明出处:服务器评测 » 把ubuntu系统安装进移动硬盘,可在不同电脑上运行
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏