![什么/dev/sda意思](https://linux22.com/image/85776/%E4%BB%80%E4%B9%88%2Fdev%2Fsda%E6%84%8F%E6%80%9D.png)
我正在安装 CentOS Linux 发行版。
在分区步骤中,CentOS 告诉我它已sda
在我的计算机中检测到 HD,我应该为该磁盘创建分区并分配挂载点。
但我发现逻辑有点扭曲。据我所知,Linux 将所有内容都视为文件,sda
通常是代表我的第一个 SATA 硬盘的设备文件。但由于还没有安装Linux,所以应该还没有文件系统。那么怎么可能有设备文件喜欢sda
?
有人告诉我“Linux 安装程序也是一个 Linux 操作系统,因此有一个内存文件系统。我的硬盘只是文件系统的一小部分”。为什么要这样做? Windows 或其他操作系统也做同样的事情吗?
答案1
什么/dev/sda
意思
有四个级别:原始磁盘、该磁盘的原始分区、分区上的格式化文件系统以及文件系统中存储的实际文件。
/dev/sda
表示整个磁盘,而不是文件系统。末尾有数字的东西是磁盘的分区:dev/sda1
是磁盘的第一个分区/dev/sda
,而且还不一定是格式化的!通过使用其文件系统格式化每个分区,每个文件系统都可以在自己的分区上运行。
因此,通常会发生的情况是,您将使用文件系统进行分区/dev/sda
、格式化,将文件系统安装到某个位置,然后开始处理该文件系统上的文件。/dev/sda1
/dev/sda1
为什么要有统一的文件系统
Linux(以及一般的 UNIX)具有虚拟文件系统的概念。它将所有真实磁盘合并到一个统一的文件系统中。
这可能非常有用。例如,您可能希望将操作系统及其程序放在一个非常快的真实磁盘上,并将所有用户的个人文件放在另一个相当慢但巨大的磁盘上,因为您希望操作系统速度快,但您想要一种经济实惠的方法处理数千名用户的文件。
与 Windows 中的常用方法不同,Windows 中默认将每个磁盘分成一个单独的盘符,并且使用D:\Users
可能会破坏某些对路径进行硬编码的程序C:\Users
,而这可以轻松流畅地完成。您格式化每个磁盘中的一个分区,将操作系统安装到,/
将用户安装到/home
,它的作用就像一个将所有内容都放在一个真实磁盘上的系统,只不过您获得了所需的速度和经济性权衡。
答案2
/dev/sda
指定硬盘。这就是整个磁盘,无论磁盘上存储了什么。如果磁盘是空白的,则直接从工厂出来,/dev/sda
将存在。最好是这样,因为这是系统访问磁盘以在其上创建分区和文件系统的方式。
磁盘通常分为多个分区。如果磁盘上有分区,它们将显示为/dev/sda1
、/dev/sda2
等。再次强调,只要相应的分区存在,该分区的设备文件就存在,无论该分区的内容是什么。如果要在分区上创建文件系统,第一步是创建分区,这将使分区设备出现,然后告诉文件系统创建命令对该分区进行操作。
你的最后一段与问题的其余部分只有轻微的关系。注意这个词“文件系统” 可以表示两种不同的意思:
- Unix 系统看到的所有文件都呈现在一棵树中。这棵树称为“文件系统”。
- 分区中的文件(或通过网络协议等提供服务)的组织方式称为“文件系统”。
“文件系统”代表单个“文件系统”已安装。
Windows 的文件系统的组织方式略有不同:它也具有树结构,但顶层是特殊格式(驱动器号c:
、主机名\\hostname
或其他层次结构,例如\\.
和\\?
)而不是目录。
我们有许多主题更深入地讨论其中一些主题:
答案3
您运行的任何操作系统安装程序都是用某种机器语言编写的可执行文件,因为在您启动系统时没有操作系统。您有一个 BIOS(假设我们谈论的是常规 PC 类机器),BIOS 知道您的 CPU 类型以及 CPU 如何处理外设。然后将 USB 记忆棒或 CD/DVD ROM 放入正确的插槽中。 BIOS 会读取该设备上的一个非常具体的位置,由于缺乏更好的术语,该位置被称为“引导加载程序”。从那时起,一系列级联程序开始运行。其中一个程序负责扫描您的硬件,查找您的磁盘等,并为它们分配正确的名称,例如sda
或sdb
。
通过简单的谷歌搜索,您可以找到有关计算机如何启动以及操作系统安装如何进行的大量信息。网络上有大量的操作方法文档。