本文将介绍如何在U盘上安装Ubuntu Linux系统.虽然本文采用的是Ubuntu,但实际上依此方法安装其他Linux live CD发行版也是可行的.
从U盘上运行Linux,丰富了live CD的体验,使你可以在任意机器上运行Linux,比随身携带一张光盘方便多了。
1. 准备工作
在开始之前,你至少需要进行如下准备:
* 一张Ubuntu live CD 或者 .iso 镜像文件
* 容量至少为1G的 U 盘
* 运行的 Linux 操作系统
2. 设定u盘
首先,将U盘插上,检查设备是否被认出。为了找到设备,请运行以下命令:
$ sudo fdisk -l
在我的系统中,此设备的盘符为 /dev/sdb ,本文以 /dev/sdb 为例讲解,读者请根据自己系统的实际情况更改(可能是sda,sdc...)。
系统发现 U 盘后,将要创建分区。
注意:使用错误的盘符可能破坏你的硬盘分区,所以请谨慎输入。
创建分区
将已经挂载的 U 盘卸载:
$sudo umount /dev/sdb1
然后使用fdisk,一个编辑分区的工具:
sudo fdisk /dev/sdb
我们删除 U 盘的分区后,在上面创建两个新分区:一个容量为750MB的fat文件系统分区,用来保存 live CD 镜像中的文件,其余的另一个分区。
然后输入的格式为“d x”,x为分区的盘符,以下依次输入:
*n 创建新的分区
*p 设为主分区
*1 设为第一主分区
*接受默认选项或输入“1”从第一柱面启动
*+750M 将空间设置为750MB
*a 将分区设为可以启动的活动分区
*1 选择这个分区
*t 改变分区格式
*6 设置为FAT16分区
第一个分区设置完成了,进行第二个:
*n to create yet again a new partition
*n 再次创建一个分区
*p 设为主分区
*2 设为第二分区
*回车接受默认选择
*接受默认选择,用尽所有容量
*最后,输入 w 使U盘完成上述更改
分区完成后,进行格式化。
格式化分区
第一个分区将要被格式为FAT16文件系统,并将 U 盘设定为自启动。
$ sudo mkfs.vfat -F 16 -n liveusb /dev/sdb1
第二个分区将要被格式化为 ext2 文件系统,块长(blocksize)为4096字节,并且将该卷进行casper-rw(否则将不能成功完成目标!)
$ sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2
现在,需要将 live CD 镜像复制到 U 盘中。
3. 从U盘中安装Ubuntu
挂载Ubuntu live CD 镜像
首先需要挂载ubuntu的镜像。有两种方法,通过“.iso”文件或者是光盘。
从 CD 挂载
将Ubuntu或其他发行版光盘插入电脑,将会被自动挂载。否则,按如下操作便能成功挂载。
$ sudo mount /media/cdrom
从 .iso 镜像文件挂载
需要创建一个临时的文件夹,以 /tmp/ubuntu-livecd 为例,然后将其挂载:
$ mkdir /tmp/ubuntu-livecd
$ sudo mount -o loop /path/to/feisty-desktop-i386.iso /tmp/ubuntu-livecd
挂载 U 盘的分区
将U盘再次插入,两个分区将显示为/media/liveusb和/media/casper-rw。如果该情况未能出现,你需要手动挂载:
$ mkdir /tmp/liveusb
$ sudo mount /dev/sdb1 /tmp/liveusb
所有需要的分区都已经被挂载,该复制文件了。
将文件复制到 U 盘中
找到CD镜像的路径(笔者的情况是/tmp/ubuntu-livecd,当然也可能是/media/cdrom),然后复制到作为根分区的U盘第一分区:
包括casper,disctree,dists,install,pics,pool,preseed,.disk这些目录,isolinux目录下的所有文件,还有md5sum.txt,README.diskdefines,ubuntu.ico,casper/vmlinuz, casper/initrd.gz和install/mt86plus。
$ cd /tmp/ubutu-livecd
$ sudo cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /media/liveusb/
可能出现符号链接不能被创建,你可以忽略过去。
下面我们将 U 盘第一分区中的isolinux.cfg更名为syslinux.cfg:
$ cd /tmp/liveusb
$ sudo mv isolinux.cfg syslinux.cfg
根据你的设置改变/tmp/liveusb,照下面编辑syslinux.cfg文件:
DEFAULT persistent
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xB6875A
APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL persistent
menu label ^Start Ubuntu in persistent mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL live
menu label ^Start or install Ubuntu
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL xforcevesa
menu label Start Ubuntu in safe ^graphics mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL check
menu label ^Check CD for defects
kernel vmlinuz
append boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL memtest
menu label ^Memory test
kernel mt86plus
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt
将U盘设置为可引导的
为完成此步骤,需要安装syslinux:
$ sudo apt-get install syslinux
最后卸载/dev/sdb1,并使其可引导:
$ cd
$ sudo umount /tmp/liveusb
$ sudo syslinux -f /dev/sdb1
重启,将BIOS设为可以从 U 盘引导,就可以享受 U 盘中的Ubuntu了!
4. 疑难排解
如果不能从 U 盘引导,可能是由于主引导记录(MBR)被破坏。你可以用lilo来修复这个问题:
$ lilo -M /dev/sdb/dev/sdb上的MBR将会被修复。
注意:
起先按照此办法并未成功,首先在复制文件时出现出错,可能是光盘复制上600多M的镜像文件有问题,但是此光盘我启动一直没问题。后来在执行syslinux的时候,出现提示没有MCOPY的提示,于是安装mcopy:
$sudo apt-get install mcopy
然后正常。
安装环境是IBM 笔记本,U盘是1G MiniSD卡+读卡器,安装工具是ubuntu7.04的LIVE CD光盘。
【相关文章】
|
|||
| · McWill、WiMAX、3G博弈 · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 |
· 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |