一、求可以安装在U盘的Linux操作系统*********
Ubuntu下载位置:
在u盘上安装Ubuntu Linux系统。虽然这里采用的是Ubuntu,但实际上依此方法安装其他Linux live CD发行版也是可行的。
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将会被修复。
二、linux如何识别U盘
入U盘之后,按照下面的步骤:
1.fdisk-l/dev/sd*
fdisk-l列出指定设备的分区表信息。由于usb盘是被模拟为scsi设备访问,所以会被自动命名为sd*。
通常这一步就能找到U盘,如果U盘有指示灯也会亮,表示被找到。
2.如果执行上一个命令没有反应,或者某些信息显示模块没有加入
可以lsmod查看一下是否有usb-storage scsi_mod sd_mod模块。
没有就modprobe [module],添加所缺模块。
然后再试就ok
3.最后就是把U盘mount上去,这里需要先在mnt目录下面建一个usb目录
mount/dev/sda/mnt/usb
某些系统需要指定文件系统的类型,可以用
mount-t vfat/dev/sda/mnt/usb
1:在控制台状态下输入如下命令:
fdisk-l/dev/sd*
如果您有多个USB设备话,则设备名在Linux下分别表示为sda、sdb、sdc等。运行上面的命令后,笔者的电脑上返回如下图所示信息,表示系统已经找到笔者的USB设备,设备名称为/dev/sda1、可启动(Boot下面的那个*表示是活动分区),容量128MB、文件系统为FAT16。
Disk/dev/sda: 131 MB, 131072000 bytes
50 heads, 32 sectors/track, 160 cylinders
Units= cylinders of 1600* 512= 819200 bytes
Device Boot Start End Blocks Id System
/dev/sda1* 1 160 127984 6 FAT16
2:在/mnt目录下建立一个挂装USB存储器的目录:
mkdir/mnt/udisk
3:然后再运行装载设备命令,将USB设备挂装到/mnt/usb目录下:文件系统为FAT32
mount-t vfat/dev/sda1/mnt/udisk
或者如果为其它文件格式,如FAT12
mount-t msdos/dev/sda1/mnt/udisk
为了正确的显示其中可能有的中文字体,将输入输出的字符类型设定为cp936。
mount-t vfat-o iocharset=cp936/dev/sda1/mnt/udisk
4:运行如下命令即可查看USB存储器中的文件信息.
ls-l/mnt/udisk
三、在linux操作系统中怎样读取u盘
1、首先需要把U盘插入Linux电脑,确保U盘指示灯是亮着的进入Linux系统主界面,按Ctrl+Alt+T打开命令窗口。
2、先获取高级用户权限,输入命令:sudo-i,确定后输入高级用户密码。
3、首先使用fdisk-l命令查看一下U盘是否有被识别到,及识别的U盘是在哪个位置,本次接入看到U盘的位置是/dev/Sdb4。
4、输入挂载U盘命令:mount/dev/sdb4/mnt,回车后即挂载U盘成功。
5、继续输入:cd回车,可以查看U盘下的文件。