甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

刚开始在ubuntu18上管理硬盘,这不是一件轻松的工作。主要是因为有windows的习惯性思维在阻挡,我所熟悉的盘符没有了,取而代之的是分区命名、分区文件、目录映射等等概念。不仅如此,又说目录也是文件、分区也是文件、分区又可以映射到目录文件中去。(说实话,回想当初,那时还真是让我非常蒙圈!)

但这并不是Linux系统故意的,Linux的设计思想的精髓之一便是“一切皆是文件”。和 Windows 系统不同,Linux 系统没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。

这里摘一点linux高手的网文,它是“一切皆是文件”的非常到位并且易懂的解释:

  • 通常在windows中是文件的东西,们在linux中也是文件。
  • 一些在windows中不是文件的东西,,如进程、磁盘也被抽象成了文件。你可以使用访问文件的方法访问它们获得信息。
  • 一些很离谱的东西,比如管道、/dev/zero(一个可以读出无限个0的文件) /dev/null(一个重定向进去之后就消失了的文件), 它们也是文件。
  • 类似于socket这样的东西, 使用的接口跟文件接口也是一致的。

带来的好处就是:你可以使用同一套api(read, write)和工具(cat , 重定向, 管道)来处理unix中大多数的资源。这就使得组合了简单的命令和字符处理工具(awk, sed)之后, shell脚本就能发挥出强大的功能。

我在这里只是打个伏笔,并不打算延伸这个话题,只记录我使用ubuntu18之初面临的各种问题和粗浅实用的解决办法。

甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

我的500G串口硬盘分区

在前文说过,为了能顺利把我的500G 2.5寸笔记本机械式硬盘运行在我的ubuntu18系统上,我便查阅了相当多的资料,所以有了前《甩掉windows(八):认识Ubuntu18的硬盘和分区、GParted分区操作》和本文的开头。

1 gparted对硬盘进行分区操作

这个过程在上一篇记录中已经讲过了,也有一个U盘分区的动画参考。这里就略过。

2 文件管理器挂载硬盘分区

前面的图片中,我在gparted工具中把这个500G的硬盘分成三个区。在gparted中可以看到这三个分区信息,在文件管理器如果想读写这三个分区的话,必须点击加载这三个分区才行(点击加载后桌面上会有这三个分区的图标)。每次系统重启后,至少要在文件管理器点击加载一下。这样非常麻烦。

甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

看看在文件管理器中点击挂载这3个分区后,ubuntu做了什么。

甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

ubuntu在“/media/nvie-yeguoya/”目录下创建了三个目录:009899CF310F0555、109563EB60489E23 和1394A846DBFCC97。这三个目录分别映射到分区:sda1、sda5和sda6。

其实这个过程相当于手工挂载。但这挂载的名字啊,全是数字,也太难看了吧!哦,事实证明,这三个目录名并不是随机捏造的,而是大名鼎鼎的UUID。

~$ sudo lsblk | grep sd

sda 8:0 0 465.8G 0 disk

├─sda1 8:1 0 100G 0 part /media/nvie-yeguoya/009899CF310F0555

├─sda5 8:5 0 200G 0 part /media/nvie-yeguoya/109563EB60489E23

└─sda6 8:6 0 165.8G 0 part /media/nvie-yeguoya/11394A846DBFCC97

这里用UUID的意思是,防止随机生成一样的目录名字。(关于UUID的概念,可以网上查看,这里不多说。)

3 手工挂载硬盘分区

~$ sudo mkdir /media/nvie-yeguoya/500g-master

~$ sudo mkdir /media/nvie-yeguoya/500g-slave

~$ sudo mkdir /media/nvie-yeguoya/500g-third

~$ sudo mount /dev/sda1 /media/nvie-yeguoya/500g-master

~$ sudo mount /dev/sda5 /media/nvie-yeguoya/500g-slave

~$ sudo mount /dev/sda6 /media/nvie-yeguoya/500g-third

甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

图上的可能看不清楚,下面把上图中的命令行和结果摘出来:

~$ ls /media/nvie-yeguoya/

500g-master 500g-slave 500g-third

~$ ls /media/nvie-yeguoya/500g-master/

d-disk e-Disk 'System Volume Information' T emp

~$ ls /media/nvie-yeguoya/500g-third/

Music study 'System Volume Information' Tools ToolSoft ToolSystem

手工挂载硬盘分区,比用文件管理器还麻烦。但好处还是有的,至少分区名字意思明了,在SHELL中可以方便的访问挂载的硬盘。

4 永久挂载

谁愿意每次系统重启后都要来一遍手工挂载操作呢!即使用文件管理器来帮忙半自动挂载,也是非常不方便的。一个常用的硬盘分区,本就就该开机就位的。下面的步骤就可以做到永久挂载,就像windows一样,分区创建格式化了就一直可用。

列出我的500G串口机械硬盘的UUID,以及对应的分号号。

~$ sudo blkid | grep sd

/dev/sda1: UUID="009899CF310F0555" ...

/dev/sda5: UUID="109563EB60489E23" ...

/dev/sda6: UUID="11394A846DBFCC97" ...

修改分区配置文件fstab

/etc/fstab 文件负责配置Linux开机时自动挂载的分区,某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,linux是无法使用新建的分区的。磁盘分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作,而fstab正是负责这一配置。

~$ sudo gedit /etc/fstab

在这个配置文件的结尾添加:

UUID=009899CF310F0555 /media/nvie-yeguoya/500g-master ntfs defaults 0 0

UUID=109563EB60489E23 /media/nvie-yeguoya/500g-slave ntfs defaults 0 0

UUID=11394A846DBFCC97 /media/nvie-yeguoya/500g-third ntfs defaults 0 0

重启ubuntu系统,下面就是重启后的界面,可以看到500G硬盘的三个分区已经被自动挂载好了。

甩掉windows(八):续,在ubuntu18分区管理我的500G串口机械硬盘

要注意的是,fstab文件是非常重要的系统配置文件,如果一不心小配置错了!哼哼,再重启可是要吃闭门羹的:ubuntu提示错误,无法进入图形界面。

比如,我之前就把“UUID=009899CF310F0555 /media/nvie-yeguoya/500g-master ntfs defaults 0 0”配置中的“UUID=”省略了,结果系统无法正常重启。

一个良好的习惯是对fstab文件进行测试,比如我出现了上面所说的错误,执行"sudo mount -a"来试着挂载fstab文件中所有的分区。

~$ sudo mount -a

ntfs-3g: Failed to access volume '009899CF310F0555': 没有那个文件或目录

如果"sudo mount -a"没有提示错误,就说明“/etc/fstab”这个配置是正确的。如果有错误,再去查找原因。如果找不到错误在哪里,请一定要恢复原有的内容,要不然会遇到重启失败的情形。


分享到:


相關文章: