本文将介绍如何在u盘上安装 Linux系统虽然本文采用是但实际上依此思路方法安装其他Linux live CD发行版也是可行
从u盘上运行Linux丰富了live CD体验使你可以在任意机器上运行Linux比随身携带张光盘方便多了
1. 准备工作
在开始的前你至少需要进行如下准备:
* 张 live CD 或者 .iso 镜像文件
* 容量至少为1G U 盘
* 运行 Linux 操作系统
2. 设定u盘
首先将u盘插上检查设备是否被认出为了找到设备请运行以下命令:
$ sudo fdisk -l
在我系统中此设备盘符为 /dev/sdb 本文以 /dev/sdb 为例讲解读者请根据自己系统实际情况更改(可能是sdasdc……)
系统发现 U 盘后将要创建分区
注意:使用盘符可能破坏你硬盘分区所以请谨慎输入
创建分区
将已经挂载 U 盘卸载:
$sudo umount /dev/sdb1
然后使用fdisk个编辑分区工具:
sudo fdisk /dev/sdb
我们删除 U 盘分区后在上面创建两个新分区:个容量为750MBfat文件系统分区用来保存 live CD 镜像中文件其余另个分区
然后输入格式为“d x”x为分区盘符以下依次输入:
*n 创建新分区
*p 设为主分区
*1 设为第主分区
*接受默认选项或输入“1”从第柱面启动
*+750M 将空间设置为750MB
*a 将分区设为可以启动活动分区
*1 选择这个分区
*t 改变分区格式
*6 设置为FAT16分区
第个分区设置完成了进行第 2个:
*n to create yet again a partition
*n 再次创建个分区
*p 设为主分区
*2 设为第 2分区
*回车接受默认选择
*接受默认选择用尽所有容量
*最后输入 w 使U盘完成上述更改
分区完成后进行格式化
格式化分区
第个分区将要被格式为FAT16文件系统并将 U 盘设定为自启动
$ sudo mkfs.vfat -F 16 -n liveusb /dev/sdb1
第 2个分区将要被格式化为 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盘第分区:
包括casperdisctreedistspicspoolpreseeddisk这些目录iso目录下所有文件还有md5sum.txtREADME.disksubuntu.icocasper/vmlinuz casper/initrd.gz和/mt86plus.
$ cd /tmp/ubutu-livecd
$ sudo cp -rf casper disctree dists pics pool preseed .disk iso/* md5sum.txt README.disks ubuntu.ico casper/vmlinuz casper/initrd.gz /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 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 egrity-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 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 mcopy
然后正常
安装环境是IBM 笔记本U盘是1G MiniSD卡+读卡器安装工具是ubuntu7.04LIVE CD光盘
最新评论