[转帖]外置usb硬盘安装Ubuntu即插即用配置

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

[转帖]外置usb硬盘安装Ubuntu即插即用配置

#1

帖子 yongyi » 2005-10-11 18:53

http://www.linuxsir.org/bbs/showthread.php?t=223499

因为实验室没有linux环境,我写的python软件里边有一个自己写的c++ extension,如果换到windows环境,需要重新编译,vc6里边的一大堆参数看的好烦,而且其中还用到了一个gnu的c++库,到 windows环境下麻烦一大堆,不如自己动手做个移动的linux环境,就是把linux装到移动硬盘上,在机房或者实验室随便找台机器就能跑自己的程序了。

因为有免费的ubuntu的盘,所以就打算在我的40G的移动硬盘上装这个系统,之前都是用的fedora,对debian系统还不是很熟悉,估计反正都差不多吧,顺便对比一下。

把usb硬盘插上电脑,把光盘插入光驱,关机重启,从光盘进入安装界面,一步一步按部就班就可以了,我的usb硬盘划了15G出来,用ubuntu的分区工具自动在空闲分区划分了根分区和swap分区,还挺实用的,比较适合新手,然后把系统安装到usb上,基本上没有让你选的东西,网络可以先不安装,安装到最后一步,安装grub时选安装到/dev/sdaX,X是你的linux分区。然后重启。

继续从光盘启动,boot:rescue模式再次进入安装界面,选择语言后,然后让你选择挂载分区,因为我用的是usb,我的linux分区是usb硬盘的第一个分区,就是sda1,而ide硬盘也已经自动挂载了,所以选分区的时候只能选/dev/discs/disc1/part1,这个需要根据自己的情况修改,然后选execute a shell,启动shell进入关键阶段。

1.修改mkinitrd的module文件,告诉kernel在启动的时候需要加载什么驱动,因为我们用的usb硬盘,必须告诉kernel,usb的驱动,不然没法解开kernel加载;

chroot /target
把当前工作目录换到usb硬盘linux分区上,以后所有的操作都是在这个分区上,而不是rescue系统临时搞出来的ram分区。
然后启动编辑器nano,vi也可以,看你喜欢哪个了,不过我的nano没起来,奇怪的很,我只有用vi了。
vi /etc/mkinitrd/modules
添加下列东东
ehci_hcd
uhci_hcd
ohci_hcd
usb-storage

uhci_hcd和ohci_hcd是usb1.1的驱动
ehci_hcd是usb2.0的驱动
如果使用的机器都是支持usb2.0的,那uhci和ohci可以不加载
注意这里xxx_hcd都是下划线,不要搞错了,我搞了几回都不对就是这个原因。血泪教训阿。不会用vi的话,看看help,基本的还是很容易的,不过进入了vi,键盘的方向键就失去了作用了,hljk分别就是左右上下了,有点别扭,对于我这种用惯了emacs的,实在是折磨。

2 修改模块加载等待时间,让usb驱动模块有足够的时间加载完然后进入系统,否则会出现错误。
vi /etc/mkinitrd/mkinitrd.conf
找到DELAY=0的那行,改为DELAY=10,反正10以上就可以了,10以下据说有问题,我没试过,你有兴趣就试试。

3编译新启动镜像

mount -tproc none /proc
不知道这是干嘛的,反正没有这个命令后面也会告诉你的
mkinitrd -o /boot/initrd.img-<kernel version>-usb <kernel version>
就会根据你的配置生成新的镜像,以后拿这个启动就可以了
如果不知道kerenl version的话ls /lib/modules看看

4更新grub配置
vi /boot/grub/menu.lst

修改默认配置,改成这个样子:

title Ubuntu, kernel 2.6.10-5-386-usb
root (hd0,0)
kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.10-5-386-usb
savedefault
boot

hd0是第一个硬盘,刚启动的时候好像是不管ide硬盘的,默认起来usb就是第一个硬盘,因为usb启动嘛,可能主板不一样,会有些差异,我看的别人的帖子是hd1,到了我这儿就不行了 0是第一个分区,对应后面的sda1

保存后重新启动,然后设置bios启动顺序,以usb为第一个启动,保存配置后启动,从usb进去,出现grub界面,选刚才修改的entry进入,呵呵,等上1分钟,就可以进入系统了。

如果发现不成功,重复检查一下上述步骤是否正确。

usb falsh disc我没试过,估计也差不多。
对于fedora core,mkinitrd的命令有些不同,过程更简单一点,不用修改配置文件,安装完系统后,用rescue模式进入,挂载usb硬盘后:
mkinitrd --preload=ehci_hcd --preload=usb-storage --preload=scsi_mode --preload=sd_mode /boot/initrd-usb.gz 2.6.11-1.1369-FC4
然后修改grub就可以了,fedora core的我没有试过,有危险不保证哦

装完Ubuntu,用了一下,硬件驱动很全,起来简单配置一下显卡和无线网卡就可以用了,想当年我在FC4下配个无线浪费了多少青春。显卡估计用的是xorg的vesa,一般的2d驱动可以了,opengl估计还是不行,先放着吧。

然后就是apt-get 狂下载软件了,后面就有的忙了,还是FC省事,安装的时候全部装上了,以后就不麻烦了。

对比起来,Ubuntu适合新手,很多东西默认就安装好了,一般应用足可以了,FC更适合有经验的,很多新的软件很快就会有rpm包,deb的比较少,Enlightenment DR17 yum库的是10月1号的,apt库是9.15号,落后一大截。
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2005-10-11 19:26

这个好。明天测试。
● 鸣学
头像
annerose
帖子: 105
注册时间: 2005-04-07 20:15

#3

帖子 annerose » 2005-10-13 16:53

据说gcc的参数更多
试着用它来代替windows吧,你会重新找回当年的感动!
头像
rosn
帖子: 1014
注册时间: 2006-01-14 18:33

#4

帖子 rosn » 2006-01-23 20:45

为什么我做到最后一步,安装grub时选安装到/dev/sda1,然后重启进入急救模式,选分区的时候选/dev/discs/disc1/part1却提示挂载失败。
我的6G移动硬盘在XP下分两个区一个主分区4点多G一个扩展分区1点多G,然后在X定把主分区删除,在安装ubuntu时安装在删除的主分区上,采用自动分区的。

还有一个问题就是VI和nano不会用,都是英文的,编辑好了也不知道如何保存,好惨,只能直接关闭。
头像
annerose
帖子: 105
注册时间: 2005-04-07 20:15

有个windows下的unix环境叫cygwin

#5

帖子 annerose » 2006-01-24 0:49

是整个unix环境的移植,非常不错
试着用它来代替windows吧,你会重新找回当年的感动!
头像
rosn
帖子: 1014
注册时间: 2006-01-14 18:33

#6

帖子 rosn » 2006-01-26 14:13

楼上的朋友你试过成功吗,我没成功。
头像
内存不足
论坛版主
帖子: 3277
注册时间: 2005-08-18 18:43
联系:

#7

帖子 内存不足 » 2006-01-26 15:28

没有移动硬盘 要不还真想试试看
໌→ iCookie Gtk Theme
໌→DropPlusBluetheme
กรัก กรัก`菠萝
头像
rosn
帖子: 1014
注册时间: 2006-01-14 18:33

#8

帖子 rosn » 2006-02-01 6:36

我已经做到:rescue模式再次进入安装界面,选择语言后,然后选择挂载分区,boot分区,不知道是怎么回事,只有挂载这个分区才正常没有报错,挂载其它的任何一个分区都报错说只能进入什么ram的模式什么的,挂载boot分区后并没有选execute a shell这一步,而是直接进入一个什么提示付下,没办法我只能输入vi /etc/mkinitrd/modules回车,就出来VI的新文件编辑了。

不知道我这样是不是正常的,一个问题不知道挂载分区对了没有,另一个问题就是不知道没有选execute a shell这一步。

我在vi里编辑了一下保存退出,却发现vi没有退出,想编辑第二个文件又不知道如何开始,怕影响第一个文件,只好重启,重启后进入刚才编辑文件所在目录并没发现刚才编辑的文件 ,我已经保存再退出的呀,结果如此反复搞完一个重启再搞一个,搞了两个文件。我终于没有耐性了,反正知道自己这一步是过不了了,就试试从移动硬盘启动,正常出现启动菜单,但选任何一个启动项都 出错。

到此,以失败结束!!!!
回复