一.起源
自己的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 -o 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 -o 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 -o umask=0000 -o uid=500 -o case_sensitive=false -o nls=gb2312