我在启动过程中遇到问题,我的系统分区以 /dev/sda 开头,有时以 /dev/sdb 开头,这导致我正在连接的磁盘出现问题
在控制器上,我连接了 5 个驱动器和 1 个用于扩展坞的 esata 端口。系统安装在 SSD 驱动器上 Raid md0 由 4 个驱动器创建。
对于所有其他设备,我在 /etc/fstab 中创建了静态条目
#### Automount for any other devices - experimental
/dev/sdf1 /media/user/HDD1 auto rw,user,noauto 0 0
/dev/sdg1 /media/user/HDD2 auto rw,user,noauto 0 0
/dev/sdh1 /media/user/HDD3 auto rw,user,noauto 0 0
/dev/sdi1 /media/user/HDD4 auto rw,user,noauto 0 0
通常 esata 应该出现在 /dev/sdf 上,但如果系统驱动器将以 /dev/sdb 开头,那么我的其他 raid 设备将移动到新结构 /dev/sdc /dev/sdd /dev/sde 和 /dev/sdf ,这将给我带来了一个问题。
所有其他条目均指定为
/dev/disk/by-uuid/12345678-1234-1234-1234-123456789012 / ext4 ....
我必须做什么来修复它,不幸的是,无法通过 uuid 使用挂载,因为每次我想要插入的磁盘都是不同的。
答案1
为分区/文件系统分配合理的标签并使用它们:
/dev/disk/by-label/my-smartly-labeled-partition...
然后UUID
变得bus ID
有些无关紧要。
答案2
避免使用类似名称,/dev/sda1
因为它们可能会改变。使用分区或文件系统的标识。
您可以使用 UUID 可靠地指定相同的文件系统或交换分区。使用语法UUID=12345678-1234-…
而不是/dev/sda1
in /etc/fstab
。您还可以使用文件名/dev/disk/by-partuuid/12345678-1234-…
。
您还可以在大多数文件系统和交换分区上放置标签。对于 ext2/ext3/ext4 文件系统,使用tune2fs -L
设置标签。对于 msdos/vfat 文件系统,请使用dosfslabel
.对于 btrfs 文件系统,请使用btrfs filesystem label
.对于交换分区,请使用mkswap -L
.您可以/etc/fstab
使用语法指定标签。您还可以使用文件名。LABEL=mylabel
/dev/disk/by-label/mylabel
如果磁盘仅在 Linux 下访问,那么您应该使用 Linux 分区而不是 PC 分区。 PC 分区本身没有标签(分区上的文件系统可能有标签),但 Linux 分区有。 Linux的分区方案称为左心室容量除了可靠的分区命名方案之外,它还提供了许多优点,包括易于调整分区大小、在磁盘之间分割、快照等。使用 LVM,您可以指定一个分区,其中和是您可以选择的两个名称。无法将现有分区转换为 LVM;你应该在安装系统时选择 LVM(任何现代 Linux 发行版都应该支持它)。/dev/mapper/mygroup-myvolume
mygroup
myvolume