小弟对硬件不是很熟
目前看书看到mount指令
mount是将档案系统与目录连结起来
但我很好奇的是
硬盘是否在开机之后就自动mount起来了呢?
会有此疑问主要是因为
目录里面本来就有 /dev了
然后书本每次讲到挂载都类似用
/dev/sda 到一个自建目录
例如 /data/xxx
/dev/* 本身不就是目录一部分了吗
干嘛还要挂载到其他目录呢?
作者:
yaurtusn (擎天岗小牛)
2021-12-27 19:48:00从最初的起点发想,操作员将硬盘给挂载到主机联接器上.很早很早的时期的人工动作与沿用至今的拟人化电脑指令
对啊,刚刚看了一下,除了 /dev/下的虚拟硬盘之外,还有一些像是cgroup, tmpfs, devpts...等等..
作者:
bitlife (BIT一生)
2021-12-27 18:37:00其实用个最简单的讲法,你把windows的挂载想成决定给哪个磁盘机编号(在D: ~ Z:中选一个),而linux没有磁盘机编号这种东西,全部就是以/开始的单一颗树,那么相对于windows要选D:~Z:中的其中一个,在linux中你要决定某个目录做为挂载上去的[位置]而那些/dev/xyz 就对应于windows你装上硬盘或随身碟后显示的硬件装置
此目录的资料在系统重启后,会消失,且存取此目录的速度较快有比较清楚了,感谢各位神人解释
mount 实务上更大的意义是透过 high level 的 file system 去存取,否则直接从 /dev 底下只能读到 raw data。你可以想想为什么 image 明明就已经是档案了却还需要mount 过后才能用
作者:
CP64 (( ̄▽ ̄#)﹏﹏)
2021-12-27 15:41:00然后关于这方面的话 其实打 mount 不加任何参数在清单里其实可以看到还有很多目录都是 mount 在不是硬盘的目录上^^^^装置才对 一个打错
作者:
CP64 (( ̄▽ ̄#)﹏﹏)
2021-12-27 15:35:00是啊但是重点是说其实 mount 这个动作只是代表说
作者:
CP64 (( ̄▽ ̄#)﹏﹏)
2021-12-27 15:34:00然后他的驱动就是决定如何操作 kernel 里面的状态这样
/dev/只是单纯找到的硬件如硬盘并不是找到就可以用得切分割区等,格式化成可管理空间透过mount挂载,Windows 也是阿
/dev 里面放一些 device nodes,虽然 rootfs 里面会有东西。不过一般还是挂 devtmpfs 还有 devptsrootfs 是在 initramfs 期间挂起来,其他 fstab 内的由init 帮你挂载
作者:
hizuki (ayaka)
2021-12-27 10:01:00不可以这样理解,device node不是mount上去的,/dev是可以被mount上去,或者静态管理(Android)。/dev下理解为kernel和userspace配合表现设备状况为佳
但目录与装置不是要透过mount连结吗? 还是说其实/dev/里面已经被系统自动挂载到硬盘了呢
作者:
CP64 (( ̄▽ ̄#)﹏﹏)
2021-12-27 16:05:00这个目录的操作会由 tmpfs 这个驱动处理而这个驱动的操作是对内存操作 代表这边的资料关机会消失
作者:
CP64 (( ̄▽ ̄#)﹏﹏)
2021-12-27 15:18:00挂载相当于说把这个目录底下的档案系统操作交给对应的装置而 /dev/ 底下的东西是对应到装置 (eg. /dev/sda1)当你 /dev/sda1 挂到 /mnt/ 底下时是告诉系统说把这个目录底下的读写交给 /dev/sda1然后像 ext4 档案系统驱动就是决定说要怎么在这装置上读写/dev/ 其实也是目录 只是他后面对应的是一个虚拟装置更准确来说那个虚拟装置其实是 kernel
挂载是档案系统的概念,与硬件装置的概念要区分开来在 Unix 档案系统中大部分的东西都会用档案来呈现更正:档案系统 -> 作业系统
作者: roccqqck (ccqq) 2021-12-27 12:17:00
写到/etc/fstab就会开机自动挂
作者: giraffe4527 (鹿) 2021-12-27 11:32:00
那可以cd进/dev下ls -al看,sda那些设备是block档根本不是目录你怎么可能直接读,dev底下的设备只能用parted dd fsck这类针对block的去写
windows实际上也是 \\.\physicaldrive\c\下去读取吧没记错的话
作者:
CP64 (( ̄▽ ̄#)﹏﹏)
2021-12-28 22:34:00是啊 只是他不会把这个路径直接放在档案系统里
把/dev/sda想成A磁盘机,要把它拿来启用就要去硬盘管理工具里面看看它被读到没?有找到他的话就可以按右键新增磁盘区,选个代号A,再快速格式化,就等于在Windows mount好加挂开机可读写了。跟Linux上mount一个硬盘几乎一模一样,一开始记得这个就好,之后就跟捷径一样随便mount一个舒服的资料夹就可以了。
作者:
bitlife (BIT一生)
2021-12-29 05:43:00windows那个是相容于c语言,浏览器的路径表示法,虽然表示成单一树根的型式,但根路径变成\\,然后必须得有磁盘机编号A-Z(拿掉冒号),等于只是把原先分立的A:-Z:的树强行变成子树,实质上还是有A:-Z:的存在,而且A,B专门给软碟,在较早版本中,C还只能是物理上第一个(开机)硬盘
linux档案有分成一般档案和特殊档案,特殊档案有majornumber和minor number,透过这一组数字,可以让程式和硬盘的驱动程式互动,所以sda,sdb或是其他在/dev下的档案代表哪个装置,可以看这一组数字,再来就是每一颗硬盘上的档案系统都是树状的,所以你可以用mount的方式把一颗树挂到原有的小树上,慢慢成一颗大树,也就是完整linux目录结构
作者:
sppmg (sppmg)
2020-01-05 08:55:00虽然上面神人很多了,但我还是说一下。*nix 系统中将任何东西都视为档案(近几年有没有改变我不确定),所以一开机就会辨认到硬盘(区块装置),并被给予 /dev 路径。mount 就像是找人来做翻译,让使用者可以以另一种方式皆由挂载目录来做操作。mount 不一定对真实硬盘,像是iso, 压缩档, 远端储存空间, 多层次叠加空间(unionfs, overlayfs) 都会用到。
作者: roccqqck (ccqq) 2020-01-10 13:15:00
一开始遇到lvm, pv vg lv才是真的搞超乱
作者:
chang0206 (Eric Chang)
2020-01-12 14:01:00推楼上 现在面对LVM也还是很容易就乱了
作者:
yaurtusn (擎天岗小牛)
2020-02-13 11:54:00敝某因时间有限 因清理掉一部PC主机 暂时没空使用linux