对 /etc/fstab 与 /dev 内容的疑问(在 Ubuntu 10.10 下)

对 /etc/fstab 与 /dev 内容的疑问(在 Ubuntu 10.10 下)

我有一个问题:当我打开 /etc/fstab 文件时,我看到以下内容:

proc            /proc           proc  nodev,noexec,nosuid 0       0
/dev/sdb1       /               ext4  errors=remount-ro   0       1   UUID=adf08252-b173-4679-a162-5786aa43eaf9
none            swap            sw                        0       0

好的。如果我理解正确的话,这些是在操作系统一开始就安装的。但是,当我进入 /dev 时,我没有任何 sdb1,只有 sda、sda1、sda2 和 sda5。

当我执行 sudo fdisk -l 时,我发现:

Device Boot      Start         End  Blocks    Id  System
/dev/sda1   *    1           14212  114149376 83  Linux
/dev/sda2        14212       14594  3068929    5  Extended
/dev/sda5        14212       14594  3068928   82  Linux swap / Solaris

如果我运行 mount,我会得到这个(以及更多的东西,但我相信这对这个问题来说很重要):

/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)

所以,我的问题是:为什么在 /etc/fstab 中我有 sdb1,而它在 mount 和 fdisk 中都没有出现?

谢谢 :)

附言:如果有推荐阅读材料来理解所有与此相关的内容,我将不胜感激。

答案1

/dev/sdb1正在用于交换空间。运行“mount”时不会显示交换。这在逻辑上是合理的,因为它只是内核使用的原始空间 - 那里没有实际的文件系统供操作系统显示给您。

如果您的话,您应该会看到它列出cat /proc/swaps

您的 fdisk 命令不会显示来自 sdb 的任何内容,因为默认情况下它显示 中列出的设备/proc/partitions。运行此命令以列出 上的分区/dev/sdb

sudo /sbin/fdisk -l /dev/sdb

一般来说,检查/var/log/dmesg可以让您很好地了解磁盘设备在您的系统上是如何配置和初始化的。

答案2

如果我没看错的话,您的根文件系统在 fstab 中列为 sdb1,但实际上似乎是 sda1?您的磁盘可能在某个时候交换了顺序,或者在安装过程中有一个 CD 播放器,后来您删除了它?

无论如何,根设备通常不会从 fstab 中读取。它是在您的引导加载程序中配置的:请参阅 /boot/grub/menu.lst 文件。这里的根设备通常像这样给出:“root (hd0,0)”。磁盘 0 在某种程度上只是“第一个”磁盘。当内核启动时,它必须从某个地方读取启动内容:那就是根文件系统。在正常情况下,该文件系统被启动系统“采用”,因此不会因命名问题而混淆。

相关内容