Linux 如何在未安装的情况下使用“sda”设备文件?

smw*_*dia 2 filesystems devices architecture block-device

我正在安装 CentOS Linux 发行版。

在分区步骤,CentOS 告诉我它sda在我的机器中检测到一个硬盘,我应该为这个磁盘创建分区并分配挂载点。

但我发现逻辑有点扭曲。我知道 Linux 把所有东西都当作文件,sda通常是代表我的第一个 SATA 硬盘的设备文件。但是由于还没有安装 Linux,所以应该还没有文件系统。那么怎么会有像这样的设备文件sda呢?

有人告诉我“Linux 安装程序也是一个 Linux 操作系统,因此有一个内存文件系统。我的硬盘只是文件系统中的一个小元素”。为什么要这样做?Windows 或其他操作系统是否做同样的事情?

Ola*_*the 5

什么/dev/sda意思

有四个级别:原始磁盘、该磁盘的原始分区、分区上的格式化文件系统以及存储在文件系统中的实际文件。

/dev/sda表示整个磁盘,而不是文件系统。末尾有数字的东西是磁盘分区:dev/sda1是磁盘的第一个分区/dev/sda,它甚至还没有格式化!通过使用其文件系统格式化每个分区,每个文件系统都在自己的分区上。

因此,通常会发生的是,您将分区/dev/sda/dev/sda1用文件系统格式化、将文件系统挂载/dev/sda1到某处,然后开始处理该文件系统上的文件。

为什么要有统一的文件系统

Linux(以及一般的 UNIX)具有虚拟文件系统的概念。它将您所有的真实磁盘组合成一个统一的文件系统。

这非常有用。例如,您可能希望将您的操作系统及其程序放在一个非常快的真实磁盘上,而将所有用户的个人文件放在另一个相当慢但很大的磁盘上,因为您希望操作系统运行速度快,但又想要一种负担得起的方式处理成千上万用户的文件。

与 Windows 中的通常方法不同,默认情况下,Windows 将每个磁盘分成一个单独的字母,并且使用D:\Users可能会破坏一些硬编码路径的程序C:\Users,这可以轻松流畅地完成。您在每个磁盘中格式化一个分区,将操作系统一个安装到一个,/用户安装一个到/home,它就像一个将所有内容放在一个真实磁盘上的系统,除非您获得了您想要的速度和可负担性的权衡。