- 论坛徽章:
- 0
|
原文用于Ubuntu,经本人验证,在Fedora系统下也可用
这是去年写的文章,翻出来放这,希望能对大家有用,毕竟很多朋友都是Linux和Win共存的双系统,废话不多说,这就进入正题。
我的系统是Ubuntu8.10版,其他版本或者其他发行版原理也差不多,不一样的地方可以自己探索一下。
第一步:在开始工作之前先把所有的Windows分区挂载上。在Ubuntu上挂载分区我就不多说了,其他的需要用到命令的请参考我另外一篇帖子。挂载之后打开终端,输入 sudo fdisk -l 查看当前分区情况。可以看到如下图中的类似内容:
![]()
这
里我们要把Win下分区的信息记下来,比如这里我有两个分区是Win的,记下它们的分区号sda1、sda5。再进入根目录下,找到挂载分区的文件夹,比
如在我的系统中是挂载在media目录下的,有些发行版是挂载在mnt目录,这里是个人情况而定。这样第一步算完成了 。
接下来是第二步,先把刚刚挂载的分区卸下,Ubuntu卸载分区很方便,如果不是Ubuntu的话可以通过命令卸载分区。相关命令在另外的帖子里也有。分区卸载后打开终端输入命令 sudo mkdir /media/XXX 的命令,这是新建一个文件夹,其中XXX是你想要的名字,可以随便写。有几个需要挂的分区就输几次这样的命令。这里的media目录可以改成你的系统默认挂载Win分区的目录,比如mnt。这样算完成第二步了。
第三步稍微麻烦一点。打开终端输入 sudo gedit /etc/fstab 打开配置文件。我们可以看到如下图的内容:
![]()
下面,向其中输入内容:
/dev/sdaX /media/XXX vfat utf8,umask=000 0 0
/dev/sdaX /media/XXX ntfs uls=utf8,umask=000 0 0
可
以看出,上一条命令是针对fat32分区的,下一条命令则是针对ntfs分区的。“sdaX”就是第一步中所记录的信
息,X对应分区号,而“/media/XXX”后面的XXX就是是第二步中所创建的文件夹,每个分区对应一条命令,注意分区的格式对应不同的命令。例如,
针对我的电脑的分区,我会向配置文件中加入下面两行内容:
/dev/sda1 /media/system vfat utf8,umask=000 0 0
/dev/sda5 /media/tools vfat utf8,umask=000 0 0
如下图:
![]()
请对应自己的系统分区编辑。编辑完成检查没有错误后就可以保存然后关闭编辑器了,完成第三步。
最后一步——重启。重启之后在桌面上或者进入刚刚设定的目录可以看到 Windows 分区已经挂载上了。
Linux系统攻略 用UUID在Fstab中挂载分区
Fstab 文件大家都很熟悉,Linux 在启动的时候通过 fstab 中的信息挂载各个分区,一个典型的分区条目就像这样:
/dev/sdb5 /mnt/usb vfat utf8,umask=0 0 0
/dev/sda4 为需要挂载的分区,sda4 是
Linux
检测硬盘时按顺序给分区的命名,一般来讲,这个名称并不会变化,但是如果你有多块硬盘,硬盘在电脑中的顺序变化的时候,相同的名称可能代表着不同的硬盘分
区,如果你是从 USB 设备启动,与其他 USB 设备的插入顺序也会导致分区识别的困难。
这个时候 UUID 就派上用场了,UUID 全称是 Universally Unique Identifier,也就是说,每个分区有一个唯一的 UUID 值,这样就不会发生分区识别混乱的问题了。
在 fstab 中用 UUID 挂载分区,看起来向这样:
UUID=1234-5678 /mnt/usb vfat utf8,umask=0 0 0
在 UUID= 后面填入分区相应的 UUID 值,就可以正确挂载分区了。
那么,我们如何知道一个分区的 UUID 呢?
有 3 种方法:
1. 通过浏览 /dev/disk/by-uuid/ 下的设备文件信息。
# ls -l /dev/disk/by-uuid/
------
lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5
lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4
.....
2. 通过 vol_id 命令。
# vol_id /dev/sdb5
ID_FS_USAGE=filesystem
ID_FS_TYPE=vfat
ID_FS_VERSION=FAT32
ID_FS_UUID=0909-090B
ID_FS_UUID_ENC=0909-090B
ID_FS_LABEL=SWAP
ID_FS_LABEL_ENC=SWAP
ID_FS_LABEL_SAFE=SWAP
3. 通过 blkid 命令
# blkid /dev/sdb5
/dev/sdb5: LABEL="SWAP" UUID="0909-090B" TYPE="vfat"
通过这三种方法都可以获得分区的 UUID,UUID 依据分区不同,长度和格式都不相同。
Linux自动挂载Windows的分区
先介绍一下如何手工挂载分区:
如果你的分区是这样的:有C盘、D盘,可能还有E盘,且在分区时建了一个扩展分区,(在分区建的逻辑盘的话-如果不清楚这句话,可以不用管它)在linux文件系统中有/mnt/c、/mnt/d、/mnt/e,那么挂载的命令是:
挂载c盘:mount /dev/hda1 /mnt/c
挂载d盘:mount /dev/hda5 /mnt/d
挂载e盘:mount /dev/hda6 /mnt/e
注意:从d盘开始是/dev/hda5.
上面的这三条命令是最基本的mount使用方法。而且文件格式必须是fat、fat32格式.如果是ntfs,那么须增加格式选项:如下,
挂载c盘:mount -t ntfs /dev/hda1 /mnt/c
挂载d盘:mount -t ntfs /dev/hda5 /mnt/d
挂载e盘:mount -t ntfs /dev/hda6 /mnt/e
挂载的分区如果不能正确显示中文文件名的话,加上iohcarset=gb2316,命令变成下面的格式:
挂载c盘:mount /dev/hda1 /mnt/c -o iocharset=gb2312
挂载d盘:mount /dev/hda5 /mnt/d -o iocharset=gb2312
挂载e盘:mount -t ntfs /dev/hda6 /mnt/e -o iocharset=cp936
注意:ntfs格式时的的选项的不同
如果要挂载光驱的话:在/mnt下有一个目录cdrom
挂载光驱:mount -t iso9660 /dev/cdrom /cdrom
如果要挂载iso格式的文件:比如在d盘的目录下有一个xxx.iso文件,在/mnt下有一目录iso的话,
mount -o loop /mnt/d/xxx.iso /mnt/iso
实际上mount还可以做其它的一些事情。如果你已明白了上面的命令,还想看其它的一些功能和选项,在终端下输入:man mount
卸载分区的命令比较简单:
umount /mnt/c
umount /mnt/d
umount /mnt/e
umount /mnt/cdrom
umount /mnt/iso
下面来看一下如何自动挂载的问题:
在/etc目录下有一个文件fstab,在它的文件中加入以下代码:
/dev/hda1 /mnt/c vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/hda5 /mnt/d vfat iocharset=gb2312,umask=0,codepage=936 0 0
/dev/hda6 /mnt/e ntfs ro,exec,umask=0,iocharset=utf8 0 0
这在文件就是实现自动挂载的参数设定。在系统启动时,会自动根据这个文件中的设置,自动挂载你的文件系统。
(上面的应该是不用虚拟机情况下的挂载方法吧,y用虚拟机挂载的方法参考vbox实现数据共享一篇)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/108148/showart_2169617.html |
|