C++ 技术中心

   :: 首页 :: 联系 ::  :: 管理
  160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

公告

郑重声明:本BLOG所发表的原创文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者(天空)和出处(CppBlog.com)。作者Email:coder@luckcoder.com

留言簿(27)

搜索

  •  

最新随笔

最新评论

评论排行榜

 一.起源
    自己的T400上装windows7用了一段时间,发现经常卡,特别是那个IE8,平时我喜欢装上杂七杂八的软件。
可能软件装太多,系统自启动的程序也太多,不用的软件都挂在后台,占用了大量的CPU与内存资源。所以
心血来潮,准备以后用fedora系统了。不过最主要的原因是由于自己的工作转向了windows平台的开发,担心
多年积累的linux 知识给忘掉了。所以我的个人电脑上以后都用fedora了。因为我装的是双系统。我划了30G
的分区给fedora14。其他的windows 分区还是保留着的。在feodra下,是可以直接访问windows的ntfs分区。
       但是每次在fedora点击进入windows分区时,经常要输入root密码。这是因为当你点击windows分区的图标时
做了类似的mount命令,这个命令只有root才有权限。  这样每次用起来就不大方便了(其实我还有另一个不大
方便的原因,这里就不告诉你了,哈哈)。
      今天我们的核心问题是如何在fedora 启动时就挂载好了windows分区。

二.其中的一个方法
   1. 这里介绍一下mount命令。比如,我要挂载一个分区。可以用以下命令看到:
       cd /dev
       ls 

      我这里可以有看到sda1,sda2,sda3..,这就是所谓的分区。假设我挂载sda5分区,挂载到/media/Install目录,
      命令如下:
       mkdir /media/Install/
       mount 
/dev/sda5 /media/Install/ -t ntfs -umask=0000 -o uid=500 -o case_sensitive=false -o nls=gb2312
      先创建一个/media/Install目录,把sda5分区,挂载到这个Install目录下。
   2.我们来看看,这些参数:
      -t代表要挂载的分区格式,这里是ntfs
     -o umask=000表示:这个大家可以了解一下chmod,chmod的含义是可以拥用的权限。但是umask正好相反,
                                    表示不可以有某权限。在linux下权限可以表示为:rwxrwxrwx,有三组rwx,分别代表
                                    拥用者权限,所属组权限,其他用户权限。rwx分别代表可读,可写,可执行。rwx值为
                                    4,2,1。然后如果只有可读可执行,那么就是4+1=5. 假设用chmod表示一个拥有者,
                                    所属组,其他用户拥用可读可写不可执行。那么值为770,而对应的umask应该是000。
                                    所以这里的umask=007表示任何用户都有权限读写但不能执行。
    -o uid=500表示:挂载文件的归属用户。uid可以在/etc/passwd文件中查看
   -o case_sensitive=false表示:希望Linux对于NTFS卷具有和Windows相同的表现,那么就应将case_sensitive选项设
                                              置为false。将选项设置为true将使驱动具有和Linux类似的表现(默认设置)
   -o nls=gb2312表示:决定字符是如何被显示的

  3. 现在知道了命令的使用,如何让系统启动的时候运行该命令呢。可以执行以下命令
     先切换到root用户下
su - root

    然后
vi /etc/rc.d/rc.local

    在文件尾加入:
      mount /dev/sda5 /media/Install/ -t ntfs -umask=0000 -o uid=500 -o case_sensitive=false -o nls=gb2312
   注意:先在/media下建立Install目录。

三.这样挂载是有问题的。这是为什么呢。因为这里挂载的sda5假设对应的是windows下的D盘。但也有可能变成E盘。这是
    因为
装置档案名称有时会因为 BIOS 的设定或插入次序而改变,引起混乱。所以,必须用一个唯一可以标识的值来标识,那
   就是UUID。当然UUID其实也是可以人为更改的。注意以下命令都要在root下运行:
   1. 查看分区的UUID
blkid -s UUID


df   #df命令可以查看的所有的已经挂载的分区

   2. 改变UUID
设定 UUID 可以使用命令「tune2fs -U UUID 装置档案」:

tune2fs -U 51f7e9a4-5154-4e29-a7a6-208417290b85 /dev/sda

-U 的参数如果为 random 表示直接产生一个随意的新 UUID:


tune2fs -U random /dev/sda

-U 的参数如果为 time 表示直接依当前时间产生一个新的 UUID:

tune2fs -U time /dev/sda1

-U 的参数如果为 clear 表示清除档案系统的 UUID:

tune2fs -U clear /dev/sda1

  3.那么我可以修改上面的mount命令,使用以下:
 
mount -U 26A41C22A41BF353 /media/Install/ -t ntfs -umask=0000 -o uid=500 -o case_sensitive=false -o nls=gb2312






posted on 2011-04-10 12:00 C++技术中心 阅读(2252) 评论(0)  编辑 收藏 引用 所属分类: Linux 操作

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理