之前网上介绍了通过u盘安装Vista的方法,本文将介绍如何在u盘上安装UbuntuLinux系统.虽然本文采用的是Ubuntu,但实际上依此方法安装其他LinuxliveCD发行版也是可行的.
从u盘上运行Linux,丰富了liveCD的体验,使你可以在任意机器上运行Linux,比随身携带一张光盘方便多了。
1.准备工作
在开始之前,你至少需要进行如下准备:
*一张UbuntuliveCD或者.iso镜像文件
*容量至少为1G的U盘
*运行的Linux操作系统
2.设定u盘
首先,将u盘插上,检查设备是否被认出。为了找到设备,请运行以下命令:
$sudofdisk-l
在我的系统中,此设备的盘符为/dev/sdb,本文以/dev/sdb为例讲解,读者请根据自己系统的实际情况更改(可能是sda,sdc...)。
系统发现U盘后,将要创建分区。
注意:使用错误的盘符可能破坏你的硬盘分区,所以请谨慎输入。
创建分区
将已经挂载的U盘卸载:
$sudoumount/dev/sdb1
然后使用fdisk,一个编辑分区的工具:
sudofdisk/dev/sdb
我们删除U盘的分区后,在上面创建两个新分区:一个容量为750MB的fat文件系统分区,用来保存liveCD镜像中的文件,其余的另一个分区。
然后输入的格式为“dx”,x为分区的盘符,以下依次输入:
*n创建新的分区
*p设为主分区
*1设为第一主分区
*接受默认选项或输入“1”从第一柱面启动
* 750M将空间设置为750MB
*a将分区设为可以启动的活动分区
*1选择这个分区
*t改变分区格式
*6设置为FAT16分区
第一个分区设置完成了,进行第二个:
*ntocreateyetagainanewpartition
*n再次创建一个分区
*p设为主分区
*2设为第二分区
*回车接受默认选择
*接受默认选择,用尽所有容量
*最后,输入w使U盘完成上述更改
分区完成后,进行格式化。
格式化分区
第一个分区将要被格式为FAT16文件系统,并将U盘设定为自启动。
$sudomkfs.vfat-F16-nliveusb/dev/sdb1
第二个分区将要被格式化为ext2文件系统,块长(blocksize)为4096字节,并且将该卷进行casper-rw(否则将不能成功完成目标!)
$sudomkfs.ext2-b4096-Lcasper-rw/dev/sdb2
现在,需要将liveCD镜像复制到U盘中。
3.从u盘中安装Ubuntu
挂载UbuntuliveCD镜像
首先需要挂载ubuntu的镜像。有两种方法,通过“.iso”文件或者是光盘。
从CD挂载
将Ubuntu或其他发行版光盘插入电脑,将会被自动挂载。否则,按如下操作便能成功挂载。
$sudomount/media/cdrom
从.iso镜像文件挂载
需要创建一个临时的文件夹,以/tmp/ubuntu-livecd为例,然后将其挂载:
$mkdir/tmp/ubuntu-livecd
$sudomount-oloop/path/to/feisty-desktop-i386.iso/tmp/ubuntu-livecd
挂载U盘的分区
将u盘再次插入,两个分区将显示为/media/liveusb和/media/casper-rw。如果该情况未能出现,你需要手动挂载:
$mkdir/tmp/liveusb
$sudomount/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
$sudocp-rfcasperdisctreedistsinstallpicspoolpreseed.diskisolinux/*md5sum.txtREADME.diskdefinesubuntu.icocasper/vmlinuzcasper/initrd.gzinstall/mt86plus/media/liveusb/
可能出现符号链接不能被创建,你可以忽略过去。
下面我们将U盘第一分区中的isolinux.cfg更名为syslinux.cfg:
$cd/tmp/liveusb
$sudomvisolinux.cfgsyslinux.cfg
根据你的设置改变/tmp/liveusb
按照下面编辑syslinux.cfg文件:
DEFAULTpersistent
GFXBOOTbootlogo
GFXBOOT-BACKGROUND0xB6875A
APPENDfile=preseed/ubuntu.seedboot=casperinitrd=initrd.gzramdisk_size=1048576root=/dev/ramrwquietsplash--
LABELpersistent
menulabel^StartUbuntuinpersistentmode
kernelvmlinuz
appendfile=preseed/ubuntu.seedboot=casperpersistentinitrd=initrd.gzramdisk_size=1048576root=/dev/ramrwquietsplash--
LABELlive
menulabel^StartorinstallUbuntu
kernelvmlinuz
appendfile=preseed/ubuntu.seedboot=casperinitrd=initrd.gzramdisk_size=1048576root=/dev/ramrwquietsplash--
LABELxforcevesa
menulabelStartUbuntuinsafe^graphicsmode
kernelvmlinuz
appendfile=preseed/ubuntu.seedboot=casperxforcevesainitrd=initrd.gzramdisk_size=1048576root=/dev/ramrwquietsplash--
LABELcheck
menulabel^CheckCDfordefects
kernelvmlinuz
appendboot=casperintegrity-checkinitrd=initrd.gzramdisk_size=1048576root=/dev/ramrwquietsplash--
LABELmemtest
menulabel^Memorytest
kernelmt86plus
append-
LABELhd
menulabel^Bootfromfirstharddisk
localboot0x80
append-
DISPLAYisolinux.txt
TIMEOUT300
PROMPT1
F1f1.txt
F2f2.txt
F3f3.txt
F4f4.txt
F5f5.txt
F6f6.txt
F7f7.txt
F8f8.txt
F9f9.txt
F0f10.txt
将U盘设置为可引导的
为完成此步骤,需要安装syslinux:
$sudoapt-getinstallsyslinux
最后卸载/dev/sdb1,并使其可引导:
$cd
$sudoumount/tmp/liveusb
$sudosyslinux-f/dev/sdb1
重启,将BIOS设为可以从U盘引导,就可以享受U盘中的Ubuntu了!
4.疑难排解
如果不能从U盘引导,可能是由于主引导记录(MBR)被破坏。你可以用lilo来修复这个问题:
$lilo-M/dev/sdb/dev/sdb上的MBR将会被修复。
(责任编辑:云子)
下载本文示例代码
阅读(325) | 评论(0) | 转发(0) |