2.Linux下,不像Windows可以有C,D,E,多个目录,Linux只有一个根目录/。在装系统时,我们分配给linux的所有区都在/下的某个位置,比如/home等等。
3.提问者插入了新硬盘,分了新磁盘区sdb1。它现在还不属于/。
4.我们虽然可以在一些图形桌面系统里找到他的位置,浏览管理里面的文件,但在命令行却不知怎么访问它的目录,比如无法使用cd或者ls。也无法在编程时指定一个目录对它 *** 作。
5.这时提问者使用了 mount /dev/sdb1 ~/Share/ ,把新硬盘的区sdb1挂载到工作目录的~/Share/文件夹下,之后访问这个~/Share/文件夹就相当于访问这个硬盘2的sdb1分区了。对/Share/的任何 *** 作,都相当于对sdb1里文件的 *** 作。
6.所以Linux下,mount挂载的作用,就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。
7.linux *** 作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。
8.我们不是有/dev/sdb1 吗,直接对它 *** 作不就行了?这不是它的目录吗?
9.这不是它的目录。虽然/dev是个目录,但/dev/sdb1不是目录。可以发现ls/dev/sdb1无法执行。/dev/sdb1,是一个类似指针的东西,指向这个分区的原始数据块。mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们 *** 作。
10.插入CD,系统其实自动执行了 mount /dev/cdrom /media/cdrom。所以可以直接在/media/cdrom中对CD中的内容进行管理。
Linux下手动设置Windows磁盘挂载点
我的笔记本是同时装了Linux系统和Windows系统。Linux系统启动后,Windows磁盘就会自动挂载在/media目录下,而且挂载点的名称又长又难记。例如,windows系统C盘挂载后名称变为FE6C0C5C6C0C1257。如果windows系统总共有好几个盘,那么挂载后,就是一堆字符串,很难分辨到底各自对应哪个盘。于是,我决定手动修改磁盘挂载点。
首先,执行命令“sudo fdisk -l”,显示系统存在的各个磁盘分区信息如下所示:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2150 17269843 7 HPFS/NTFS
/dev/sda2 2151 14593 99948367 5 Extended
/dev/sda5 2151 4802 21302158+ 7 HPFS/NTFS
/dev/sda6 7414 14593 57673318+ 7 HPFS/NTFS
/dev/sda7 4803 5051 1998848 82 Linux swap / Solaris
/dev/sda8 5052 7413 18971648 83 Linux
由于我的windows系统总共有3个盘:C盘,D盘,E盘,且都是NTFS格式,所以“/dev/sda1”应该对应C盘,“/dev/sda5”应该对应D盘,“/dev/sda6”应该对应E盘。C盘是windows *** 作系统,一般不需要访问。只需要重新挂载D盘和E盘即可。于是我使用mkdir命令在"/home/cary"(cary为我的用户名)目录下创建了programFiles和myDocuments两个目录分别作为D盘和E盘的挂载点(实际上这两个目录的名字是可以随意命名的)。
执行“sudo gedit /etc/fstab”打开fstab文件。参照文件中提示的格式,在文件最后添加下面两行语句:
/dev/sda5 /home/cary/programFiles ntfs defaults,user,rw 0 0
/dev/sda6 /home/cary/myDocuments ntfs defaults,user,rw 0 0
保存该文件后,先执行"sudo umount -a"命令卸载各磁盘,再执行“sudo mount -a”重新挂载所有磁盘。则D盘和E盘就都挂载在指定路径下了。通过“~/programFiles”和“~/myDocuments”两个路径就能访问。
下面对fstab文件作简单介绍。
文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount /directoryname命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。
fstab文件格式示例如下:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道 (a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。
fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。
fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的`常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。
fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。其他常见的选项包括:rw 以读写模式加载该文件系统;user 允许普通用户加载该文件系统。
fs_dump - 该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)