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

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

#361

帖子 bbsmaster » 2007-09-15 21:58

按照这个方法进行安装

安装之前为了防止分区错误影响内置硬盘上的数据,就把内置硬盘拿掉了,直接通过USB对移动硬盘进行安装,安装过程一切正常,重启之后也能正常进入系统。之后有安装了grub4dos和设置menu.lst等等。

然后,我把原先的内置硬盘又装了回去,启动顺序还是USB,CD,Harddisk,可是启动时直接跳过移动硬盘了,启动内置硬盘上的windows,一旦我把内置硬盘拔掉,系统就可以从grub4dos那儿启动ubuntu了,不过启动的时候会报mbr not equal bios之类的错误,不过系统还是可以正常启动的

请问各位这个可能是什么原因导致的,谢谢!
zxjack
帖子: 2
注册时间: 2007-09-19 11:25

#362

帖子 zxjack » 2007-09-19 12:02

楼主的想法很好,我喜欢 有空的话试试看
conan1154
帖子: 12
注册时间: 2006-07-04 19:33

#363

帖子 conan1154 » 2007-09-21 21:00

bbsmaster,你仔细看一下启动顺序里的USB是不是USB-HDD,一般有好几种USB启动设备的选项的,要选HDD才行。你也可以找到自己电脑对应的boot按键,进入启动菜单,选择启动设备为USB-HDD。
cattyzeal
帖子: 20
注册时间: 2006-05-09 21:39

#364

帖子 cattyzeal » 2007-09-24 22:50

首先感谢楼主做出很好工作与无私的精神!

下面有个问题想请教,

我是装的xubuntu,实现移动硬盘的安装与启动,安装了那两个程序与脚本。但是现在移动到不同的计算机上,发现它不如liveCD那么支持好显卡,虽然用lspci能列出显卡的类型。但是xorg.conf里面显卡也显示器都是通用的。不能调节模式与刷新率。一闪一闪的,太乱眼了。有没有好的解决方法?
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#365

帖子 ptptptptptpt » 2007-09-25 12:14

这个,就 理论和我的经验来说,安装了那两个程序与脚本 之后,对显卡的支持应该是和 liveCD 一样才对

显卡的问题确实比较多,只有等驱动更加成熟了
cattyzeal
帖子: 20
注册时间: 2006-05-09 21:39

#366

帖子 cattyzeal » 2007-09-25 22:09

难道是我选的安装盘的问题(我用的不是liveCD盘),还是用xubuntu的原因?
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#367

帖子 ptptptptptpt » 2007-09-25 22:14

应该都不是,理论上讲 :)
cattyzeal
帖子: 20
注册时间: 2006-05-09 21:39

#368

帖子 cattyzeal » 2007-09-28 0:39

我把xorg.conf删掉,就好了,请楼主能找一找原因。

还有一个问题,根分区不能是RFS格式的么?我试过根分区是ext3时可以从移动盘正常启动,但是根分区是rfs时,启动时说分区是非ms格式,不在上面找grldr文件!实际情况是不是这个样子的?还是有别的原因?

启动刚开始时,为什么速度那么慢?比live CD慢好多,我感觉理论上应该还是移动盘上快吧,楼主能对这个问题对一下解答么?
上次由 cattyzeal 在 2007-09-28 20:55,总共编辑 1 次。
baibai
帖子: 1
注册时间: 2007-09-24 18:33

#369

帖子 baibai » 2007-09-28 14:05

haha
claude
帖子: 4
注册时间: 2007-01-01 1:41

#370

帖子 claude » 2007-10-04 8:55

GOOD IDEA
I LVOE IT !
TKS!
头像
minlawoo
帖子: 51
注册时间: 2007-06-29 10:11
来自: 中国扬州
联系:

#371

帖子 minlawoo » 2007-10-04 9:26

咋搞的
ms还是没解决问题
不敢试了
双系统还是挺险的
oldniu
帖子: 172
注册时间: 2006-08-10 16:01

[测试]把 ubuntu 操作系统装入移动硬盘,并在不同电脑上运行

#372

帖子 oldniu » 2007-10-04 23:10

关键词:移动硬盘 启动 grub mbr

以前只有优盘所以尝试了liveCD搬迁到优盘,用persistent模式casper-rw分区保存数据的文章。
《U盘启动能保存数据的Hiweed》 viewtopic.php?t=49960
最近刚买了60G移动硬盘,有机会可以测试一下了,顺便当作笔记。作测试只用了我不多的时间,写这个笔记到用掉了几个小时。

环境:
IBM T40用liveCD已经安装好了ubuntu704。分区情况:
ubuntu@yetsun:~$ sudo fdisk -l
Password:

Disk /dev/sda: 40.0 GB, 40007761920 bytes
240 heads, 63 sectors/track, 5168 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 812 6138688+ b W95 FAT32
/dev/sda2 1626 4752 23640120 f W95 Ext'd (LBA)
/dev/sda3 813 1625 6146280 83 Linux
/dev/sda5 1626 4717 23375488+ 7 HPFS/NTFS
/dev/sda6 4718 4752 264568+ 82 Linux swap / Solaris
因为是笔记本计算机没有/dev/hd的设备,笔记本中的硬盘就是/dev/sda。从分区中能看出sda1是win的C盘,sda5是win的D盘;当时图简单给ubuntu就分了sda3作根分区和sda6作swap。

过程:
环境调整
先在T40的系统中再补充安装点软件。
依据pt在190楼所陈述的原因,在2楼所用的命令。但是没有明白究竟是哪个进程在调用这两个程序呢,如何起作用的?
sudo apt-get install discover1 xresprobe
我还是比较习惯grub0.97,所以安装mbr软件包,将来设定移动硬盘启动时要用到。
sudo apt-get install mbr
准备将已经安装配置好的ubuntu拷贝到移动硬盘,实现“把 ubuntu 操作系统装入移动硬盘,并在不同电脑上运行”。

移动硬盘分区准备:
移动硬盘与你计算机里面的硬盘区别是,计算机里面的硬盘用螺丝钉固定住了一般是IDE或是SATA接口的,移动硬盘没有固定是usb接口的。但本质上它们都是硬盘。既然是硬盘那些基本的概念和操作是一致的!!!我买的移动硬盘为EAGET忆捷60G。准备留下30G用于window系统使用,考虑了huangjiahua在49楼所讲“因为 Windows 只认第一个分区是否 Windows 分区,所以分区的时候, Linux 分区不要放在第一个分区,不然 Windows 系统不能挂载移动硬盘。只用来启动 Linux 就无所谓了。 ”
启动T40的ubuntu,挂入新的EAGET忆捷60G分区。sudo fdisk -l就能知道所有系统辨识出来的硬盘的设备名称以及分区情况。我的移动硬盘是/dev/sdb。分区过程不详细表述了。有疑问可以看看“硬盘操作指北” viewtopic.php?t=9461,或者 viewtopic.php?t=49960 有操作步骤。
分区结果如下sdb1为留给windows用的分区,sdb2为移动硬盘根分区,sdb5是swap,sdb6准备将来livecd测试时作为casper-rw分区用,sdb7准备作为home分区用。本质上有根分区sdb2和交换分区sdb5就行了。 在你内存大的情况下,swap也不强制为你内存的两倍,我就只用了256M作swap。用top命令看内存使用情况,根本没用到swap。
ubuntu@yetsun:~$ sudo fdisk -l
Password:

Disk /dev/sda: 40.0 GB, 40007761920 bytes
240 heads, 63 sectors/track, 5168 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 812 6138688+ b W95 FAT32
/dev/sda2 1626 4752 23640120 f W95 Ext'd (LBA)
/dev/sda3 813 1625 6146280 83 Linux
/dev/sda5 1626 4717 23375488+ 7 HPFS/NTFS
/dev/sda6 4718 4752 264568+ 82 Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/sdb: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 3648 29302528+ c W95 FAT32 (LBA)
/dev/sdb2 * 3649 4865 9775552+ 83 Linux
/dev/sdb3 4866 7296 19527007+ f W95 Ext'd (LBA)
/dev/sdb5 4866 4897 257008+ 82 Linux swap / Solaris
/dev/sdb6 4898 5506 4891761 83 Linux
/dev/sdb7 5507 7296 14378143+ 83 Linux
建立文件系统:
sudo mkfs.ext3 /dev/sdb2
sudo mkfs.ext3 /dev/sdb6
sudo mkfs.ext3 /dev/sdb7
sudo mkswap /dev/sdb5
这里会获取一个uuid,为这个uuid在/dev/disk/by-uuid/建立一个链接,否则系统会抱怨缺少链接。
cd /dev/disk/by-uuid/
sudo ln -s ../../sdb5 3dbe75a0-1357-4551-b7e9-4e70ccdcfb2b
系统需要安装过sudo apt-get install mbr
在移动硬盘上建立mbr
sudo install-mbr /dev/sdb
将pt在开篇时的附件下载并copy到相应目录,附件只要会员登录就可以看到无需回复,看着pt不断解释这点真有趣:)
sudo cp S03xconfig.sh /media/sdax/etc/rc2.d/
sudo chmod 755 S03xconfig.sh 设定为可执行
如果你不作上面这两句,那最好不要一下进入xwindows,sudo mv /etc/rc2.d/S13gdm /etc/rc2.d/K13gdm
终端界面登录后sudo dpkg-reconfigure xserver-xorg手工配置一遍xwindows。

拷贝ubuntu系统,用ubuntu liveCD704启动,执行
sudo cp -a /mnt/sda3/* /mnt/sdb2/

获取移动硬盘根分区的uuid
ubuntu@ubuntu:~$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 2007-10-04 21:30 178aadc8-e4ea-4a2f-ab35-e4a8c95be544 -> ../../sdb6
lrwxrwxrwx 1 root root 10 2007-10-04 21:30 23dd4d5d-a51b-469b-8435-e57ba2dc90c6 -> ../../sdb2
lrwxrwxrwx 1 root root 10 2007-10-04 21:30 3dbe75a0-1357-4551-b7e9-4e70ccdcfb2b -> ../../sdb5
lrwxrwxrwx 1 root root 10 2007-10-04 21:30 4702-F3FE -> ../../sdb1
lrwxrwxrwx 1 root root 10 2007-10-04 21:21 5C286C83286C5DD0 -> ../../sda5
lrwxrwxrwx 1 root root 10 2007-10-04 21:21 bb84a7c1-c2ae-4edd-8842-7a9f3f49e1fd -> ../../sda3
lrwxrwxrwx 1 root root 10 2007-10-04 21:21 c231a195-3e10-4472-a1cb-7a100da2db37 -> ../../sda6
lrwxrwxrwx 1 root root 10 2007-10-04 21:30 d6a6d240-e1f8-4f98-8108-c3918494f500 -> ../../sdb7
lrwxrwxrwx 1 root root 10 2007-10-04 21:21 F85E-27C3 -> ../../sda1
依据获取的uuid编辑已经拷贝到移动硬盘的menu.lst
sudo vim /mnt/sdb2/boot/grub/menu.lst
编辑好后的启动项
title Ubuntu, kernel 2.6.20-15-generic
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=23dd4d5d-a51b-469b-8435-e57ba2dc90c6 ro quiet splash locale=zh_CN
initrd /boot/initrd.img-2.6.20-15-generic
quiet

title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=23dd4d5d-a51b-469b-8435-e57ba2dc90c6 ro single
initrd /boot/initrd.img-2.6.20-15-generic
贴中的find --set-root /boot/vmlinuz-2.6.17-10-generic 语句我没有用,好像有点问题,如果真是有好几个内核,多写几个启动用的title就行了,这样也比较确定自己到底在用那个内核。


编辑一下fstab
sudo vim /mnt/sdb2/etc/fstab

# /etc/fstab: static file system information.
#
# -- This file has been automaticly generated by ntfs-config --
#
# <file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

# Entry for /:
UUID=23dd4d5d-a51b-469b-8435-e57ba2dc90c6 / ext3 defaults,errors=remount-ro 0 1

# Entry for swap :
UUID=3dbe75a0-1357-4551-b7e9-4e70ccdcfb2b none swap sw 0 0

# Entry for cdrom
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0

使移动硬盘能启动
sudo grub 等一小会儿。为确定移动硬盘的根分区先cat一下
grub> cat (hd 按tab键 当启动时无论是硬盘/移动硬盘/优盘设备名称都是hd没有sd的
Possible disks are: hd0 hd1

grub> cat (hd1 , 按tab键)这里的Partition num是从零开始,而fdisk和设备名称都是从一开始,所以设备名称-1=Partition num
Possible partitions are:
Partition num: 0, Filesystem type is fat, partition type 0xc
Partition num: 1, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x82
Partition num: 5, Filesystem type is ext2fs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83

grub> cat (hd1,1)/boot/grub/按tab键
Possible files are: minix_stage1_5 default e2fs_stage1_5 jfs_stage1_5 installed-version stage1 xfs_stage1_5 menu.lst~ menu.lst reiserfs_stage 1_5 stage2 device.map fat_stage1_5 menu.lst.hd
看看是不是你修改过的内容
grub> cat (hd1,1)/boot/grub/menu.lst
确定了移动硬盘根分区在(hd1,1) ,设定移动硬盘的根分区
grub> root (hd1,1)
然后在mbr上安装grub,即将menu.lst等信息写入mbr
grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+17 p (hd1,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
#这一步是需要stage等文件的。在安装好拷贝过来的ubuntu/boot/grub/下面这些文件应该都有。
grub> quit
其实如上的过程,和安装windows后把mbr清除了,ubuntu/linux启动不起来,恢复的过程是一致的。

设定好bios,利用你的移动硬盘启动试试吧。
用我的移动硬盘启动IBM T40当然可以,T60正常;
启动华硕P4B533的台式机正常;
启动笔记本计算机惠普520,除了无线网卡认成了有线网卡外。
我安装所用的liveCD是适用于i386的,我想AMD的计算机我的移动硬盘肯定是启动不了的。
上次由 oldniu 在 2007-12-10 22:53,总共编辑 6 次。
螺钉头虽然愚笨但总想在坚实的生活里钻出自己的天地来。
skyily
帖子: 29
注册时间: 2007-10-05 1:36
来自: 江西

#373

帖子 skyily » 2007-10-05 4:11

谢谢给了我知识 啊
我喜欢,我追求......
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#374

帖子 ptptptptptpt » 2007-10-07 7:45

cattyzeal 写了:我把xorg.conf删掉,就好了,请楼主能找一找原因。
确实有这种现象,我用 C61 + 宽屏,也是把xorg.conf删掉,反而就能达到 1440*900 的分辨率

还是显卡驱动的原因


cattyzeal 写了: 还有一个问题,根分区不能是RFS格式的么?我试过根分区是ext3时可以从移动盘正常启动,但是根分区是rfs时,启动时说分区是非ms格式,不在上面找grldr文件!实际情况是不是这个样子的?还是有别的原因?

这是因为 GRUB 不支持 RFS

cattyzeal 写了: 启动刚开始时,为什么速度那么慢?比live CD慢好多,我感觉理论上应该还是移动盘上快吧,楼主能对这个问题对一下解答么?
在有些机子上确实如此,我试过在一台比较新的双核笔记本上启动,极其慢,应该是USB兼容性问题
romber
帖子: 53
注册时间: 2007-10-05 13:40

#375

帖子 romber » 2007-10-07 16:13

好东西啊
回复