将 ubuntu 装进移动硬盘

时间:2024-03-11 22:50:25
把 ubuntu linux 装入移动硬盘,并在不同电脑上运行 - stevenliyong 的专栏 - CSDN博客
一、将 ubuntu 装进移动硬盘

下载 ubuntu-8.04.1-desktop-i386.iso 。我是从这里下的: http://tw.releases.ubuntu.com/8.04/ubun ... p-i386.iso 。

将 ubuntu-8.04.1-desktop-i386.iso 解压至某 fat32 分区根目录(在我的电脑上,ntfs 分区也能成功,但毕竟 ntfs 是微软私有的文件系统,所以不推荐)。
确保 各分区 根目录下没有 menu.lst 文件(有的话请改名或删除),否则有可能影响 ubuntu 启动 —— 这是 wubi 有待改进的一处小 bug 。
双击运行 umenu.exe ,选择 演示和完全安装,选中 帮我从 CD 启动 ,点击 完成,出现 设置 CD 启动器,点击 下一步 ,将自动配置启动文件,按提示重启,当出现系统选择菜单时选择 ubuntu ,即可进入 live cd 系统。
若不能正常启动,则在屏幕左上角出现“ Press `ESC\' to enter the menu ”时,按 esc 键,进入启动菜单(此时可能乱码,是个小 bug ,不必担心),选择 第二项 或 第三项 或 第四项 试试。

进入 live cd 系统后,接上移动硬盘,双击桌面上的 安装 ,按提示进行(可参考这个帖子 viewtopic.php?t=115542 )。分区时选择移动硬盘。
注意!
1.不要给 /boot 单独分区。
2.据 liangqian 同学的经验,“宜将 UBUNTU 安装于移动硬盘的最前边,这样兼容性好些,能让那些有引导长度限制的机器仍然能够顺利启动。” 详见 778 ~ 782 楼。
3.到最后一步“准备安装”界面时,点右下方的“高级”按钮,出现“高级选项”对话框,把“安装启动加载器”前的勾去掉。这样做是考虑到很多人不熟悉 grub ,万一操作失误,没准连 windows 都进不了,对幼小的心灵造成莫大伤害,可就罪过了。

安装完成后会问 是否重启 ,这时先不要重启,打开刚安装的系统的根分区,打开 /etc/fstab ,内容类似下面

# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
# /dev/sdc5
UUID=30b754f9-4be7-4e13-9776-8177b71bdfaa / reiserfs notail,relatime 0 1
# /dev/sdc6
UUID=ca7e22d7-c8b7-4ca4-8e4f-a7c038917e0e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

注意红色部分, 30b754f9-4be7-4e13-9776-8177b71bdfaa 即根分区的 UUID ,sdc5 说明根分区是第 5 分区,记下这些信息,后面会用到。


其它安装方法(供参考):
★ 借用虚拟机装在物理硬盘上: viewtopic.php?t=121329
★ 安装 ubuntu 到内置硬盘(可以把移动硬盘芯拆出来,通过转接口挂到台式机上作为内置硬盘),注意要装上 grub ,然后把内置硬盘拆下来做成移动硬盘。这样可以略过后面第2步,直接进行第3步。
★ 刻盘,拆掉内置硬盘,只接移动硬盘和光驱,用光盘直接把系统安装到移动硬盘,注意要装上 grub 。这样可以略过后面第二步,直接进行第三步。
★ 将已经安装配置好的系统拷贝到移动硬盘。最好另外启动一个 linux(如各种 LIVE CD)来拷贝目标系统,这样可以避免很多麻烦。命令示例:sudo cp -a /mnt/hda7/* /mnt/sda6/


二、设置启动

也就是把移动硬盘做成启动盘,而且是 USB-HDD 模式的、可以启动到 GRUB 环境的启动盘。这其中方法很多,问题也很多,不同电脑 USB 启动成功率各异,您可以去“无忧启动论坛 >> 启动盘制作技术区 >> USB启动区”看一看。本文仅给出一种方法,成与不成看人品。


下载http://forum.ubuntu.org.cn/download/file.php?id=33469,解压。在 Windows xp 下,运行附件中 grubinst-1.1-bin-w32-2008-01-01 目录下的 grubinst_gui.exe ,在“磁盘”处选中移动硬盘,点击“安装”即可。

用记事本打开 menu.lst ,将所有“xxxxxxxxxxxxxxxxxxxx”换成前面记下的根分区的 UUID ;把每一行 root (hd0,x) 中的 x 换成 根分区序号减1(比如,我的根分区是第 5 分区,则 x 应该换成 4 );如果您装的是 8.04.1,需将所有 2.6.24-16 改成 2.6.24-19 ,8.04 则不必改 。

将 grldr 和 menu.lst 复制到移动硬盘某分区根目录(保险起见可以往每个分区都复制一份),分区格式可以是 fat16 或 fat12 或 fat32 或 ntfs 或 ext2 或 ext3 。

OK,重启计算机,从移动硬盘启动,可以看到 ubuntu 启动菜单,其各项含义如下:

1 标准模式启动
2 用 ACPI 临时解决方案启动(仅当您出现 ACPI 问题时)
3 用安全图形模式启动(仅当您出现显示问题时)
4 单用户启动(修复某些系统故障时)
5 内存测试

默认启动第一项,若不能正常启动,试试其它的。

启动后,进行第三步。


三、为移动使用做准备

注:8.04以来,很多朋友反映,这一步不做似乎也可以。这得益于 linux 越来越强的硬件适应能力。然而,我还是坚持做这一步,因为它在官方 live cd 中仍旧存在,我相信 ubuntu 开发组保留它肯定是有理由的。

1. 安装两个软件以增强硬件检测能力。设置好源,连上网络,运行命令:


代码:

sudo apt-get update
sudo apt-get install discover1 xresprobe


2. 将附件中 S03xconfig.sh 复制到 /etc/rc2.d/ 并修改其权限使“可执行” (假设 S03xconfig.sh 存放在 /xxx/ 目录下):

代码:

sudo cp /xxx/S03xconfig.sh /etc/rc2.d/
sudo chmod +x /etc/rc2.d/S03xconfig.sh


这是一个自动配置 X 的脚本,功能比较简陋,只是尽量保证能启动到图形界面。ubuntu 系统中有个“硬件驱动”程序,可以从源中检索、安装硬件驱动,将它加以改进,再配合预先下载的驱动程序包,应该能实现开机自动检测、安装闭源显卡驱动,获得更好的显示性能。这个工作目前没时间做,有兴趣的朋友可以试试。


OK,移动ubuntu 就做好了,到处去试试吧 :)

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

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

方法1:需装有 XP/2000/2003 。
将 menu.lst 中所有“xxxxxxxxxxxxxxxxxxxx”换成前面记下的根分区的 UUID ,将所有 (hd0,x) 行删除。
将 menu.lst 和 根分区中的boot文件夹 复制到主机硬盘某 fat32 或 ntfs 分区。
将 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文件 刻进去,从光驱启动。原理类似,不再赘述。