linux – / dev / sda和/ dev / sda1之间的区别

我知道/ dev / sda是​​原始设备,而/ dev / sda1是分区或虚拟设备.

但是我有点困惑为什么sda#只在某些时候出现,或者只出现在某些系统上.是什么导致这种情况发生?也许sda#驱动器没有出现的时候是未分区的时候?或者它可能在硬件上不一样?

为什么我可以同时安装? (有时)分区不应该是可安装的分区吗?

您可以提供的任何资源或颜色将不胜感激.先感谢您.

解决方法

在现代系统上,只有分区实际存在时才会出现分区设备.

在具有MBR分区表的磁盘上,分区号1到4对应于分区表中的四个插槽,称为“主”分区.它们不必按顺序填充,因此例如可以使用sda2而不是sda1.分区号5和向上对应于扩展分区中的“逻辑驱动器”,并且它们总是按顺序编号,因此如果没有sda5,则不能拥有sda6.

在具有GPT分区表的磁盘上,可以有更多(通常最多128个)分区,并且所有分区都是“主要”.例如,你可以有一个磁盘,其唯一的分区是sda9.

如果磁盘没有分区表,那么它当然没有分区设备.

较旧的系统 – 那些使用静态/ dev而不是udev管理的系统 – 通常会为所有可能的分区号设置设备节点,而不管分区是否实际存在. (当然,尝试打开不存在的分区的设备文件会失败.)

可以放弃分区并将文件系统直接放在磁盘上.挂载块设备时,文件系统驱动程序通常会在设备开头的预定偏移处查找超级块,并且由于分区的开头不是磁盘本身的开头,因此分区中的文件系统的超级块位于磁盘上的不同位置,而不是“整个磁盘”设备上创建的文件系统的超级块.

因此,如果磁盘曾经只有一个文件系统,然后它被分区并且文件系统是在一个分区中创建的,那么旧的超级块可能仍然在那里,例如在第一个分区开始之前的小间隙中.所以磁盘似乎在原始磁盘设备和分区设备上都有一个文件系统,因为无论你尝试安装哪一个,当文件系统驱动程序寻找超级块时它会找到一个.

然而,安装和使用两个文件系统实际上并不安全,因为它们在磁盘上重叠.一个人可能拥有重要的簿记数据,另一个人认为是自由空间.这就是为什么最好将块设备的开头归零,删除任何不需要的超级块,当你想要将原始磁盘更改为分区磁盘,反之亦然,或者更改分区上使用的文件系统类型等时. .

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...