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

its*_*ode 4 filesystems partition mount hard-disk

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

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

Kar*_*son 6

您在 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

  • 但是`C:` 不是一个*驱动器*,而是一个驱动器上的*文件系统*——Linux 的等价物是,例如,`/dev/sda1`。驱动器是“/dev/sda”,但基于 DOS 的操作系统没有将原始未分区驱动器作为设备的概念(在 API 之外)。在 BIOS 'API' 中,它们被编号,而不是字母。0x80 (128) 是 BIOS 中的第一个硬盘。`C:` 是驱动器 0x80 上的第一个可读文件系统,依此类推。注意:在 NT 后的 Windows 上,幕后情况大不相同。 (4认同)

Ale*_*ios 5

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

您在轻微(如果非常普遍)的误解下运作,这使您的生活变得比应有的更艰难。

“驱动器C:”本质上是一个 CP/M 术语(CP/M 是一个 8 位操作系统,DOS 大量借用,嗯,借来的)。在软盘时代,“驱动器”和“文件系统”是等价的:要么你的驱动器装有一个只有一个文件系统的软盘,要么它是未格式化的(或空的)。容易建立链接,并认为两者是同义词。

实际上,C:是第一个驱动器上的第一个可读分区。驱动器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)和计算机* * -local程序和数据(下/usr/local/var/opt,等等),以及用户的程序和数据(通常是下/home) .

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

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

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