开始研究linux也有一段时间了,这个礼拜研究了好几天终于搞清楚怎么在运行的系统中在添加一块新硬盘,我觉得这个挺重要的因为现在硬盘几乎都快成为一种消耗品了。而且我觉得可以贯穿我这段时间一直关注的一些个基础的知识点拿来这里总结一下。 (我是用我自己安装的虚拟机上练习的) 第一步:给虚拟机新添加一块硬盘如下图 选择SCSI硬盘大小我设置为200MB,之后启动虚拟机。 第二部:查看新增加的硬盘的磁盘文件名使用fsdisk -l 这条命令就可以看到所有的磁盘(其实插上u盘也是这个步骤)如下图: 最下面这个还没有分区的 Disk /dev/sdd :213MB这个就是我新插上的硬盘这条命令其实也是为了确定这个目录 第三部:分区,这一步也不是必须的你也可以不分区将整个磁盘全部格式化但是为了效果我还是分区吧。还是用fdisk这条命令如下图

输入m就可以看到所有的帮助了(因为还不够熟练所有记不住我每次练习都先输入m) 你可以先输入一个p把这个磁盘的一些信息先打印出来研究一下 这里我觉得比较重要的我觉得应该是第一行和第二行,第一行就不说了一看就知道。第二行的意思是有64个磁头管理着磁盘,每个磁头管32个扇面一共有204个磁柱。这是一个知识点要了解一些硬盘的硬件结构还有就是204那个数字要知道 按n添加一个新分区如下图 e和p这两个选项我觉得这是另外一个知识点(要了解主分区为什么是1-4,扩展分区和逻辑分区这些概念)在这里我新建一个主分区 Partition number:这里我输入1 First cylinder (1-204, default 1): 这里那个204就出来了,直接Enter我用默认的就是从1开始 Last cylinder, +cylinders or +size{K,M,G} (1-204, default 204): 50这里我写了个50随便写的不超过范围就行也可以用+XXK\M\G来限定大小创建也可以这一行里都写着呢,之后我在创建一个扩展分区因为逻辑分区是在扩展分区上建立的因此我就把剩下的全部都分给了扩展分区如下图 可以在输入p来看一下你刚做的工作 在分逻辑分区输入n在输入l我就只分一个吧这个就比较简单了可以根据自己的需要来分结果如下图 从上面的图中应该也有两地方我觉得也是知识点 1、为什么逻辑分区要从sdd5开始 2、sdd5的开始和结束磁柱为什么是一样的 这样分区还没有结束如果你要保存就输入w取消就q我们按w. 第四部:格式化用mkfs。将你分出来的区分别进行格式化如下图 我看了一下这里有几个很重要但是我也不知道怎么修改知道的可以在后边评论里能给我指点一下最好 1、“Filesystem label=”这个好像是磁盘的一个标签名可以有个命令能修改但是我忘记什么命令了 2、Block size=1024 (log=0)我也没设置什么参数应该是4k我的这个为什么是1K是跟硬盘设的太小有关系吗? 其他的好像应该就没什么疑问了 第五部:挂载---挂载很重要如果不挂载也没法使用这个就不多絮叨了谁都知道。 用df就看到挂载成功了。就可以使用这块硬盘了这里还一个说明就是作为挂载点的目录应该是个空目录,我在这里是新建了一个目录 第五部:通过第四部是可以使用了但是如果重新启动后这个挂载信息就会消失还要重新挂载因此要想永久生效就要写入/etc/fstab这个文件中去先来查看一下这个文件 可以看到所有开机后自动挂载的信息这里的每一列代表了什么都要清楚 其中比较有意思的是这个UUID怎么能知道你的磁盘的UUID呢这就要用到dumpe2fs

这里就东西太多了不止是UUID还有inode数量、大小block数量、大小等等很多信息我本来想仿照/etc/fstab前面的那样用UUID来进行的但是有点长就没用。 修改。仿照上面的几行在/etc/fstab中加入如下一行“/dev/sdd5 /hard/sd5 ext4 defaults 0 0” 之后一定要检查一下这个文件的语法,如果这个文件出错了那系统一定启动不了因为我就弄坏了好几次。后来才知道检查语法也很简单只要修改完毕之后用“mount -a”这条命令就可以了但是要注意用这条命令前要先把这个ssd5如果挂载了先卸载这样基本上就完成了。

===========2018年5月5日 添加修改================== 今天又学到一个新的查看命令blkid我上面说的查看UUID的方法有点复杂了这个就很简单输入blkid就可以全部看到了。 [root@MY-LINEX-TEST1 ~]# blkid
/dev/sda1: UUID="e40304ce-b5d9-4a9f-a916-095776918b4d" TYPE="ext4" /dev/sda2: UUID="27d24b09-f10c-4c79-9260-f7f5c37ead72" TYPE="swap" /dev/sda3: UUID="ff747539-13e3-4d43-b87c-fdc40c9388e3" TYPE="ext4" /dev/sdc5: UUID="b84f8f8d-fe08-4980-8c20-ccbf94155ab9" TYPE="ext4" /dev/sdc6: UUID="a9f780c9-74eb-4d9a-a8b4-0c807bd50cba" TYPE="ext4" /dev/sdd1: UUID="18942604-ef14-4fc9-84d9-d55301d9a99e" TYPE="ext4" /dev/sdd5: UUID="0040e6bd-fac3-4a92-b3dd-493b1fcdc588" TYPE="ext4" 这个就相对好点吧应该。 blkid - command-line utility to locate/print block device attributes 好像意思是命令行工具来查看块设备属性 ======2018年5月14日添加修改==================== 1)上面的有一个问题是当用fdisk /dev/sdd来分区结束后linux系统内核是不知道你修改了分区表的因此要执行[root@MY-LINEX-TEST1 ~]# partprobe /dev/sdd这条命令这个指令就是告诉内核分区表有变化了。如果不用这条命令那么就要重新启动系统了。【因为fdisk其实就是修改了硬盘中的0磁柱0磁道1扇区那里的64字节的分区表的内容和内核是无关的】