Unix系统中驱动器的概念是什么?

Unix系统中驱动器的概念是什么?

在Windows中,我们有安装所有软件的C盘和其他分区,例如; D、E等来存储我们的数据。现在,一旦我们由于某种原因重新安装 Windows,我们就会在 C 上再次安装所有内容,并且我们的数据会保持安全,并且可以毫无问题地访问它。

现在在Unix类型的操作系统中,每个用户都有一个主目录(我相信Windows也有类似的东西),我们只能将我们的数据放在系统的那个部分(这是我的想法)。现在如何才能达到windows的效果,用户可以在硬盘的某个部分放置他/她的数据,并在重新安装Unix/Linux系统时回收该数据呢?

答案1

UNIX/Linux 上有各种代表物理驱动器的设备,例如在 Linux 上:

/dev/sda  -  Would designate SCSI drive with ID of 0 or lately more commonly ID:0 on SATA.
/dev/sdb  -  Would be secondary device, etc

Linux 在安装时会询问您将其安装在哪里,您可以指定/dev/sda为操作系统驱动器,如果您选择的话,您也可以指定将格式化和安装的/dev/sdb位置。/home

您将在操作系统驱动器上创建分区,指定一个用于swap/boot/文件系统,这将基本上创建类似的设备,/dev/sda1, 2, 3这些设备将您的系统视为物理设备,并且操作系统可以以目录的形式访问它们。

因此,在此设置中/dev/sda,Windows 相当于C:\驱动器,并且/dev/sdb相当于数据驱动器,无论您选择什么字母名称。

因此,如果您选择重新安装 Linux,您需要注意的是实际上不要重新格式化/dev/sdb或在其上设置的分区,以便驱动程序上的数据保持完整。

现在,如果系统上只有一个驱动器,则可以应用类似的概念,但这将是 Windows 也支持但最常不使用的概念的稍微复杂一点。

答案2

我只是在这里添加一些内容 - 其他人已经回答得更好,但我无法在评论中添加附加信息。

你的工作有一个轻微的(如果很常见的话)误解,这会让你的生活变得比应有的困难一些。

“驱动器C:”本质上是一个 CP/M 术语(CP/M 是一个以 DOS 为主的 8 位操作系统,咳咳,借来的从)。在软盘时代,“驱动器”和“文件系统”是等效的:您的驱动器要么装有一张只有一个文件系统的软盘,要么未格式化(或为空)。很容易建立联系并认为两者是同义词。

事实上,C:它是第一个驱动器上的第一个可读分区。 Drives D:E:F:是同一磁盘驱动器或其他驱动器上的其他文件系统。可移动设备是一个例外,您可以使用特殊软件(例如FORMATFDISK)对其进行寻址。

原始驱动器并未在 DOS 中直接向用户公开,这一传统至今仍然存在。您只能看到使用特殊软件的物理驱动器(或者它们是可移动设备,如 DVD 驱动器)。

此驱动器号 → 分区范例作为“森林”数据结构工作。每个字母都是一组中的一棵独立的树。它看起来是这样的:

  • 驱动器 128(第一个硬盘驱动器 - 对您来说不可见)
    • 分区1,C:
    • 下的文件和文件夹C:\*
    • 分区 2,D:
    • 下的文件和文件夹D:\*
  • 驱动器 129(第二个硬盘驱动器 — 也是不可见的)
    • 分区3,E:
    • 下的文件和文件夹E:\*
  • 驱动器 2(某种可移动介质驱动器)
    • 盘符F:
    • (如果驱动器中有格式化介质)下的文件和文件夹F:\*

Unix 文件系统作为一棵树运行。一个分区是树的根(因此称为该术语),其他分区是已安装(嫁接)在其下方的“安装点”上,并成为同一文件树的一部分。这是它的简化视图(注意单根):

  • 根文件系统 ( /)
    • 共享内容 ( /usr)
    • 当地的东西 ( /usr/local)
    • 用户的主目录 ( /usr)
    • 更多当地美食 ( /var)
    • 更多当地的东西 ( /opt)
    • 已安装的设备(/mnt— 这是可移动设备按照惯例所在的位置)

回答你的问题:Unix总是将程序和数据分开(不是必须的,但经验表明这是一个非常好的主意,现在目录结构已经标准化)。它还分隔(对于通过网络共享安装的计算机)网络-共享程序和数据(在 下/usr)和计算机*-本地* 程序和数据(在/usr/local/var/opt等下),以及用户程序和数据(通常在 下/home)。

您可以选择忽略这些区别,或者将其中一些(或全部)目录放在单独的文件系统中(想想“驱动器号”)。

如果您希望能够重新安装 Unix 并保留自己的文件,请确保将其/home安装为单独的文件系统(单独的分区),并指示新操作系统安装程序在安装时不要触及该分区。

我们还使用相同的技巧使我们的主目录可用于同一台计算机上的多个 Linux 发行版(例如,如果我们正在测试它们),或者完全不同的 Unices。我曾经在同一个磁盘上运行 OpenBSD、FreeBSD 和 Linux,并且/home在这三个磁盘之间共享相同的文件系统。

答案3

在 UNIX 上,所有文件都呈现在单个层次结构下。要使卷(磁盘或分区)上的文件可访问,该卷是已安装在文件层次结构中的某个位置,即在目录中。

包含操作系统(或至少是操作系统的关键部分)的文件系统安装在目录/,即根目录上。该文件系统称为根文件系统。

将用户数据存储在单独的卷中是相当常见的。该卷安装在/home.如果您需要此配置,请/home在安装系统时请求一个单独的分区(大多数安装程序都可以轻松完成此操作)。

不同设计选择的历史原因是,unix 在设计时考虑了固定磁盘和多用户系统,而 Windows 继承了 DOS(以及之前的 CP/M)的这一方面,后者在仅使用软盘的计算机上运行。在 UNIX 系统上添加或删除磁盘或移动数据是由系统管理员执行的;如果更改磁盘组织会更改访问文件的路径,那将会很痛苦。在仅包含软盘的系统上,了解文件所在的驱动器非常重要,因此类似的路径a:myfile.txt很有意义。

也可以看看Linux 中挂载设备是什么意思?典型的 Linux 系统上存在哪些挂载点?

答案4

快点:

“挂载”的概念:http://fosswire.com/post/2007/04/unix-fundamentals-mount-points/

Linux目录(或文件夹)结构:http://www.thegeekstuff.com/2010/09/linux-file-system-struct/

我确信其他人会提出更好、更详细的答案,但这可能会有所帮助。

更具体地回答你的问题,当你安装Linux系统时,你可能想创建一个额外的分区并将其挂载到/home文件夹中。这样,当有人向该/home文件夹(或其任何子文件夹)写入内容时,它将存储在所述额外分区中。

欢迎来到Linux!

相关内容